jueves, 25 de marzo de 2010

Pregunta

Tengo esta pregunta hace varios días, ojala alguien que pase por el blog la pueda responder.

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 2010

Solucionado 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.

 

Sample text

Sample Text

Sample text