Subreport en Crystal
Hola a todos,
Estoy realizando un informe en el que debido al diseño que necesita el cliente, necesito incluir subreports y dentro de estos otro subreport.
Agradecería que alguien me ayude, puesto que en estos momentos estoy un poco atascado y me urge acabar el trabajo.
Gracias a todos por vuestra ayuda.
Estoy realizando un informe en el que debido al diseño que necesita el cliente, necesito incluir subreports y dentro de estos otro subreport.
Agradecería que alguien me ayude, puesto que en estos momentos estoy un poco atascado y me urge acabar el trabajo.
Gracias a todos por vuestra ayuda.
Antes que nada, saludos desde Argentina
Yo trabajo con la librería de Crystal, sin usar ocx ni diseñadores.
Hagamos de cuenta que en el proyecto tenemos la referencia a Crystal Report 8 Engine Library, entonces tenemos estas tres declaraciones
Dim CRAp As New CRPEAuto.Application
Dim CRrpt As New CRPEAuto.Report
Dim CRSubRpt As CRPEAuto.Report
Tanto el reporte principal como los subreportes, deben recibir datos a través de un recordset.
Veamos el ejemplo
(Reporte almacena el path completo del rpt)
( Rs es el resordset para el reporte ppal)
Set CRrpt = CRAp.OpenReport(Reporte)
Set CRdb = CRrpt.Database
Set CRtbl = CRdb.Tables(1)
CRtbl.SetPrivateData 3, Rs
y para el subreporte
' SubReporte es solo el nombre del subreporte
' (sin Path)
' SubRs es el recordset con los datos del subreporte
Set CRSubRpt = CRrpt.OpenSubreport(SubReporte)
Set CRDbSUB = CRSubRpt.Database
Set CRTblSUB = CRDbSUB.Tables(1)
CRTblSUB.SetPrivateData 3, SubRs
Sobre este ejemplo, vas a tener que setear el subreporte del subreporte, es decir, un nivel más de anidamiento.
Esto lo escribo con la duda si es posible incluir un subreporte que a su vez, contenga otro subreporte
Yo trabajo con la librería de Crystal, sin usar ocx ni diseñadores.
Hagamos de cuenta que en el proyecto tenemos la referencia a Crystal Report 8 Engine Library, entonces tenemos estas tres declaraciones
Dim CRAp As New CRPEAuto.Application
Dim CRrpt As New CRPEAuto.Report
Dim CRSubRpt As CRPEAuto.Report
Tanto el reporte principal como los subreportes, deben recibir datos a través de un recordset.
Veamos el ejemplo
(Reporte almacena el path completo del rpt)
( Rs es el resordset para el reporte ppal)
Set CRrpt = CRAp.OpenReport(Reporte)
Set CRdb = CRrpt.Database
Set CRtbl = CRdb.Tables(1)
CRtbl.SetPrivateData 3, Rs
y para el subreporte
' SubReporte es solo el nombre del subreporte
' (sin Path)
' SubRs es el recordset con los datos del subreporte
Set CRSubRpt = CRrpt.OpenSubreport(SubReporte)
Set CRDbSUB = CRSubRpt.Database
Set CRTblSUB = CRDbSUB.Tables(1)
CRTblSUB.SetPrivateData 3, SubRs
Sobre este ejemplo, vas a tener que setear el subreporte del subreporte, es decir, un nivel más de anidamiento.
Esto lo escribo con la duda si es posible incluir un subreporte que a su vez, contenga otro subreporte
