Sorry to be a nuisance, but I'm not sure that I follow.
My query works when I enter dates into the date range when I use the
datasheet view. But when I try to open the report based on the query via
the
date form it comes up with the mentioned error.
The code for the form is:
Private Sub cmdPreview_Click()
'On Error GoTo Err_Handler 'Remove the single quote from start of
this line once you have it working.
'Purpose: Filter a report to a date range.
'Documentation:
http://allenbrowne.com/casu-08.html
'Note: Filter uses "less than the next day" in case the field
has a time component.
Dim strReport As String
Dim strDateField As String
Dim strWhere As String
Dim lngView As Long
Const strcJetDate = "\#mm\/dd\/yyyy\#" 'Do NOT change it to match your
local settings.
'DO set the values in the next 3 lines.
strReport = "CopyOfRptEmployeeStats2" 'Put your report name in
these quotes.
strDateField = "[QueryDate]" 'Put your field name in the square
brackets
in these quotes.
lngView = acViewReport 'Use acViewNormal to print instead of
preview.
'Build the filter string.
If IsDate(Me.txtStartDate) Then
strWhere = "(" & strDateField & " >= " & Format(Me.txtStartDate,
strcJetDate) & ")"
End If
If IsDate(Me.txtEndDate) Then
If strWhere <> vbNullString Then
strWhere = strWhere & " AND "
End If
strWhere = strWhere & "(" & strDateField & " < " &
Format(Me.txtEndDate + 1, strcJetDate) & ")"
End If
'Close the report if already open: otherwise it won't filter properly.
If CurrentProject.AllReports(strReport).IsLoaded Then
DoCmd.Close acReport, strReport
End If
'Open the report.
Debug.Print strWhere 'Remove the single quote from the start of
this line for debugging purposes.
DoCmd.OpenReport strReport, lngView, , strWhere
Exit_Handler:
Exit Sub
Err_Handler:
If Err.Number <> 2501 Then
MsgBox "Error " & Err.Number & ": " & Err.Description,
vbExclamation, "Cannot open report"
End If
Resume Exit_Handler
End Sub
Allen Browne said:
Save the query (since you say this works), and set the RecordSource
property
of the report to the name of the saved query.
If it still has problems after that, chances are that somewhere in your
report (e.g. in the Sorting And Grouping pane), you are referring to
fields
that the report does not return. The query gives you just 2 fields to
feed
to the report.