Crystal Report - Acceder a dos bases de datos con Cristal Report

   
Vista:

Acceder a dos bases de datos con Cristal Report

Publicado por El Mago (3 intervenciones) el 28/05/2009 17:45:06
Hola amigos, tengo una aplicación desarrollada en visual basic 6 y con cristal report 9, hasta ahora sólo he creado informes que obtienen los datos de una única base de datos (BD01.MDB), el problema se me plantea cuando tengo que desarrollar un informe que obtenga datos de forma simultáneamente de dos bases de datos (BD01 y BD02). Mi pregunta es ¿que parámetros tengo que utilizar en visual basic para que el informe muestre datos de las dos bases de datos?

El procedimiento que utilizo actualmente (para acceder a una sóla base de datos) es el siguiente:
Set Report = crxAplicacion.OpenReport(App.Path + "Informes" + "" + FACTREPORT)
For Each BD0X In Report.Database.Tables
BD0X.Location = DIRECT + NomDB
Next BD0X

Report.RecordSelectionFormula = "{factaclient.codigo} = '" & Text1(0).Text & "' and {factaclient.serie} = '" & Combo2.Text & "'"
Report.PrintOut False, 1
Report.PrintOut False

Gracias de antemano por vuestra ayuda. Un saludo a todos.
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

RE:Acceder a dos bases de datos con Cristal Report

Publicado por Jaime guerrero (82 intervenciones) el 28/05/2009 22:00:14
Lo que vas atener que hacer, es pasarle al reporte en vez de la ruta de la base de datos, un recodset por cada base de datos. O mejor aun, un sólo recorset en donde tengas la info de ambas bases de datos. Claro que éste recordset lo tienes que creear en el aplicativo.

Tienes que tener en cuenta que tendras un conexion para cada base de datos.

Otra salida, es que en el reporte muestres la info de una base de datos en una seccion con un subreprote, y la info de la otra base en otra seccion y tambien con un subreporte. y le pasarias los datos de la siguiente manera:

Cr_Report.OpenSubreport("Subreporte1").Database.SetDataSource RecordsetBase1, , 1

Cr_Report.OpenSubreport("Subreporte2").Database.SetDataSource RecordsetBase2, , 1
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