none
Crystal Report: ¿es posible tener mas de una base de datos/tabla en un subreport? RRS feed

  • Pregunta

  • Buenos días, hasta hoy he podido encontrar solución a todos mis problemas consultando en esta comunidad… pero por mucho que he buscado no me aclaro en esta ocasión.

     

    Tengo un report que es la típica factura. Contiene dos bases de datos, la que me da los datos de la cabecera + el pie de la factura y otra que tiene el detalle del que está compuesta la factura. Vamos el típico 1 a N con su vinculación por el id_factura.

     

    Desde código lanzo el cristal pasando los datos a las base de datos con el dataset de turno:

    objRpt.Database.Tables("TB_FacCab").SetDataSource(dsFacCab)

    objRpt.Database.Tables("TB_FacDet").SetDataSource(dsFacDet)

      Y esto va de lujo.

     

    Llega el típico “poyaque” y necesito lanzar todas las facturas, así que preparo un report que contendrá un subreport y este subreport es el descrito anteriormente añadiéndole una selección por grupo, para que la selección de los datos se a correcta. Depués de esto la cosa queda de esta forma:

    -Tengo un report padre que contiene una base de datos (TB_FacPadre, que contiene solo los id_factura).

    -Dentro del padre en el detalle, inserto el subreport

    -Y cambio el código, lógicamente para indicar al dataset que sus datos van al subreport y no al report padre:

          objRpt.Subreports(0).Database.Tables("TB_FacCab").SetDataSource(dsFacCab)

          objRpt.Subreports(0).Database.Tables("TB_FacDet").SetDataSource(dsFacDet)

    Y esto no va tanto de lujo… no me aparece nada.

    Haciendo experimentos extraños he podido comprobar que si el subreport tiene mas de una base de datos no sale nada, si elimino por ejemplo la relacionada con el detalle tanto en el rpt como el el código si salen sus datos.

     

    ¿Esto es así? ¿No es posible tener más de una base de datos en un subreport?

    viernes, 14 de enero de 2011 13:00

Todas las respuestas

  • Realmente no lo he probado asi

    pero puedes simplificar mucho, si pones una vista o un procedimiento almacenado para para traer esos datos y el reportes o sub-reporte lo apuntas a la misma bd.


    Live like you'll die tomorrow, learn like you'll live forever. Blog
    sábado, 2 de abril de 2011 2:24