We help IT Professionals succeed at work.

Stop debug when a docmd operation is cancelled

Sheils asked
I am using the following code to open a form

Private Sub License_Certificate_Click()
DoCmd.OpenForm ("edit records")

End Sub

The record source for the form is a query which asks for the license number before opening. Everything works fine except for when you forget the license number and click cancel on the message box. This gives an error and opens the dedugging dialog box.

How do I stop the code from activating dedug when someone press cancel on the message box  
Watch Question

Database Developer
Alas the answer is merely one of best practice anyway.
i.e. Error Handling.

It can be as blanketing as:

Private Sub License_Certificate_Click()
On Error Resume Next
    DoCmd.OpenForm "edit records"
End Sub

or decisive as:

Private Sub License_Certificate_Click()
On Error Goto ErrHere
    DoCmd.OpenForm "edit records"
    Exit Sub
    If Err <> 2501 Then
        Msgbox "Error other than form cancelled opening :-)"
    End If
End Sub

However the handling must be performed in the calling procedure.
For the error is raised in the method which attempted to open the form.  The form itself remains innocent. :-)


Thanks LPurvis

Explore More ContentExplore courses, solutions, and other research materials related to this topic.