0 pts.
 Passing parameters from .ASP (VBSript) to Activex object in date format
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

Answer Wiki:
Reformat the string to universal date format, i.e. '20060203'. I'm assuming MS SQL, not sequal!
Last Wiki Answer Submitted:  February 3, 2006  7:14 am  by  PaulRyan   0 pts.
All Answer Wiki Contributors:  PaulRyan   0 pts.
To see all answers submitted to the Answer Wiki: View Answer History.


Discuss This Question:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


 

avdberg,

Try changing the double quotes (“) around the date to a pound (#).

 0 pts.

 

Try CDate

 0 pts.

 

Re-format the date string using the universal date format, e.g.

3 Feb 2006 (UK 03/02/2006) becomes ’20060203′

 0 pts.

 

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.

 0 pts.