Este é um exemplo da chamada de um relatório (RPT) via ASP na versão 9 do Crystal Reports:
1) Crie um diretório virtual
2) Caso seja necessário, entre no IIS, e veja se as
definições deste diretório virtual, se estão corretas.
<%@ LANGUAGE="VBSCRIPT" %> <% 'Variável que define o nome do relatório reportname = "relat.rpt" ' Cria o objeto de aplicação (carrega o RDC) - para esta sessão If Not IsObject (session("oApp")) Then Set session("oApp") = Server.CreateObject("CrystalRuntime.Application") End If ' Cria o caminho físico do relatório Path = Request.ServerVariables("PATH_TRANSLATED") While (Right(Path, 1) <> "" And Len(Path) <> 0) iLen = Len(Path) - 1 Path = Left(Path, iLen) Wend 'Cria o objeto de relatório (mas destroí o objeto caso este já exista) If IsObject(session("oRpt")) then Set session("oRpt") = nothing End if On error resume next Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1) 'Verifica erros na criação do objeto RDC If Err.Number <> 0 Then Response.Write "Erros ocorreram durante a criação do objeto de relatório: " & Err.Description Set Session("oRpt") = nothing Set Session("oApp") = nothing Session.Abandon Response.End End If session("oRpt").MorePrintEngineErrorMessages = False session("oRpt").EnableParameterPrompting = False session("oRpt").DiscardSavedData ' Retorna os registros, e cria o serviço de Page on demand On Error Resume Next session("oRpt").ReadRecords 'Verifica erros na leitura dos registros If Err.Number <> 0 Then Response.Write "Ocorreram erros na leitura dos registros: " & Err.Description Set Session("oRpt") = nothing Set Session("oApp") = nothing Session.Abandon Response.End Else If IsObject(session("oPageEngine")) Then set session("oPageEngine") = nothing End If set session("oPageEngine") = session("oRpt").PageEngine End If 'Dispara o Navegador ActiveX %>