Crystal Report - Conectar con Crystal desde VB.NET

 
Vista:

Conectar con Crystal desde VB.NET

Publicado por Damian (11 intervenciones) el 13/01/2009 16:27:29
Tengo un problema con un reporte que ya lo realice desde Crystal XI y ahora lo quiero mostrar desde VB.NET, pero lo que no se es como llamar a la coneccion de SQL Server Express que yo tengo, lo intente de hacer con ...Database.LogOnServer.......pero me tira error "Referencia a objeto no establecida como instancia de un objeto", ademas el primer parametro no entiendo porque es que se pone una dll, la vi en otros foro y por eso puse esa.
Database tiene otros metodos para cargar la conexion pero no se cual usar(LogOffServer,LogOnServer,LogOnServerEx) no se que cambia uno de otros, o diganme otra forma de conectarme, para poder traer mi reporte, aca les dejo el codigo.Gracias.

Private crApp As New CRAXDDRT.Application
Private crReport As New CRAXDDRT.Report
Dim Reporte As New FCrystal
Dim lPath As String = "C:Documents and SettingsBocaMisdocumentosVBConstruccionGamatConstruccionReportes"

crReport.Database.LogOnServer("p2ssql.dll", ".SQLEXPRESS", "Construccion")
crReport = crApp.OpenReport(lPath & "Informe1.rpt", 1)
Reporte.CR.SelectionFormula = "{Facturacion.IDfact}=" & Val(lblComp.Text)
Reporte.CR.ReportSource = crReport
Reporte.CR.Refresh()
Reporte.CR.Show()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Conectar con Crystal desde VB.NET

Publicado por Cristian (1 intervención) el 12/03/2011 17:02:38
Hola te paso un ejemplo espero te funcione

Private Mi_Reporte As New ReportDocument

Private Sub ConfigureCrystalReports()
Dim reportPath As String = Server.MapPath("CryRptCobranzat.rpt")
Mi_Reporte = New ReportDocument()
Mi_Reporte.Load(reportPath)

Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()

myConnectionInfo.ServerName = ".\SQLEXPRESS"
myConnectionInfo.DatabaseName = "BD"
myConnectionInfo.UserID = "user"
myConnectionInfo.Password = "pasw"

SetDBLogonForReport(myConnectionInfo, Mi_Reporte)

With CRVW_detcorgdelearning
.ReportSource = Mi_Reporte
.SelectionFormula = "{TC_RUTAS_HM.rut_id_num} = 14"
.RefreshReport()
End With

End Sub

Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
Dim myTables As Tables = myReportDocument.Database.Tables

For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTable.ApplyLogOnInfo(myTableLogonInfo)
Next
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub



Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
ConfigureCrystalReports()
End Sub


Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
Mi_Reporte.Close()
Mi_Reporte.Dispose()
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar