This is the section that I was referring too. sorry for the confusion.
From Menu/Navigational Bar on Web page you will have this code:
<td colspan="21" width="525">
<A class="menul1" href="Reports.asp?go=PositionRequest&Name=<%=Name%>&status=<%=status%>" target="_blank">Test Page</A>
</TD>
Reports.asp
<%@ LANGUAGE="VBSCRIPT" %>
<!--#include file="../common/db.asp"-->
<!--#include file="../common/format.asp"-->
<%
response.expires = 0
Server.ScriptTimeout = 3600
IF request.querystring("go"

<> "" Then
session("report"

= request.querystring("go"

End If
'Open Connection to Database
reportname = "reports\" & session("report"

& ".rpt"
' CREATE THE APPLICATION OBJECT
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
'response.write "first thru " & path & " "
path = left(path, (len(path) - 1))
While (Right(Path, 1) <> "\" And Len(Path) <> 0)
iLen = Len(Path) - 1
Path = Left(Path, iLen)
Wend
'OPEN THE REPORT (but destroy any previous one first)
If IsObject(session("oRpt"

) then
Set session("oRpt"

= nothing
End if
'Response.Write path & reportname
On error resume next
Set session("oRpt"

= session("oApp"

.OpenReport(path & reportname, 1)
'This line uses the "PATH" and "reportname" variables to reference the Crystal
'Report file, and open it up for processing.
If Err.Number <> 0 Then
response.write "report path " & path & reportname & " "
Response.Write "Error Occurred creating Report Object: " & Err.Description & err.number
Set Session("oRpt"

= nothing
Set Session("oApp"

= nothing
Session.Abandon
Response.End
End If
'This On error resume next block checks for any errors on creating the report object
'we are specifically trapping for an error if we try to surpass the maximum concurrent
'users defined by the license agreement. By destroying the application and report objects
'on failure we ensure that this client session will be able to run reports when a license is free
'
'Notice that we do not create the report object only once. This is because
'within an ASP session, you may want to process more than one report. The
'rptserver.asp component will only process a report object named session("oRpt"

.
'Therefor, if you wish to process more than one report in an ASP session, you
'must open that report by creating a new session("oRpt"

object.
session("oRpt"

.MorePrintEngineErrorMessages = False
session("oRpt"

.EnableParameterPrompting = False
'These lines disable the Error reporting mechanism included the built into the
'Crystal Report Design Component automation server (craxdrt.dll).
'This is done for two reasons:
'
'1. The print engine is executed on the Web Server, so any error messages
' will be displayed there. If an error is reported on the web server, the
' print engine will stop processing and you application will "hang".
'
'2. This ASP page and rptserver.asp have some error handling logic desinged
' to trap any non-fatal errors (such as failed database connectivity) and
' display them to the client browser.
'
'**IMPORTANT** Even though we disable the extended error messaging of the engine
'fatal errors can cause an error dialog to be displayed on the Web Server machine.
'For this reason we reccomend that you set the "Allow Service to Interact with Desktop"
'option on the "World Wide Web Publishing" service (IIS service). That way if your ASP
'application freezes you will be able to view the error dialog (if one is displayed).
'======================================================================================
'======================================================================================
session("oRpt"

.DiscardSavedData
set crtable = session("oRpt"

.Database.Tables.Item(1)
crtable.SetLogonInfo "dsn", "server name", "password", "userid"
'response.write crtable.testconnectivity
‘select case is for multiple reports… and the parameter fields if you don’t have any don’t worry about the ‘select section
select case session("report"

case "xxx","xxx1"
Session("oRpt"

.ParameterFields.GetItemByName("@Name"

.AddCurrentValue(cstr(request.querystring("Name"

))
case "xxx3"
Session("oRpt"

.ParameterFields.GetItemByName("@status"

.AddCurrentValue(cstr(request.querystring("status1"

))
end select
'====================================================================================
' Retrieve the Records and Create the "Page on Demand" Engine Object
'====================================================================================
On Error Resume Next
session("oRpt"

.ReadRecords
If Err.Number <> 0 Then
response.write session("report"

& " Date " & cdate(vdate) & " "
response.write "connectivity " & crtable.testconnectivity & " "
response.write crtable.SetLogonInfo
Response.Write "Error Occurred Reading Records: " & Err.Description & err.number
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
'There are other viewer that can be used but the activex allows us let the user print the report out.
%>
<!-- #include file="../common/crystal/SmartViewerActiveX.asp" -->
<title>this is a example of the crystal setup.</title>