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
