Alright ?
this is a sample asp page I am using to create crystal reports on the web.
<%@ LANGUAGE="VBSCRIPT" %>
<title>A001</title>
<%
reportname = "A001.01 Admissions Extract.rpt"
%>
<SCRIPT Language=Javascript>
function HideHourGlass(){
szNavVersion = navigator.appVersion // Hide the 'retreiving records' display
if (szNavVersion.indexOf ("4."

>= 0 || szNavVersion.indexOf ("5."

>= 0) {
if (navigator.appName == "Netscape"

{
document.layers["StatusText"].visibility="hide"
}else{
if (document.all("StatusIE"

){
document.all("StatusIE"

.style.visibility = "hidden";
}
}
}
}
</SCRIPT>
<BODY onLoad="HideHourGlass()">
<DIV ID="StatusIE"><LAYER ID="StatusText"><center>Generating Report, Please Wait... </center></LAYER></DIV>
<%
If Not IsObject (session("oApp"

) Then
Set session("oApp"

= Server.CreateObject("Crystal.CRPE.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)
Set oRptOptions = Session("oRpt"

.Options
oRptOptions.MorePrintEngineErrorMessages = 0
session("oRpt"

.DiscardSavedData
%>
<%
userid = "ed"
password = "ed"
'session("oRpt"

.MorePrintEngineErrorMessages = False
'session("oRpt"

.EnableParameterPrompting = False
' Set the location
set crtable = session("oRpt"

.Database.Tables.Item(1)
crtable.SetLogonInfo "DATABASE_NAME", "ODBC_NAME", cstr(userid), cstr(password)
%>
<%
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
%>
<HTML>
<HEAD>
<TITLE>Seagate ActiveX Viewer</TITLE>
</HEAD>
<input type="button" value=" Close Report " OnClick="document.location='./Default.htm';return false;" id=button1 name=button1>
<BODY BGCOLOR=C6C6C6 LANGUAGE=VBScript ONLOAD="Page_Initialize">
<OBJECT ID="CRViewer"
CLASSID="CLSID:C4847596-972C-11D0-9567-00A0C9273C2A"
WIDTH=100% HEIGHT=95%
CODEBASE="/viewer/activeXViewer/activexviewer.cab#Version=2,2,4,28">
<PARAM NAME="EnableRefreshButton" VALUE=1>
<PARAM NAME="EnableGroupTree" VALUE=1>
<PARAM NAME="DisplayGroupTree" VALUE=1>
<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>
</OBJECT>
<SCRIPT LANGUAGE="VBScript">
<!--
Sub Page_Initialize
On Error Resume Next
Dim webBroker
Set webBroker = CreateObject("WebReportBroker.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."
CRViewer.ReportName ="rptserver.asp"
else
Dim webSource
Set webSource = CreateObject("WebReportSource.WebReportSource"

webSource.ReportSource = webBroker
webSource.URL = "rptserver.asp"
webSource.PromptOnRefresh = True
CRViewer.ReportSource = webSource
end if
CRViewer.ViewReport
End Sub
-->
</SCRIPT>
</BODY>
</HTML>
hope this is of some help. come back to me if you have any queries.