VB 6.0 crystal report 8 y MySql
Estimados, tengo un peque帽o problema, necesito realizar reportes para una aplicaci贸n, pero al mandar los parametros me sale el siguiente error en MDIForm1.CrystalReport1.Action = 1
("error 20534 en tiempo de ejecuci贸n: error detected by database dll"),utilizo conexi贸n por odbc y el c贸digo que utilizo es el sgt:
Dim PathString As String
Dim stIntervalo As String
Dim viForm As Integer
PathString = App.Path
proconsulta = "select * from apellidos where apellido = ' " + Text1 + " ' "
MDIForm1.CrystalReport1.SQLQuery = proconsulta
stIntervalo = " ' " + Text1 + " ' "
MDIForm1.CrystalReport1.ReportFileName = PathString & "informespruebaapellidos.rpt"
MDIForm1.CrystalReport1.WindowState = crptMaximized
MDIForm1.CrystalReport1.Destination = crptToWindow
MDIForm1.CrystalReport1.DiscardSavedData = True
MDIForm1.CrystalReport1.RetrieveDataFiles
MDIForm1.CrystalReport1.Action = 1
Me.MousePointer = 0
("error 20534 en tiempo de ejecuci贸n: error detected by database dll"),utilizo conexi贸n por odbc y el c贸digo que utilizo es el sgt:
Dim PathString As String
Dim stIntervalo As String
Dim viForm As Integer
PathString = App.Path
proconsulta = "select * from apellidos where apellido = ' " + Text1 + " ' "
MDIForm1.CrystalReport1.SQLQuery = proconsulta
stIntervalo = " ' " + Text1 + " ' "
MDIForm1.CrystalReport1.ReportFileName = PathString & "informespruebaapellidos.rpt"
MDIForm1.CrystalReport1.WindowState = crptMaximized
MDIForm1.CrystalReport1.Destination = crptToWindow
MDIForm1.CrystalReport1.DiscardSavedData = True
MDIForm1.CrystalReport1.RetrieveDataFiles
MDIForm1.CrystalReport1.Action = 1
Me.MousePointer = 0
SI resolvio el problema o hay alguien mas interesado en el tema contactenme para intercambiar informacion.... me encuentro desarrollando un proyecto utilizando estas herramientas... gracias
fijte agregandole Text1.Text, o sea enviale el texto y no el objeto Text1, o uniendo el string con & y no con +
amigo no quisieras hecharme una mano, estoy intentando enviar datos a un reporte en linea, realmente quiesiera recibir una ayuda, se que fue hace mucho tiempo que trabajastes en esto, pero me urge una ayuda.
ESTIMADO AMIGO, YO HICE UNA PEQUE脩A APLICACION EN VB. CRYSTA Y MYSQL, FUNCIONA PERFECTAMENTE. TE ACONSEJO PRIMERO DISE脩AR EL REPORTE DESDE EL CRYSTAL CONECTANDOLO A LAS TABLAS ODBC, CIERTO!!!, LUEGO VINCULAS O AMARRAS LAS TABLAS COMO EN ACCES, COLOCAS LOS CAMPOS QUE VAS A IMPRIMIR EN EL REPORTE POR ULTIMO DESDE VB. EN VEZ DE UTILIZAR CrystalReport1.SQLQuery UTILIZA CrystalReport1.SELECTIONFORMULA=PARAMETRO Y LISTO FILTRAS LAS INFORMACION.
Podrias pasarme el codigo y demas como ejemplo? te lo agradeceria mucho.
Gracias
Gracias
Hola amigos, el problema que tienes no tiene nada que ver con tu MySql, en realidad es con el VB6 y un conflicto con el Crystal Report, sobre todo si tienes instalado el SP3 del VB.
La solucion es sencilla, captura el error algo asi:
if err.number = 20534 then
rep.action = 1 'reenvia nuevamente el reporte
end if
si deseas mas detalle te doy un link para que profundizes en el tema y exactamente que es lo que sucede...pero te digo no es el MySql y esta mas feo que una patada en los huevos.
http://support.businessobjects.com/library/kbase/articles/c2009179.asp
La solucion es sencilla, captura el error algo asi:
if err.number = 20534 then
rep.action = 1 'reenvia nuevamente el reporte
end if
si deseas mas detalle te doy un link para que profundizes en el tema y exactamente que es lo que sucede...pero te digo no es el MySql y esta mas feo que una patada en los huevos.
http://support.businessobjects.com/library/kbase/articles/c2009179.asp
sReporte = App.Path & "\Rep.rpt"
Set crReport = crApp.OpenReport(sReporte, 1)
crReport.RecordSelectionFormula = "{Juntos.Usuario} = \'Juanito\'"
\'crReport.RecordSelectionFormula = "{Juntos.Usuario} = \'" & cmbUser.Text & "\'"
CRViewer1.ReportSource = crReport
CRViewer1.ViewReport
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Para Utiliar el RecordSelectionFormula, desde CR ve al menu:
Informe-> Editar Formula de Selecci贸n->Registro
En la pantalla que te aparece, teclea una formula como la sig.
{Juntos.Usuario} = "Pepito"
Esta formula tambien es valida
{Personal.Ingresos} > 5400.00
De esta manera desde VB6 puedes utiliar la linea:
crReport.RecordSelectionFormula = "{Juntos.Usuario} = \'Juanito\'"
y pasarle el parametro que tu quieres.
Set crReport = crApp.OpenReport(sReporte, 1)
crReport.RecordSelectionFormula = "{Juntos.Usuario} = \'Juanito\'"
\'crReport.RecordSelectionFormula = "{Juntos.Usuario} = \'" & cmbUser.Text & "\'"
CRViewer1.ReportSource = crReport
CRViewer1.ViewReport
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Para Utiliar el RecordSelectionFormula, desde CR ve al menu:
Informe-> Editar Formula de Selecci贸n->Registro
En la pantalla que te aparece, teclea una formula como la sig.
{Juntos.Usuario} = "Pepito"
Esta formula tambien es valida
{Personal.Ingresos} > 5400.00
De esta manera desde VB6 puedes utiliar la linea:
crReport.RecordSelectionFormula = "{Juntos.Usuario} = \'Juanito\'"
y pasarle el parametro que tu quieres.
Hola colega , la verdad ypo tengo el mismo problema , quisiera saber si tu lo resolviste.
Saludos
Saludos
