在crystal  report9.0中,水晶报表能够正常显示。但是,将报表转入到
程序中就不能够正常的显示了(只显示水晶报表框架,没有数据)。
不知道什么原因?

解决方案 »

  1.   

    <%@ LANGUAGE="VBSCRIPT" %>
    <!--#include virtual = "/comn/DBreport.SSI"--><%
    Dim reinslip_no
    Dim Reportname
    Dim Path
    Dim iLen
    reinslip_no = trim(request.querystring("reinslip_no") & " ")Reportname = "M1SL0073.Rpt"'Response.Write "warehouse = " & fDate & "<BR>"
    'Response.Write "warehouse = " & tDate & "<BR>"
    'Response.Write "warehouse = " & warehouse_code & "<BR>"
    'Response.end
    ' 农府胶呕 饭器飘 OBJECT 甫 积己                                                                     
    If Not IsObject (session("oApp")) Then                              
      Set session("oApp") = Server.CreateObject("CrystalRuntime.Application.9")
    End If                                                               
    ' 饭器飘 颇老狼 PATH甫 瘤沥
    Path = Request.ServerVariables("PATH_TRANSLATED")                     
    While (Right(Path, 1) <> "\" And Len(Path) <> 0)                      
    iLen = Len(Path) - 1                                                  
    Path = Left(Path, iLen)                                               
    Wend                                                                  If IsObject(session("oRpt")) then
    Set session("oRpt") = nothing
    End ifOn error resume next' 饭器飘 颇老阑 OPEN茄促
    Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1)' 饭器飘 颇老俊 沥焊甫 涝仿茄促
    set Database = session("oRpt").Database
    Call Database.Tables.Item(1).SetLogOnInfo (CRPTSERVERNAME,CRPTSaleDBNAME,CRPTUSERID,CRPTPASSWORD)
    Set Database = nothing
    If Err.Number <> 0 Then
      Response.Write "Error Occurred creating Report Object: " & Err.Description
      Set Session("oRpt") = nothing
      Set Session("oApp") = nothing
      Session.Abandon
      Response.End
    End Ifsession("oRpt").MorePrintEngineErrorMessages = False
    session("oRpt").EnableParameterPrompting = Falsesession("oRpt").DiscardSavedData                     ' 颇扼固磐蔼阑 农府胶呕 饭器飘俊 傈崔茄促
    Session("oRpt").ParameterFields.GetItemByName("@ReinSlip_no").ClearCurrentValueAndRange
    Session("oRpt").ParameterFields.GetItemByName("@ReinSlip_no").AddCurrentValue(reinslip_no)'====================================================================================
    ' Retrieve the Records and Create the "Page on Demand" Engine Object
    '====================================================================================On Error Resume Nextsession("oRpt").ReadRecords
    If Err.Number <> 0 Then                                               
      Response.Write "Error Occurred Reading Records: " & 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%>
    <HTML>
    <HEAD>
    <TITLE>退货单</TITLE>
    </HEAD>
    <BODY BGCOLOR=C6C6C6 ONUNLOAD="CallDestroy();" leftmargin=0 topmargin=0 rightmargin=0 bottommargin=0><OBJECT ID="CRViewer"
    CLASSID="CLSID:2DEF4530-8CE6-41c9-84B6-A54536C90213"
    WIDTH=100% HEIGHT=100%
       codebase="http://<%=CRPTSERVERNAME%>/package/activexviewer.cab#Version=9,2,0,442" VIEWASTEXT>
    <PARAM NAME="EnableRefreshButton" VALUE=0>
    <PARAM NAME="EnableGroupTree" VALUE=0>
    <PARAM NAME="DisplayGroupTree" VALUE=0>
    <PARAM NAME="EnablePrintButton" VALUE=1>
    <PARAM NAME="EnableExportButton" VALUE=1>
    <PARAM NAME="EnableDrillDown" VALUE=1>
    <PARAM NAME="EnableSearchControl" VALUE=1>
    <PARAM NAME="EnableAnimationControl" VALUE=1>
    <PARAM NAME="EnableZoomControl" VALUE=1>
    </OBJECT><SCRIPT LANGUAGE="VBScript">
    <!--
    Sub Window_Onload
    On Error Resume Next
    Dim webBroker
    Set webBroker = CreateObject("WebReportBroker9.WebReportBroker")
    if ScriptEngineMajorVersion < 2 then
    window.alert "IE 3.02 users on NT4 need to get the latest version of VBScript or install IE 4.01 SP1. IE 3.02 users on Win95 need DCOM95 and latest version of VBScript, or install IE 4.01 SP1. These files are available at Microsoft's web site."
    else
    Dim webSource
    Set webSource = CreateObject("WebReportSource9.WebReportSource")
    webSource.ReportSource = webBroker
    webSource.URL = "rptserver.asp"
    webSource.PromptOnRefresh = True
    CRViewer.ReportSource = webSource

    end if

    CRViewer.DisplayTabs = true

    CRViewer.ViewReport
    CRViewer.Zoom (90)
    End Sub-->
    </SCRIPT><script language="javascript">
    function CallDestroy()
    {
    window.open("Cleanup.asp");
    }
    </script></BODY>
    </HTML>