Un problema con Crystal Report 9 y VB6
He instalado el CR9, al igual ya cree el reporte, pero a la hora de generarlo desde VB6, solo la primera vez que mando a generar el Reporte me muestra todos los registros, en las siguientes veces que genero el informe, o manda los registros anteriores o ya no me manda ningún registro, tengo que hacer click en el botón actualizar en varias ocasiones para que me muestre los registros correctos, o en su caso cerrar completamente la Aplicación y abrirla de nuevo y así sucesivamente, ya desactive la opción "Sabe Data With Report" del menu "File", la base esta hecha en MS Access 2000, si alguien me pudiera ayudar se lo agradecería mucho.
Les mando mi código
Primer Formulario:
Private Sub cmbImprimir_Click()
'Verificar la integridad de la informacion
If cboOperador.Text = "" Then
giValorventana = MsgBox(gsUsuario & ", elige un nombre de operador.", vbCritical, gsSystemname & ": Falta Informacion")
cboOperador.SetFocus
Exit Sub
End If
'Fin Verificar la integridad de la informacion
Screen.MousePointer = 11
gsCriterio = "SELECT * FROM rptLiqope"
Set recInformes = dbsFormatos.OpenRecordset(gsCriterio)
If recInformes.RecordCount > 0 Then
recInformes.MoveFirst
While Not recInformes.EOF
recInformes.Delete
recInformes.MoveNext
Wend
End If
y = 1
gsCriterio = "SELECT * FROM Liquidaciones WHERE Noper = '" & cboOperador.Text & "' ORDER BY Fliq ASC"
Set recOperadores = dbsOperaciones.OpenRecordset(gsCriterio)
If recOperadores.RecordCount > 0 Then
recOperadores.MoveFirst
While Not recOperadores.EOF
recInformes.AddNew
recInformes.Fields("dbNumpar") = y
recInformes.Fields("dbNumliq") = recOperadores.Fields("NLIQ")
recInformes.Fields("dbFecliq") = recOperadores.Fields("FLIQ")
recInformes.Fields("dbSueope") = recOperadores.Fields("dbTotsue")
recInformes.Fields("dbMonliq") = recOperadores.Fields("Pneta")
recInformes.Fields("dbEstliq") = recOperadores.Fields("ESTATUS")
recInformes.Update
y = y + 1
recOperadores.MoveNext
Wend
recOperadores.MoveFirst
ElseIf recOperadores.RecordCount <= 0 Then
End If
recOperadores.Close
recInformes.Close
Screen.MousePointer = 0
Call frmImpresion.Show
End Sub
Segundo Formulario
Dim Cra As New CRAXDRT.Application
Dim Report As CRAXDRT.Report
Private Sub Form_Load()
Set Report = Cra.OpenReport("C:\Documents and Settings\MIGUELANGEL\Mis documentos\Mi Codigo Fuente\Visual Basic\Ej access 2000 y cr9\rptLiqope.rpt", 1)
CRViewer91.ReportSource = Report
CRViewer91.Refresh
CRViewer91.ViewReport
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
Les mando mi código
Primer Formulario:
Private Sub cmbImprimir_Click()
'Verificar la integridad de la informacion
If cboOperador.Text = "" Then
giValorventana = MsgBox(gsUsuario & ", elige un nombre de operador.", vbCritical, gsSystemname & ": Falta Informacion")
cboOperador.SetFocus
Exit Sub
End If
'Fin Verificar la integridad de la informacion
Screen.MousePointer = 11
gsCriterio = "SELECT * FROM rptLiqope"
Set recInformes = dbsFormatos.OpenRecordset(gsCriterio)
If recInformes.RecordCount > 0 Then
recInformes.MoveFirst
While Not recInformes.EOF
recInformes.Delete
recInformes.MoveNext
Wend
End If
y = 1
gsCriterio = "SELECT * FROM Liquidaciones WHERE Noper = '" & cboOperador.Text & "' ORDER BY Fliq ASC"
Set recOperadores = dbsOperaciones.OpenRecordset(gsCriterio)
If recOperadores.RecordCount > 0 Then
recOperadores.MoveFirst
While Not recOperadores.EOF
recInformes.AddNew
recInformes.Fields("dbNumpar") = y
recInformes.Fields("dbNumliq") = recOperadores.Fields("NLIQ")
recInformes.Fields("dbFecliq") = recOperadores.Fields("FLIQ")
recInformes.Fields("dbSueope") = recOperadores.Fields("dbTotsue")
recInformes.Fields("dbMonliq") = recOperadores.Fields("Pneta")
recInformes.Fields("dbEstliq") = recOperadores.Fields("ESTATUS")
recInformes.Update
y = y + 1
recOperadores.MoveNext
Wend
recOperadores.MoveFirst
ElseIf recOperadores.RecordCount <= 0 Then
End If
recOperadores.Close
recInformes.Close
Screen.MousePointer = 0
Call frmImpresion.Show
End Sub
Segundo Formulario
Dim Cra As New CRAXDRT.Application
Dim Report As CRAXDRT.Report
Private Sub Form_Load()
Set Report = Cra.OpenReport("C:\Documents and Settings\MIGUELANGEL\Mis documentos\Mi Codigo Fuente\Visual Basic\Ej access 2000 y cr9\rptLiqope.rpt", 1)
CRViewer91.ReportSource = Report
CRViewer91.Refresh
CRViewer91.ViewReport
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
1 Respuesta
Respuesta de krinker
1