zoukankan      html  css  js  c++  java
  • 水晶报表

    <%
    Function GetParamName(byval Str)
     if Str="" then Exit Function
     if Instr(1,Str,"?Pm-") then exit Function
     Dim TempValue
     TempValue=Mid(Str,3,Len(Str)-3)
     GetParamName=TempValue
    End Function
    'on error resume next
    If Not IsObject (session("oApp")) Then
     Set session("oApp") = Server.CreateObject("CrystalRuntime.Application")
    End If

    If IsObject(session("oRpt")) then
     Set session("oRpt") = nothing
    End if
    Set session("oRpt") = session("oApp").OpenReport(Server.MapPath("Orders.RPT"), 1)
    if Err.number<>0 then
     Response.Write err.number & "<BR>"
     Response.Write Err.Description
     Response.End
    end if
    session("oRpt").MorePrintEngineErrorMessages = False
    session("oRpt").EnableParameterPrompting = False
    'on error goto 0

    set oConn=Server.CreateObject("ADODB.Connection")
    Set oADORecordset = Server.CreateObject("ADODB.Recordset")
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set rs2 = Server.CreateObject("ADODB.Recordset")
    set xmldoc=Server.CreateObject("MSXML2.DOMDocument")
    set xmldoc2=Server.CreateObject("MSXML2.DOMDocument")
    oConn.Open "driver={SQL Server};server=127.0.0.1;uid=sa;pwd=;database=Northwind"
    strSQL="SELECT * FROM Orders"
    oADORecordset.Open strSQL,oConn
    oADORecordset.Save xmldoc,1
    oADORecordset.Close
    rs.Open xmldoc

    strSQL="SELECT * FROM [Order Details]"
    oADORecordset.Open strSQL,oConn
    oADORecordset.Save xmldoc2,1
    oADORecordset.Close
    oConn.Close
    rs2.Open xmldoc2
    'xmldoc.loadXML ReportData
    'oADORecordset.Open xmldoc
    Set oRptTable = session("oRpt").Database.Tables.Item(1)

    oRptTable.SetDataSource rs, 3

    'set Params = Session("oRpt").Parameterfields 
    'For each Param in Params
     'Select Case Param.Name
      'Case "{?UNIT_NAME}" Param.SetCurrentValue CStr(unit_name), 7
      'Case "{?DATE_FROM}" Param.SetCurrentValue CDate(date_from), 10
      'Case "{?DATE_TO}" Param.SetCurrentValue CDate(date_to), 10
     'End Select
    'Next
    'set Params=nothing

    set Params = Session("oRpt").Parameterfields 
    For each Param in Params
     ParamType=Param.valuetype
     ParamName=GetParamName(Param.Name)
     ParamValue=Eval(ParamName)
     Select Case ParamType
      Case 7 Call Param.SetCurrentValue (dfVntToInt(ParamValue), 7)     'Number
      Case 8 Call Param.SetCurrentValue (Cdbl(ParamValue), 8)           'Currency
      Case 10 Call Param.SetCurrentValue (CDate(ParamValue), 10)        'Date
      Case 12 Call Param.SetCurrentValue (CStr(ParamValue), 12)         'String
     End Select
    Next
    set Params=nothing

    '************************************
    Set CRXSections = Session("oRpt").Sections
    For Each CRXSection In CRXSections
     'In each section, you get all the objects in the section.
     Set CRXReportObjects = CRXSection.ReportObjects
     'You cycle through the objects.
     For Each CRXReportObject In CRXReportObjects
      '1---Text Object 2---Fields Object 3---Line 4---Box 5---Sub Report
      If CRXReportObject.Kind = 5 Then
       Set CRXSubreportObj = CRXReportObject
       Set CRXSubreport = CRXSubreportObj.OpenSubreport
       '************************************
       'Set The Sub Reports Parameters'Value
       Set Params=CRXSubreport.Parameterfields
       For each Param in Params
        ParamType=Param.valuetype
        ParamName=GetParamName(Param.name)
        ParamValue=Eval(ParamName)
        if Instr(1,ParamName,"?Pm-")=0 then
         Select Case ParamType
          Case 7 Call Param.SetCurrentValue (CInt(ParamValue), 7)  'Number
          Case 8 Call Param.SetCurrentValue (CDbl(ParamValue), 8)  'Currency
          Case 10 Call Param.SetCurrentValue (CDate(ParamValue), 10) 'Date
          Case 12 Call Param.SetCurrentValue (CStr(ParamValue), 12) 'String
         End Select
        end if
       Next
       set Params=nothing
       '************************************
       Set subReportOneTablesCollection = CRXSubreport.Database.Tables
       For Each Table in subReportOneTablesCollection
        Table.SetDataSource rs2, 3
        DatabaseName=Table.Name
        Response.Write DatabaseName
       Next
      End If
     Next
    Next

    'on error resume next
    session("oRpt").ReadRecords
    If Err.Number <> 0 Then
     Response.Write "An Error has occured on the server in attempting to access the data source" & "<BR>"
     Response.Write Err.number & "<BR>"
     Response.Write Err.Description
    Else
     If IsObject(session("oPageEngine")) Then
      set session("oPageEngine") = nothing
     End If
     set session("oPageEngine") = session("oRpt").PageEngine
    End If
    'on error goto 0
    'Response.End
    %> <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title><%=ReportTitle%></title>
    </head>

    <body onunload="CallDestroy();" bottommargin="0" topmargin="0" rightmargin="0" leftmargin="0">

    <object id="CRViewer" classid="CLSID:2DEF4530-8CE6-41c9-84B6-A54536C90213" width="100%" height="100%" codebase="activexviewer.cab#Version=9,2,0,442&quot;" viewastext>
     <param name="EnableRefreshButton" value="1">
     <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">
     <param name="LaunchHTTPHyperlinkInNewBrowser" value="1">
     <param name="DisplayBackGroundEdge" value="0">
     <param name="DisplayTabs" value="0">
     <param name="EnablePopupMenu" value="0">
     <param name="EnableCloseButton" value="0">
    </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.ViewReport
    End Sub
    -->
    </script>
    <script language="javascript">
    function CallDestroy()
    {
     window.open("Cleanup.asp","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=0,height=0,top=0,left=0");
    }
    </script>

    </body>

    </html>

  • 相关阅读:
    iOS"伪后台"机制下如何保持APP一直运行在后台(转)(实践通过)
    weak和strong
    iOS webview 清除缓存
    iOS隐藏状态栏
    IOS 在一个应用里打开另一个应用 及其 两个应用互相调用
    ios 检查ios设备是否安装了qq,微信等应用
    【干货篇】步步为营,带你轻松掌握jQuery!
    【化繁为简】非前端开发者的福音---CSS的预处理语言 Less&Sass
    JS中有关分支结构、循环结构以及函数应用的一些简单练习
    万物皆对象的JavaScript
  • 原文地址:https://www.cnblogs.com/qiao198/p/4512.html
Copyright © 2011-2022 走看看