Freigeben über


OnError-Makroaktion

Gilt für: Access 2013, Office 2013

Mit der BeiFehler-Aktion können Sie angeben, was geschehen soll, wenn in einem Makro ein Fehler auftritt.

Einstellung

Die BeiFehler-Aktion hat die folgenden Argumente.

Aktionsargument

Beschreibung

Wechseln Sie zu

Geben Sie das allgemeine Verhalten an, das auftreten soll, wenn ein Fehler entdeckt wird. Klicken Sie auf den Dropdownpfeil, und klicken Sie dann auf eine der folgenden Einstellungen:

Einstellung

Beschreibung

Next

Microsoft Office Access 2007 zeichnet die Details des Fehlers im MacroError-Objekt auf, das Makro wird jedoch nicht beendet. Das Makro wird mit der nächsten Aktion fortgesetzt.

Makroname

Access beendet das aktuelle Makro und führt das im Argument Makroname genannte Makro aus.

Fehler

Access beendet das aktuelle Makro und zeigt eine Fehlermeldung an.

Makroname

Wenn das Argument Gehe zu auf Makroname festgelegt ist, geben Sie den Namen des Makros ein, das für die Fehlerbehandlung verwendet werden soll. Der eingegebene Name muss mit einem Namen in der Spalte Makroname des aktuellen Makros übereinstimmen. Sie können den Namen eines anderen Makroobjekts nicht eingeben. Im folgenden Beispiel ist das ErrorHandler-Makro im selben Makroobjekt enthalten wie die OnError-Aktion . Dieses Argument muss leer bleiben, wenn das Argument Gehe zu auf Nächster oder Fehler festgelegt ist.

Hinweise

  • Die BeiFehler -Aktion wird gewöhnlich zu Beginn eines Makros platziert, sie kann jedoch auch später im Makro platziert werden. Die in der Aktion eingerichteten Regeln werden bei jedem Ausführen der Aktion wirksam.

  • Wenn Sie das Argument Gehe zu auf Fehler festlegen, verhält Access sich so, als befände sich keine BeiFehler -Aktion im Makro. Das heißt, wenn ein Fehler entdeckt wird, beendet Access das Makro, und es wird eine Standardfehlermeldung angezeigt. Die Hauptverwendung für die Einstellung Fehler besteht im Ausschalten jeder zuvor im Makro eingerichteten Fehlerbehandlung.

Beispiel

The following macro demonstrates the use of the OnError action. In this example, the OnError action specifies that Access run a custom error handling macro named ErrorHandler when an error occurs. Wenn ein Fehler auftritt, wird das Untermakro CatchErrors aufgerufen. Wenn die Fehlernummer 2102 ist, wird eine bestimmte Meldung angezeigt, und die Makroausführung wird angehalten. Andernfalls wird eine Meldung angezeigt, die den Fehler beschreibt, und das Makro wird angehalten, sodass Sie eine zusätzliche Problembehandlung durchführen können. The ErrorHandler macro displays a message box that refers to the MacroError object to display information about the error.

Der Beispielcode stammt von:Microsoft Access 2010 Programmer's Reference.

    /* MACRO: mcrThrowErrors                                  */
    /* PURPOSE: Error handling using macros in Access 2010    */
    
    OnError
        Go to Macro Name
        Macro Name CatchErrors
    
    OpenForm 
        Form Name frmSamples
        View Form
        Filter Name
        Where Condition
        Data Mode
        Window Mode Normal
    
    MessageBox 
        Message This message appears after the OpenForm action
        Beep Yes
        Type None
        Title
    
    
    /* SUBMACRO: CatchErrors                                   */
    
    SubMacro: CatchErrors
        If [MacroError].[Number]=2101 Then
            MessageBox
                Message Cannot find the specified form!
                Beep Yes
                Type Critical
                Title
            StopMacro
    
        Else
            MessageBox
                Message =[MacroErro].[Description]
                Beep Yes
                Type None
                Title Unhandled Error
    
            SingleStep
        End If
    
    End SubMacro