Subreport en Crystal

Fernando
18 de Agosto del 2004
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.

mvallejos
18 de Agosto del 2004
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