I am getting this error when I try to pass an sql string to an external crystal report. extenal in the the report is not part of the project but a crystal report file. I have uploaded a summarised version of the project

Dim Report As New CrystalReport1

Set rs = New ADODB.Recordset
Dim strSql As String

Dim ReportStartDate As Date
Dim ReportEndDate As Date

ReportStartDate = txtStartDate.Text
ReportEndDate = txtEndDate.Text

strSql = "SELECT * from Outwards WHERE date >= #" & ReportStartDate & "#  And date <= #" & ReportEndDate & "# and ShiftNumber >= " & txtStartShift.Text & " And ShiftNumber <= " & txtEndShift.Text & ""
'rs.Open strSql, Con
rs.Open strSql, Con, adOpenKeyset, adLockOptimistic, adCmdText


Report.DiscardSavedData
Report.Database.Tables(1).SetDataSource rs, 3'>>> Where the error shows up

CRViewer1.ReportSource = Report.Application.OpenReport("C:\CrystalSample\NOPS36.rpt")

CRViewer1.Refresh
CRViewer1.ViewReport

Set Report = Nothing
Set rs = Nothing

Recommended Answers

All 3 Replies

okay, so I was searching around and I found that this Click Here guy was working on the same scenario that I was working on and probably got the solution but he didnt post it, any help would be appreciated

Report.Database.Tables(1).SetDataSource rs, 3'>>> Where the error shows up

If "1" (the only subscript there) is out of range, are sure that that should not be:

`Report.Database.Tables(0).SetDataSource rs, 3

Tables(1)

The error show up because he cant find table(1) check you data. TnTinMN, maybe is right.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.