Pregunta: | 7504 - CONECTARSE A CRYSTAL 7 DESDE VB 6 USANDO ADO |
Autor: | Antonio |
Alguien sabe como conectar dinámicamente un control Crystal 7 a SQL 7 en VB 6 sin ODBCs, es decir usando una cadena de conexión? me han dicho que el control crystal soporta ADO....
Espero que alguien que tuviese codigo para hacer esto o conoce del tema, me pueda ayudar... Gracias y Saludos. |
Respuesta: | Mauricio Solano G. |
Hola amigo. La forma en que lo hago es un poco larga pero muy útil.
Creas el reporte en Crystal. Luego puedes invocarlo desde VB en un sub. Algo así: 'rpt es el nombre del ActiveX de Crystal With rpt .Connect = TuObjetoDeBaseDeDatos.ConnectionString .ReportFileName = App.Path & "\Reporte.rpt" .WindowTitle = "El título que quieras" .SelectionFormula = SQL 'SQL es una variable string que 'contiene un SQL que quisieras 'para restringir la información que quieres 'mostrar en el reporte. 'Las siguientes 5 líneas son sobre la ubicación del preview del informe .WindowLeft = 1 .Destination = 0 .WindowTop = 2 .WindowWidth = 790 .WindowHeight = 560 'Ejecuta el reporte .Action = 1 End With La idea principal es que Connect = BaseDeDatos.ConnectionString te proporciona una conexión dinámica al poder cambiar la dirección de la base de datos cuando lo desees. Yo personalmente me conecto a la base de datos mediante un archivo DSN, el cual me facilita también cambiar la dirección del servidor sin afectar el ejecutable. Espero te sirva de algo. |
Respuesta: | Guillermo Molina |
para utilizar ADO con crystal tenes que utilizar que definir los reportes como active data (solamente definiciones de campos). es otro concepto y no vas a poder ver el preview de ellos pero es más rapido para la impresion en el sitio de seagate software hay ejemplos de ellos si no los encontras escribime y te los mando |