[AccessD] VBA Error Trapping

Ryan W wrwehler at gmail.com
Wed Apr 26 13:29:47 CDT 2023


I've got this bit of code that opens a report in preview mode and hidden,
if the NoData event cancels it I trap a 2501 error.

The lines that come after the DoCmd.OpenReport code will continue to run
and output the wrong data (an unfiltered report)

What's the best way to avoid the next two lines that depend on the report
to be open?


I have something like this:

With DoCmd
                        lError = 0
                        .OpenReport strReportName, acViewPreview, ,
strWhere, acHidden
                        If lError = 0 Then
                            .OutputTo acOutputReport, strReportName,
acFormatPDF, fullPath
                            .Close acReport, strReportName, acSaveNo
                        End If
                    End With

Err_Handler:
  if err.number = 2501 then
      lError = Err.Number
      Resume Next
   end if


Is this considered copacetic?   I tried without trapping the err.number to
a variable, but it seems resume next resets the errorcode back to 0.  Would
it be better to Resume to a label after the .close command?


More information about the AccessD mailing list