O'Reilly logo

Access™ 2007 VBA Programmer's Reference by Armen Stein, Geoffrey Griffith, Rob Cooper, Teresa Hennig

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

9.5. More on Absorbing Expected Errors

As stated earlier in this chapter, sometimes a normal activity in your application results in Access encountering an error. For example, if the code behind a report cancels the On Open event, Access displays an error message. Because this is a normal event, your user shouldn't see an error message. Your application should continue as though nothing happened.

The code in the Open event of the report looks something like this:

Private Sub Report_Open(Cancel As Integer)
On Error GoTo Error_Handler

  Me.Caption = "My Application"

  DoCmd.OpenForm FormName:="frmReportSelector_MemberList", _
  WindowMode:=acDialog

  'Cancel the report if "cancel" was selected on the dialog form.

  If Forms!frmReportSelector_MemberList!txtContinue = "no" Then
    Cancel = True
    GoTo Exit_Procedure
  End If

  Me.RecordSource = ReplaceWhereClause(Me.RecordSource,
  Forms!frmReportSelector_MemberList!txtWhereClause)

Exit_Procedure:
  Exit Sub

Error_Handler:
  DisplayUnexpectedError Err.Number, Err.Description

  Resume Exit_Procedure
  Resume

End Sub

An open selection criteria form is shown in Figure 9-8.

Figure 9.8. Figure 9-8

If the user clicks OK, the form is hidden and the report's On Open code continues. It adds the selection criteria to the report's RecordSource property and displays the report. However, if the user clicks Cancel, the form sets a hidden Continue text box to no before it ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required