Cambiar ruta del reporte de Crystal
Hola necesito saber como hacer un reporte q trabaje con dos bases de datos IDENTICAS "con los mismas tablas y campos" pero en diferente ubicacion..... El reporte lo llamo desde visual basic
Ejemplo
tengo una base de datos aqui==> c:sistemadatosbase.mdb
y otra c:sistemainformebase.mdb
1-.¿ Como le cambio la ruta de la base de datos?
Gracias por su ayuda!!
Ejemplo
tengo una base de datos aqui==> c:sistemadatosbase.mdb
y otra c:sistemainformebase.mdb
1-.¿ Como le cambio la ruta de la base de datos?
Gracias por su ayuda!!
A ver si esta función te ayuda:
Private Sub establecerConexionAccess2CR(ByRef pRptInforme As CRAXDRT.Report, _
ByVal pStrFicheroMDB As String)
Dim tblTabla As CRAXDRT.DatabaseTable
Dim crsSeccion As CRAXDRT.Section
Dim croObjeto As Object
Dim rptSubInforme As CRAXDRT.Report
On Error GoTo errorHandler
For Each tblTabla In pRptInforme.Database.Tables
tblTabla.ConnectionProperties.DeleteAll
tblTabla.ConnectionProperties.Add "Provider", "Microsoft.Jet.OLEDB.4.0"
tblTabla.ConnectionProperties.Add "Data Source", pStrFicheroMDB
tblTabla.Location = pStrFicheroMDB
Next
For Each crsSeccion In pRptInforme.Sections
For Each croObjeto In crsSeccion.ReportObjects
If croObjeto.Kind = crSubreportObject Then
Set rptSubInforme = croObjeto.OpenSubreport
establecerConexionAccess2CR rptSubInforme, pStrFicheroMDB
End If
Next
Set croObjeto = Nothing
Next
Set crsSeccion = Nothing
Exit Sub
errorHandler:
MsgBox Err.Description, vbCritical + vbOKOnly, "XXX"
End Sub
Un saludo.
Private Sub establecerConexionAccess2CR(ByRef pRptInforme As CRAXDRT.Report, _
ByVal pStrFicheroMDB As String)
Dim tblTabla As CRAXDRT.DatabaseTable
Dim crsSeccion As CRAXDRT.Section
Dim croObjeto As Object
Dim rptSubInforme As CRAXDRT.Report
On Error GoTo errorHandler
For Each tblTabla In pRptInforme.Database.Tables
tblTabla.ConnectionProperties.DeleteAll
tblTabla.ConnectionProperties.Add "Provider", "Microsoft.Jet.OLEDB.4.0"
tblTabla.ConnectionProperties.Add "Data Source", pStrFicheroMDB
tblTabla.Location = pStrFicheroMDB
Next
For Each crsSeccion In pRptInforme.Sections
For Each croObjeto In crsSeccion.ReportObjects
If croObjeto.Kind = crSubreportObject Then
Set rptSubInforme = croObjeto.OpenSubreport
establecerConexionAccess2CR rptSubInforme, pStrFicheroMDB
End If
Next
Set croObjeto = Nothing
Next
Set crsSeccion = Nothing
Exit Sub
errorHandler:
MsgBox Err.Description, vbCritical + vbOKOnly, "XXX"
End Sub
Un saludo.
Hola estoy haciendo la prueba pero me dice no se ha definido tipo por el usuario ¿tengo q agregar una referencia o algo parecido?
Si, claro. Necesitas añadir las referencias a 'Crystal Reports 9 ActiveX Designer Run Time' (o su equivalente si no usas la versión 9 de Crystal Reports).
Un saludo.
Un saludo.
Mira lo estoy haciendo asi
donde standar es el nombre de la base de datos
y nomina es la ubicacion dond lo va a buscar
pero me dice q requiere un objeto
nomina = " " & App.Path & "\archivo\"
Call establecerConexionAccess2CR(standar.mdb, "& nomina &")
¿Q estoy haciendo mal?
donde standar es el nombre de la base de datos
y nomina es la ubicacion dond lo va a buscar
pero me dice q requiere un objeto
nomina = " " & App.Path & "\archivo\"
Call establecerConexionAccess2CR(standar.mdb, "& nomina &")
¿Q estoy haciendo mal?
