| ? |
<!-- #include file="public_functions.asp" -->
<%
Dim sConfigFilePath,reportname,ReportFolder
sConfigFilePath = Request.ServerVariables("PATH_TRANSLATED")
While (Right(sConfigFilePath, 1) <> "\" And Len(sConfigFilePath) <> 0)
iLen = Len(sConfigFilePath) - 1
sConfigFilePath = Left(sConfigFilePath, iLen)
Wend
sConfigFilePath=sConfigFilePath & "Config.xml"
charset=ReadConfigureFile(sConfigFilePath,"charset")
%>
<meta http-equiv="Content-Type" content="text/html; charset=<%=charset%>">
<title>Crystal Reports</title>
<%
for each sItemName in Request.Form
if sItemName<>"" then
sItemValue=Request.Form(sItemName)
sTmpEval="dim " & sItemName
execute(sTmpEval)
sTmpEval=sItemName&"="""&replace(sItemValue,"""","""""")&""""
execute(sTmpEval)
end if
next
ReportFolder=ReadConfigureFile(sConfigFilePath,"sFolder")
if ReportName="" then
Response.Write "Invalid Report Name"
Response.End
end if
if Instr(1,ReportName,".rpt")>0 then
reportname=ReportName
else
reportname=ReportName&".rpt"
end if
reportname=ReportFolder&"\"&reportname
Dim DBInfosArr(3,2)
'For OOCL LSD Database.
DBInfosArr(0,0)=ReadConfigureFile(sConfigFilePath,"sConn_OOCL_LSD")'DSN Name
DBInfosArr(1,0)=ReadConfigureFile(sConfigFilePath,"sDBName_OOCL_LSD")'Database Name
DBInfosArr(2,0)=ReadConfigureFile(sConfigFilePath,"sOOCL_LSD_UserID") 'User id
DBInfosArr(3,0)=ReadConfigureFile(sConfigFilePath,"sOOCL_LSD_Pwd")'password.
'For OOCL Master Database
DBInfosArr(0,1)=ReadConfigureFile(sConfigFilePath,"sConn_OOCL_Master")'DSN Name
DBInfosArr(1,1)=ReadConfigureFile(sConfigFilePath,"sDBName_OOCL_Master")'Database Name
DBInfosArr(2,1)=ReadConfigureFile(sConfigFilePath,"sOOCL_Master_UserID") 'User id
DBInfosArr(3,1)=ReadConfigureFile(sConfigFilePath,"sOOCL_Master_Pwd")'password.
'For OOCL Report Database.
DBInfosArr(0,2)=ReadConfigureFile(sConfigFilePath,"sConn_OOCL_Report")'DSN Name
DBInfosArr(1,2)=ReadConfigureFile(sConfigFilePath,"sDBName_OOCL_Report")'Database Name
DBInfosArr(2,2)=ReadConfigureFile(sConfigFilePath,"sOOCL_Report_UserID") 'User id
DBInfosArr(3,2)=ReadConfigureFile(sConfigFilePath,"sOOCL_Report_Pwd")'password.
%>
<!-- #include file="AlwaysRequiredSteps.asp" -->
<%
' WORKING WITH SETLOGONINFO
'
' The datasource here is called "Automation". It is a System
' Datasource, and points to the "pubs" database, which is installed
' with SQL Server. You will also need to change your user id and
' password.
'Create a reference to the tables collection of the main report
Set mainReportTableCollection = Session("oRpt").Database.Tables
For Each Table in mainReportTableCollection
DatabaseName=Table.LogOnDatabaseName
For I =Lbound(DBInfosArr,2) to Ubound(DBInfosArr,2)
if instr(1,UCase(DBInfosArr(1,I)),Ucase(DatabaseName),1)>0 then
DSNName=DBInfosArr(0,I)
DBName=DBInfosArr(1,I)
UserID=DBInfosArr(2,I)
Pwd=DBInfosArr(3,I)
Table.SetLogonInfo cstr(DSNName), cstr(DBName), cstr(UserID), cstr(Pwd)
Exit for
end if
Next
Next
'************************************
'Set the Main Report's Parameters' value
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'Number
Call Param.SetCurrentValue (dfVntToInt(ParamValue), 7)
Case 8'Currency
Call Param.SetCurrentValue (Cdbl(ParamValue), 8)
Case 10'Date
Call Param.SetCurrentValue (CDate(ParamValue), 10)
Case 12'String
Call Param.SetCurrentValue (CStr(ParamValue), 12)
End Select
Next
set Params=nothing
'************************************
Set CRXSections = Session("oRpt").Sections
II=1
For Each CRXSection In CRXSections
Response.Write II &"<BR>"
II=II+1
'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
'Sub Report---5
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'Number
Call Param.SetCurrentValue (dfVntToInt(ParamValue), 7)
Case 8'Currency
Call Param.SetCurrentValue (CDbl(ParamValue), 8)
Case 10'Date
Call Param.SetCurrentValue (CDate(ParamValue), 10)
Case 12'String
Call Param.SetCurrentValue (CStr(ParamValue), 12)
End Select
end if
Next
set Params=nothing
'************************************
Set subReportOneTablesCollection = CRXSubreport.Database.Tables
For Each Table in subReportOneTablesCollection
DatabaseName=Table.LogOnDatabaseName
Response.Write "Sub Report----" & DatabaseName & "<BR>"
For I =Lbound(DBInfosArr,2) to Ubound(DBInfosArr,2)
if instr(1,UCase(DBInfosArr(1,I)),Ucase(DatabaseName),1)>0 then
DSNName=DBInfosArr(0,I)
DBName=DBInfosArr(1,I)
UserID=DBInfosArr(2,I)
Pwd=DBInfosArr(3,I)
Table.SetLogonInfo cstr(DSNName), cstr(DBName), cstr(UserID), cstr(Pwd)
Exit for
end if
Next
Next
End If
Next
Next
%>
<!-- #include file="MoreRequiredSteps.asp" -->
<!-- #include file="SmartVieweractivex.asp" -->
至于这些包含文件在crystal report的安装盘上都有的.
客户段则使用一个active x web控件同步显示数据
|