Visual Basic - Adocodigo

Life is soft - evento anual de software empresarial
 
Vista:

Adocodigo

Publicado por mercedes (3 intervenciones) el 05/05/2006 18:56:06
bueno como dije quiero que el progrma q estoy haciendo se ejecute varias veces el progrma realiza lo q tine q ejecutar es decir tiene dos caja de textos en las q se ingresa las fechas de inicio y limite un intervalo de fechas por las cuales sera analizada una base la tabla ........ de la base de datos luego de cumplir con este intervalo de fechas pongo como condicion q cumpla con el requisito de que un campo numero de documento sea igual al valor q es ingresado por el usuario cumpliendo estas dos condiciones creo un tabla temporal la cual es llenada con los datos q cumplen ambas condiciones aqui les doy el codigo fuente. el problem es q ejecuta pero para hacerlo ejecutar otra vez otro intervalo de fecha y otro numero de documento tengo q depurarlo y ejecutar devuelta ya q si elijo otra vez el botn buscar q es el encargado de ejecutar estas funciones no lo hace y el datagrid me lo pone en blanco (este data grid esta conectado con la tabla temporal)
GENERAL DECLARACIONES
Dim CN As Connection
Dim DISPOSITIVOS As Recordset
Dim INSTITUTO As Recordset
Dim EVENTO As Recordset
Dim DOCUMENTO As Recordset
Dim T_NDOC As Recordset

Private Sub cmdbusca_Click()
Screen.MousePointer = vbHourglass
Set CT = New ADODB.Connection
CT.Open "dsn=BUSCA"
CT.Execute "delete from NDOC"
CT.Close
Set CT = Nothing

Set T_NDOC = New Recordset

T_NDOC.Open "select * from NDOC", CN, adOpenDynamic, adLockOptimistic

With DISPOSITIVOS
Do While Not .EOF

If Not IsNull(!NMDLC_FECH_DOC) Then
If DateSerial(Year(Text1.Text), Month(Text1.Text), Day(Text1.Text)) <= DateSerial(Year(!NMDLC_FECH_DOC), Month(!NMDLC_FECH_DOC), Day(!NMDLC_FECH_DOC)) And DateSerial(Year(!NMDLC_FECH_DOC), Month(!NMDLC_FECH_DOC), Day(!NMDLC_FECH_DOC)) <= DateSerial(Year(Text2.Text), Month(Text2.Text), Day(Text2.Text)) Then
If Not IsNull(!NMDLC_NRO_DOC) Then
If !NMDLC_NRO_DOC = TXTBUSQUEDA.Text Then
With T_NDOC
.AddNew
!CODIGO = DISPOSITIVOS.Fields("NMDLC_CODIGO")
!N_DOCUMENTO = DISPOSITIVOS.Fields("NMDLC_NRO_DOC")
!F_DOCUMENTO = DISPOSITIVOS.Fields("NMDLC_FECH_DOC")
!DETALLE = DISPOSITIVOS.Fields("NMDLC_DETALLE")
!PDF = DISPOSITIVOS.Fields("NMDLC_PDF")

If Not IsNull(DISPOSITIVOS.Fields("NMDLC_INSTITUTO")) Then
INSTI = "NTIN_CODIGO= '" & DISPOSITIVOS.Fields("NMDLC_INSTITUTO") & "'"
With INSTITUTO
.MoveFirst
.Find INSTI
If Not .EOF Then
T_NDOC.Fields("INSTITUTO") = !NTIN_DESCCORTA
End If
End With
End If


If Not IsNull(DISPOSITIVOS.Fields("NMDLC_TIPO_DOC")) Then
DOC = "NTDC_CODIGO= '" & DISPOSITIVOS.Fields("NMDLC_TIPO_DOC") & "'"
With DOCUMENTO
.MoveFirst
.Find DOC
If Not .EOF Then
T_NDOC.Fields("DOCUMENTO") = !NTDC_DESCCORTA
End If
End With
End If



If Not IsNull(DISPOSITIVOS.Fields("NMDLC_EVENTO")) Then
EVEN = "NTEV_CODIGO= '" & DISPOSITIVOS.Fields("NMDLC_EVENTO") & "'"
With EVENTO
.MoveFirst
.Find EVEN
If Not .EOF Then
T_NDOC.Fields("EVENTOS") = !NTEV_DESCRIPCION
End If
End With
End If


.Update
End With
End If
End If
End If
End If

.MoveNext
If .EOF Then
Exit Do
End If
Loop
End With

Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1.Recordset
DataGrid1.Enabled = True
Screen.MousePointer = vbDefault
Form1.Refresh

If MsgBox("desea imprimir el Informe", vbYesNo, "Usuario") = 6 Then
With Form1.CrystalReport1
.WindowTitle = "Repote de totales"
.WindowState = crptMaximized
.ReportFileName = App.Path & "\DOCUMENTO.rpt"
.PrintReport
End With

Else

Form5.Show
End If


End Sub

Private Sub Command4_Click()
Text1.Text = ""
Text2.Text = ""
DataCombo1.BoundText = ""
End Sub

Private Sub DataCombo1_Click(Area As Integer)
a = DataCombo1.BoundText
Label3.Caption = a
End Sub

Private Sub Command1_Click()
Call RunFile(txtllama, App.Path, 1)
txtllama.Text = App.Path & "\" & IIf(IsNull(Adodc1.Recordset.Fields("PDF")), "", Adodc1.Recordset.Fields("PDF"))
End Sub

Private Sub Form_Load()

Set CN = New Connection
CN.CursorLocation = adUseClient
CN.Open "provider= microsoft ole db provider for odbc drivers; data source=BUSCA"

Set DISPOSITIVOS = New Recordset
DISPOSITIVOS.Open "select * from NM_DISPO_LEGAL_CAB ", CN, adOpenDynamic, adLockBatchOptimistic

Set INSTITUTO = New Recordset
INSTITUTO.Open "select * from NT_INSTITUTOS ", CN, adOpenDynamic, adLockBatchOptimistic

Set EVENTO = New Recordset
EVENTO.Open "select * from NT_EVENTOS ", CN, adOpenDynamic, adLockBatchOptimistic

Set DOCUMENTO = New Recordset
DOCUMENTO.Open "select * from NT_DOCUMENTOS", CN, adOpenDynamic, adLockBatchOptimistic

Text1.Text = Format(Date, "dd/mm/yy")
Text2.Text = Format(Date, "dd/mm/yy")
Adodc1.Enabled = False

End Sub
rOGARIA HA ALGUIEN Q ME AYUDE CON ESTO CREO Q TIEN Q VER CON EL HECHO Q AL CARGAR EL FORMULARIO HABRO LAS TABLAS PRICIPAL Y SUS ANEXOS POR ESO PUEDE SER PERO YA INTENTE ,NESECITO AYUDA PORFAVOR SI ALGUIEN ME PUEDE ORIENTAR EN ESTO SE LO AGRADECERE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Adocodigo

Publicado por Sebastián (25 intervenciones) el 09/05/2006 12:19:13
Hace ya tiempo que no programo, pero creo que puedes pensar en esto. Si no he entendido mal utilizas una tabla como yo denomino "puente", que sólo la utilizas en la consulta no? Pues lo que tienes que hacer cuando termines la consulta es borrarla. Quizás te valga esta opción. Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar