La Web del Programador: Comunidad de Programadores
 
    Pregunta:  7293 - COMO MOSTRAR SUB_INFORMES DE CRYSTAL REPORTS EN ASP
Autor:  Guillermo Castro
Estoy sacando informes con Crystal Reports 8.0 desde ASP, he conseguido que los informes principales se muestren dentro de la ventana del explorador, pero cuando hay subinformes, el proceso "se muere" y no sale nada, este problema con el visor activeX no sucede, pero con el visor Html (que es el que tengo que utilizar), no acabo de encontrar la manera de que los muestre, ¿alguien me puede echar una mano?, os lo agradecería.

  Respuesta:  Fidel Macedonio Martinez
Mira Estoy usando ASP,crystal Reports y SQL server para que los reportes me aparezcan el browser uso un ActiveX (SmartViewerActiveX) y uso el siguiente codigo para usar subreportes me funciona sin ningun proble si la liga de Crystal Con ASp la estas haciendo igual que yo usa el siguiente codigo y si quieres probar como lo hago yo escribeme para mandarte mas codigo

salu2

<%
' este es el nombre del reporteprincipal
reportname = "NombredelReportesPrincipal.rpt"
%>

<!-- #include file="AlwaysRequiredSteps.asp" -->

<%
'Se colocan los parametros para conectarse con la base de datos de Produccion
' pasandole los parametros de conecion
set Session("options") = Session("oApp").options
Session("options").MatchLogonInfo = 1
' Creamos el objeto de la base de datos
set crtable1 = session("oRpt").Database.Tables.Item(1)
crtable1.SetLogonInfo "SERVIDOR", "BASEDEDATOS", "USUARIO", "PASSWORDloper"
' - Utilizamos una formula para condicionar la consulta en esta parte ya no se manda por completo el QUERY

'Session("oRpt").RecordSelectionFormula = "{employee.job_id} = 11"
Session("oRpt").RecordSelectionFormula = "{ODT_RADIO2.ordi_id} = " & cint(id)

'==================================================================
'Abrimos y creamos el Objeto para lo que es el Subreporte
Set CRSubreports = session("oRpt").OpenSubreport("periodos")
' Creamos el objeto para la base de datos
set ReportDatabase2 = CRSubreports.Database
'Se define la coleccion de la tabla
Set crdatabasetables2 = ReportDatabase2.tables

'Se colocan los parametros del Subreporte
set crtable2 = crdatabasetables2.Item(1)
crtable2.SetLogonInfo "SERVIDOR", "BASEDEDATOS", "USUARIO", "PASSWORD"

' Creamos una variable y un puntero para un oaramentro almacemado
' en el reporte (FMM)

' - Almacenamos la nueva formaula dentro del reporte

CRSubreports.RecordSelectionFormula = "{ODT_RADIO2.ordi_id} =" & cint(id)
'==================================================================
'
' MORE ALWAYS REQUIRED STEPS
' - Llenamos los registros
' - e invocamos al rpt server del Crystal

%>
<!-- #include file="MoreRequiredSteps.asp" -->
<%
' DISPLAY THE REPORT
' - Desplegamos el reporte usando el componente de smart viewer
'
' Incluimos las demas vistas del Smart Viewers.
' - Smart Viewer ActiveX = SmartViewerActiveX.asp
' - Smart Viewer JAVA = SmartViewerJAVA.asp
' - Smart Viewer HTML = SmartViewerHTML.asp
' - Smart Viewer HTML Frame = SmartViewerHTMLFrame.asp
%>

<!-- #include file="SmartViewerActiveX.asp" -->