Skip to Content
0
Former Member
Jul 18, 2008 at 08:09 PM

Open programatically Crystal Report Viewer XI from MS Access 2003

27 Views

Thank you in Advance!!!

I got the following VBA code.

1) What library do I need to include to access Crystal Report Viewer XI?

2) How do I declare CRViewer11 to open Crystal Report Viewer XI and a created report?

Please look at ***???

Dim crrpt As New CRAXDRT.Report

Dim crapp As New CRAXDRT.Application

***???Problem here: Dim CRViewer11 As New CrystalActiveXReportViewer

Dim myParamField As CRAXDRT.ParameterFieldDefinition

Dim intCounterPartyId, intNoCreditLimit, intAllAccounts, intOpenTrades, intOpenFail, intOpenOver As Integer

Dim dtFirstDayOfYear As Date

Dim dblCreditUsed, dblYTDAmount As Double

Dim db As Database, rs As Recordset, strSql, strFileName, strMsg As String

Dim strAttachDir, strAttachment, strReportDir, strCrReport As String

'Set db = CurrentDb

strAttachDir = "T:\Work\"

'open crystal report(rpt)

strReportDir = "T:\Work\"

strCrReport = "TimeDetailwithData.rpt"

Set crrpt = crapp.OpenReport(strReportDir & strCrReport)

strFileName = Format(Now(), "YYYY-MM-DD-HHMM") & "-TimeDetail.rpt"

strAttachment = strAttachDir & strFileName

crrpt.DiscardSavedData

'SET PARAMETER FIELDS

Set myParamFields = crrpt.ParameterFields

For Each myParamField In myParamFields

With myParamField

Select Case .ParameterFieldName

Case "StartPeriod"

.SetCurrentValue CDate("2008-7-16")

Case "EndPeriod"

.SetCurrentValue CDate("2008-7-17")

Case "Org - Comp"

.SetCurrentValue "2WV"

Case "Org - Dpt"

.SetCurrentValue "300"

Case "Org - Fac"

.SetCurrentValue "01302"

End Select

End With

Next

crrpt.EnableParameterPrompting = False

crrpt.ExportOptions.FormatType = crEFTCrystalReport70

crrpt.ExportOptions.DestinationType = crEDTDiskFile

crrpt.ExportOptions.DiskFileName = strAttachment

crrpt.Export False

Set CRViewer11 = crapp.OpenReport(strAttachment)

***???Problem here: CRViewer11.ReportSource = strAttachment

***???Problem here: CRViewer11.ViewReport