cambiar BD desde VB para un .RPT
Publicado por Sergio (48 intervenciones) el 13/09/2006 22:02:24
Hola. Alguien podria ayudarme ? Yo ya hice un report con crystal a partir de una BD Access utilizando una conexion OLE DB dentro de crystal. SI ejecuto el report dentro de crystal funciona todo bien, pero yo quisiera dentro de VB cambiar la ubicacion de la DB que defini dentro de crystal.
este es el codigo:
==================
Dim crApp As New CRAXDRT.Application
Dim crReport As New CRAXDRT.Report
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
Dim crDb As CRAXDRT.Database
On Error GoTo ErrHandler
Screen.MousePointer = vbHourglass
Set crReport = crApp.OpenReport(App.Path & "\ImportRe1.rpt", 1)
Set crReport.Database = Cnx ' me sale un error diciendo que el objeto no soporta esta propiedad
Set crParamDefs = crReport.ParameterFields
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "nomfichierxml"
crParamDef.AddCurrentValue (FichierXML)
Case "nombretotalreleves"
crParamDef.AddCurrentValue (CStr(RecordsRead))
End Select
Next
CRViewer.ReportSource = crReport
CRViewer.DisplayGroupTree = False
CRViewer.ViewReport
Me.WindowState = vbMaximized
Screen.MousePointer = vbDefault
Exit Sub
ErrHandler:
If Err.Number = -2147206461 Then
MsgBox "Fichier .RPT inexistant", vbCritical, "Message"
Else
MsgBox Err.Number & " " & Err.Description, vbCritical + vbOKOnly
End If
Screen.MousePointer = vbDefault
End
=================
cnx: es la conexion que defini en VB:
Set Cnx = New ADODB.Connection
With Cnx
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = " & App.Path & "\dbaux.mdb"
.Open
End With
=================
la conexion esta bien lo unico que no se es como cambiar la BD desde VB para el rpt.... Alguien podria ayudarme ?
Gracias...
este es el codigo:
==================
Dim crApp As New CRAXDRT.Application
Dim crReport As New CRAXDRT.Report
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
Dim crDb As CRAXDRT.Database
On Error GoTo ErrHandler
Screen.MousePointer = vbHourglass
Set crReport = crApp.OpenReport(App.Path & "\ImportRe1.rpt", 1)
Set crReport.Database = Cnx ' me sale un error diciendo que el objeto no soporta esta propiedad
Set crParamDefs = crReport.ParameterFields
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "nomfichierxml"
crParamDef.AddCurrentValue (FichierXML)
Case "nombretotalreleves"
crParamDef.AddCurrentValue (CStr(RecordsRead))
End Select
Next
CRViewer.ReportSource = crReport
CRViewer.DisplayGroupTree = False
CRViewer.ViewReport
Me.WindowState = vbMaximized
Screen.MousePointer = vbDefault
Exit Sub
ErrHandler:
If Err.Number = -2147206461 Then
MsgBox "Fichier .RPT inexistant", vbCritical, "Message"
Else
MsgBox Err.Number & " " & Err.Description, vbCritical + vbOKOnly
End If
Screen.MousePointer = vbDefault
End
=================
cnx: es la conexion que defini en VB:
Set Cnx = New ADODB.Connection
With Cnx
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = " & App.Path & "\dbaux.mdb"
.Open
End With
=================
la conexion esta bien lo unico que no se es como cambiar la BD desde VB para el rpt.... Alguien podria ayudarme ?
Gracias...
Valora esta pregunta


0