I have inherited the following:
<%@ LANGUAGE="VBSCRIPT" %>
<%
dim adoconn
set adoconn = server.createobject("adodb.connection")
adoconn.open Application("DSN"),Application("UID"),Application("PWD")
reportname = "traininghrsbyemployee.rpt"
If Not IsObject (session("oApp")) Then
Set session("oApp") = Server.CreateObject("CrystalRuntime.Application")
End If
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 if
Set session("oRpt") = session("oApp").OpenReport(path & reportname, 1)
session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False
session("oRpt").DiscardSavedData
set session("ParamCollection") = Session("oRpt").Parameterfields
set Param1 = session("ParamCollection").Item(1)
NewParamValue = Request.Form("datefrom") '"08/05/2005" '
Call Param1.SetCurrentValue(CStr(NewParamValue),12)
set Param2 = session("ParamCollection").Item(2)
NewParamValue = Request.Form("dateto") '"09/02/2005" '
Call Param2.SetCurrentValue(CStr(NewParamValue),12)
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"
Else
If IsObject(session("oPageEngine")) Then
set session("oPageEngine") = nothing
End If
set session("oPageEngine") = session("oRpt").PageEngine
End If
%>
<!-- #include file="SmartViewerActiveX.asp" -->
<%
adoconn.close()
%>
This passes dates as strings to the object.
The database structure has now changed and requires that dates be passed as datetime.
Can you help?
Software/Hardware used:
ASKED:
February 3, 2006 1:29 AM
UPDATED:
February 7, 2006 11:14 AM
avdberg,
Try changing the double quotes (“) around the date to a pound (#).
Try CDate
Re-format the date string using the universal date format, e.g.
3 Feb 2006 (UK 03/02/2006) becomes ’20060203′
Try this for your date sections:
If IsDate(Request.Form(“datefrom”)) Then
set Param1 = session(“ParamCollection”).Item(1)
NewParamValue = CDate(Request.Form(“datefrom”)) ‘”08/05/2005″ ‘
Call Param1.SetCurrentValue(CStr(NewParamValue),12)
End If
If IsDate(Request.Form(“dateto”)) Then
set Param2 = session(“ParamCollection”).Item(2)
NewParamValue = CDate(Request.Form(“dateto”)) ‘”09/02/2005″ ‘
Call Param2.SetCurrentValue(CStr(NewParamValue),12)
End If
Also, be aware that it’s generally a good idea not to store external objects in Session variables if it can be avoided because this can have a negative impact on performance in IIS.