He podido visulaizar un reporte en Crystal con el código que aparece en una de las publicaciones, mi pregunta es como puede darle a Crystal el nombre de usuario y la contraseña para que acceda a la Base de Datos de donde va a extraer los datos para el reporte en Crystal?????
Actualizacion: 25 de Marzo de 2010 16:43
Encontré una solución, bastante rápido. Bueno lo que hace es recorrer las tablas del reporte y luego me permite esportar el reporte a pdf o a rpt.
Public Sub Form_Load()
Dim crystalApp As New CRAXDRT.Application
Dim crxTable As CRAXDRT.DatabaseTable
Dim crystalReport As CRAXDRT.Report
Set crystalReport = crystalApp.OpenReport(App.Path & "\report_name.rpt")
crystalReport.DiscardSavedData
'Pone el DNS para todas las tablas en un BD
On Error GoTo BadCrystalConnection
For Each crxTable In crystalReport.Database.Tables
crxTable.ConnectionProperties.DeleteAll
crxTable.ConnectionProperties.Add "DSN", "CONTROLACCESO"
crxTable.ConnectionProperties.Add "Database", "ACCESSCONTROL"
crxTable.ConnectionProperties.Add "User ID", "sa"
crxTable.ConnectionProperties.Add "Password", "sistemas"
'Unsure why this is required but without it there is an error message saying that tables cannot be found
crxTable.Location = crxTable.Location
Next crxTable
On Error GoTo 0
crystalReport.Export
Exit Sub
BadCrystalConnection:
MsgBox "El DNS de conexión para Crystal es invalido"
End Sub
Ahora la necesidad es que no me pida activar cuenta con Outlook y que al guardar el archivo en pdf, cierre el formulario que hace este proceso.
Actualización: 6 de Abril de 2010Solucionado por completo, antes lo que hacia era llamar un formulario desde el formulario main y al exportar el reporte quedaba el formulario 2 cargado y no se podia descargar de ninguna manera, lo solucioné no llamando un formulario nuevo sino desde el formulario del main exporté el reporte.Para solucionar lo del Outlook. Cuando lo ejecutaba aparecia un error que decia:"No hay ningún cliente de correo predeterminado o el cliente actual no puede procesar la solicitud de mensajeria...", la solución es: desde el Internet Explorer ir a Herramientas - Opciones de Internet - Programas - Correo Electrónico poner Microsoft Office Outlook, y ya esta no sale más el mensaje.Si tienen alguna solución alternativa es bien recibida.
Agradezco sus comentarios.

0 comentarios:
Publicar un comentario
Gracias por el aporte.