Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
VB 6.0 crystal report 8 y MySql
Enviado por claudio el día 22 de junio de 2004
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 & "\informesprueba\apellidos.rpt"
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
que tal, alguien sabra como conectar crystal report a mysql sin usar DSN (ODBC) desde el sistema Visual Basic conecto con un string sin necesitad de crear un dsn pero no logro hacer lo mismo con el reporte ...
Re: Re: Fijate -Como conectarse sin necesidad de DNS
Enviado por locke el día 14 de diciembre de 2004
strReport = StrPathReport & "RptLisArtCli.rpt"
Set Crystal = New CRAXDRT.Application 'MANAGES REPORTS
Set Report = Crystal.OpenReport(strReport) 'OPEN OUR REPORT
For Each CrystalTabla In Report.Database.Tables
'Tengo que conectar cada tabla con la BD
CrystalTabla.ConnectionProperties("Data Source").Value = StrServidor 'Nombre del servidor sqlserver
CrystalTabla.ConnectionProperties("Initial Catalog").Value = StrCatalogo 'Nombre de la BD
Next CrystalTabla
'asigno la variable report
Report.DiscardSavedData
Report.VerifyOnEveryPrint = True
Report.Database.Verify
Report.PerformGroupingOnServer = True
Enviado por federman el día 28 de noviembre de 2004
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.
Ese problema se cuando el query que le envias a Crystal contiene campos que ya no existen en la tabla o vista original que se uso para crear el reporte, verifica primero eso, luego no hay ningun problema.
Este problema no es solo debido alo mencionado arriba es ams yo venog lidiando ocn el hace rato, y llevo un dearrolllo atrasadisimo debido a el que despues de 14 años de carrera me ahce sentir un perfecto inuti, bueno mas alla de esta apreciacion personal, por ejemplo en mi maquina desde el vb corre perfecto desde el exe tambien pero cuando la instalo en el cleinte salta el problema, por lo que veo tiene que ver con la instalacion y el odbc una buena es entrar al odbc de la maquina donde se instala activar el trace generar el error y trapear el mismo en el log. ya que en verdad el hecho es que el odbc devuelve un error y el vb lo muestra con ese mensaje, caberia pensar que hay algun error en el llamdo de vb. pero su fuera asi como puede que en una maquina funcione y en otra no ??les dejo este link que me parecio interesante y mañana pienso leerlo enel trabajo y trapear el error a ver si logro decularlo. suerte a todos http://www.macoratti.net/crys_err.htm
Re: Re: Re: Re: Re: Re: VB 6.0 crystal report 8 y MySql
Enviado por rosy el día 5 de noviembre de 2005
hola disculpen la molestia pero es que estoy desarrollando un proyecto en PHP con MYSQL y necesito imprimir los datos capturados en un formulario de PHP a un formato predeterminado, pero la verdad no tengo idea de como realizarlo.
podrian ayudarme por favor????????
es de vida o muerte.
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.
bueno, chamos yo pase por todo eso y consegui la solucion barbara, primero creen los reportes en crystal, pero usando ADO no los odbc porque en los clientes dan problemas, cuando el crystal les pida la conexion hagan click en "Mas origines de datos" , seleccionen Active Data y luego "active data ADO", les saldran dos combos para conectarse uno es odbc y el otro es la cadena de conexion, para quienes quieren conectarse con mysql la conexion es esta "driver=mysql odbc 3.51 driver;server=SERVIDOR;database=BDD;user=USUARIO;pwd=CLAVE;option=16905, tomando en cuenta que para hacer esto deben tener instalado el mysql odbc connector, bajenlo de la pagina de mysql si no lo tienen. ahora, para verlos con vb6 deben poner un crystalviewer en el formulario, escriban algo como esto:
Screen.MousePointer = 11
Dim AP As New CRAXDRT.Application
Dim re As New CRAXDRT.Report
Set re = AP.OpenReport(App.Path & "\" & Rep)
' esto es suponiendo que tienen dos tablas en el reporte y
'dos recordset (iguales a las tablas en cruystal) con los datos actualizados en vb6
If Sql1 <> "" Then re.Database.Tables(1).SetDataSource CON1
If Sql2 <> "" Then re.Database.Tables(2).SetDataSource CON2
'y ahora esto
frm.crv.ReportSource = re
frm.Caption = Titulo
frm.Show
frm.crv.ViewReport
y listo
Screen.MousePointer = 0
, ahora bien yo he trabajado bien con estos programas crystal vb6 y mysql pero hay que tener en cuenta que mysql es libre pero los demas no y entre los libres y los otros no se llevan muy bien a veces, en la cadena de conexion la opcion 16905 es para arreglar un proble de mysql con crystal, que las los valores varchar vienen recortados, pero ahora me salio otro problema pero esta ves es con la version 5 de mysql, los campos de tipo time en mysql 5 simplemente no se ven en crystal report, ayudenme buscando la solucion ya que yo les di una saludos a todos y suerte...
bueno, chamos yo pase por todo eso y consegui la solucion barbara, primero creen los reportes en crystal, pero usando ADO no los odbc porque en los clientes dan problemas, cuando el crystal les pida la conexion hagan click en "Mas origines de datos" , seleccionen Active Data y luego "active data ADO", les saldran dos combos para conectarse uno es odbc y el otro es la cadena de conexion, para quienes quieren conectarse con mysql la conexion es esta "driver=mysql odbc 3.51 driver;server=SERVIDOR;database=BDD;user=USUARIO;pwd=CLAVE;option=16905, tomando en cuenta que para hacer esto deben tener instalado el mysql odbc connector, bajenlo de la pagina de mysql si no lo tienen. ahora, para verlos con vb6 deben poner un crystalviewer en el formulario, escriban algo como esto:
Screen.MousePointer = 11
Dim AP As New CRAXDRT.Application
Dim re As New CRAXDRT.Report
Set re = AP.OpenReport(App.Path & "\" & Rep)
' esto es suponiendo que tienen dos tablas en el reporte y
'dos recordset (iguales a las tablas en cruystal) con los datos actualizados en vb6
If Sql1 <> "" Then re.Database.Tables(1).SetDataSource CON1
If Sql2 <> "" Then re.Database.Tables(2).SetDataSource CON2
'y ahora esto
frm.crv.ReportSource = re
frm.Caption = Titulo
frm.Show
frm.crv.ViewReport
y listo
Screen.MousePointer = 0
Enviado por Raul Corro el día 19 de noviembre de 2007
Mi problema consiste en que tengo los resportes ya creados, y cuando los llamo desde .Net, no puedo conectarme a la base de datos en Oracle, ya que el reporte pierde la conexion, alguien podría ayudarme?