• Domingo 22 de Diciembre de 2024, 12:59

Autor Tema:  Crystal Reports 8.5 y SQL2000 conexión  (Leído 4291 veces)

Dieguinho..

  • Miembro activo
  • **
  • Mensajes: 43
    • Ver Perfil
Crystal Reports 8.5 y SQL2000 conexión
« en: Viernes 17 de Junio de 2011, 21:23 »
0
Buenos días, espero me puedan dar una mano con lo siguiente,

Tengo un proyecto armado que utiliza reportes de Crystal 8.0 enlazados a SQL (a cada .rpt se le pasaban los parameterfields necesarios) que deben salir a PDF.
Actualmente para eso, convierte los reportes en un formato tipo word (RTF) y despues los imprime por medio de una impresora virtual (PDF Creator) que los exporta a PDF.

Ahora lo que quiero hacer es realizar el pasaje a PDF directamente y por medio del crystal. Tengo entendido que la versión 8.5 se puede hacer, de hecho lo hice pero con un reporte de prueba y sin datos. Pero no consigo hacer la conexión al SQL y pasarle los parámetros.

Este es el código que se usa para abrir los reportes en crystal 8.0

Código: Visual Basic
  1. CrystalReport1.Connect = "DSN=.........."
  2. CrystalReport1.ParameterFields(1) = "parametro 1"
  3. CrystalReport1.ParameterFields(2) = "parametro 2"
  4. CrystalReport1.ParameterFields(3) = "parametro 3"
  5. CrystalReport1.ParameterFields(4) = "parametro 4"
  6. CrystalReport1.PrintFileType = crptRTF                          'acá se pasa a WORD (crptRTF)
  7. CrystalReport1.PrintFileName = "nombre del archivo.rtf"
  8. CrystalReport1.Action = 1
  9.  
  10.  

y este el código que utilizao para abrir el reporte que usé de ejemplo en crystal 8.5 y que me sale en PDF
Código: Visual Basic
  1.  
  2.   Dim appl As New CRAXDRT.Application
  3.     Dim rep As New CRAXDRT.Report
  4.  
  5.     Set rep = appl.OpenReport("d:prueba.rpt", 1)
  6.     rep.ExportOptions.DiskFileName = "d:prueba.pdf"
  7.     rep.ExportOptions.DestinationType = crEDTDiskFile
  8.     rep.ExportOptions.FormatType = crEFTPortableDocFormat
  9.     rep.Export False
  10.  
  11.  
 
la pregunta sería, como le paso la conexión al crystal 8.5? (los parametros vi que se pasan igual que la versión anterior).
o alguno tiene un código que haya usado con esta versión como para que lo use de base?
Saludos!!

Dieguinho..

  • Miembro activo
  • **
  • Mensajes: 43
    • Ver Perfil
Crystal Reports 8.5 + Server has not yet been opened
« Respuesta #1 en: Lunes 27 de Junio de 2011, 17:29 »
0
buenas,

bueno, sigo con este tema de los reportes hechos en crystal 8.5.
Ahora estoy trabado en lo siguiente. Tengo un reporte .rpt en donde el mismo reporte tiene armada una conexion al sql y a su vez apunta a una vista. Entiendo que el reporte funciona bien porque si presiono el boton 'Refresh' me pide unos parámetros y muestra los datos de manera correcta.

lo que necesito es ese mismo reporte abrirlo por código para generar una salida a PDF y lo estoy haciendo así:
Código: Visual Basic
  1. Dim crxApp As CRAXDRT.Application
  2. Dim crxReport As CRAXDRT.Report
  3. Set crxApp = New CRAXDRT.Application
  4. Set crxReport = crxApp.OpenReport("D:Report1.rpt", 1)
  5.  
  6. crxReport.ExportOptions.DiskFileName = "D:prueba.pdf"
  7. crxReport.ExportOptions.DestinationType = crEDTDiskFile
  8. crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
  9. crxReport.Export False
  10.  
de esta manera me sale un error que dice "Server has not yet been opened".
les suena? tienen idea que puedo hacer? me falta algo en el código?
yo estuve probando algunas cosa que vi en la web pero todavía no consigo dar con la respuesta justa, por lo que agradezco de antemano cualquier ayuda.
Saludos!

Dieguinho..

  • Miembro activo
  • **
  • Mensajes: 43
    • Ver Perfil
Re: Crystal Reports 8.5 y SQL2000 conexión
« Respuesta #2 en: Lunes 27 de Junio de 2011, 17:53 »
0
parece que ya encontré la solución, me faltó agregar la parte del SetLogOnInfo...
ahi va el código

Código: Visual Basic
  1. Private Sub Form_Load()
  2.  
  3. Dim crxApp As CRAXDRT.Application
  4. Dim crxReport As CRAXDRT.Report
  5. Dim crxTable As CRAXDRT.DatabaseTable
  6.  
  7. Set crxApp = New CRAXDRT.Application
  8. Set crxReport = crxApp.OpenReport("D:Report1.rpt", 1)
  9.  
  10. For Each crxTable In crxReport.Database.Tables
  11.     crxTable.SetLogOnInfo "nombreBD", "nombreBD", "user", "pass"
  12. Next
  13.  
  14. crxReport.ExportOptions.DiskFileName = "D:prueba.pdf"
  15. crxReport.ExportOptions.DestinationType = crEDTDiskFile
  16. crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
  17. crxReport.Export False
  18.  
  19. End Sub
  20.  

saludos!