Fehlerbehandlung in Makros

Wenn Sie mit Makros programmieren, was zumindest beim Einsatz von Webdatenbanken (ab Access 2010) oder beim Einsatz von Datenmakros nötig ist, möchten Sie vielleicht auch eine Fehlerbehandlung zu Ihren Makros hinzufügen. Dieser Artikel zeigt, wie Fehlerbehandlung in Makros funktioniert und welche Makroaktionen dafür benötigt werden.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1403_Makros.mdb.

Makroaktionen zur Fehlerbehandlung

Für die Fehlerbehandlung stellt Access ab Version 2010 die beiden folgenden Makroaktionen zur Verfügung:

  • BeiFehler: Wird vor dem Aufruf der mit einer Fehlerbehandlung zu versehenen Makroaktionen aufgerufen und nimmt die beiden Parameter Gehe zu und Makroname entgegen.
  • LöschenMakroFehler: Löscht die Informationen des zuletzt aufgetretenen Fehlers

Makroaktion BeiFehler

Die Makroaktion BeiFehler erlaubt verschiedene Aktionen, wenn ein Fehler in einer der folgenden Makroaktionen ausgelöst wird. Diese können Sie mit dem Parameter Gehe zu einstellen (siehe Bild 1):

Mögliche Schritte nach dem Auftreten eines Fehlers

Bild 1: Mögliche Schritte nach dem Auftreten eines Fehlers

  • Nächster: Sorgt dafür, dass die fehlerhafte Anweisung ignoriert und die folgende Anweisung ausgeführt wird. In Bild 2 löst die Division durch 0 einen Fehler aus und zeigt gleich die folgende Meldung an. Dies entspricht der Anweisung On Error Resume Next unter VBA.
  • Gehe zu: Nächster fährt nach dem Fehler mit der folgenden Makroaktion fort.

    Bild 2: Gehe zu: Nächster fährt nach dem Fehler mit der folgenden Makroaktion fort.

  • Macroname: Sie können eine Fehlerbehandlung in einem Makro oder einem Untermakro programmieren. Wenn Sie diese Option auswählen, geben Sie für den zweiten Parameter Makroname den Namen des aufzurufenden Makros oder Untermakros an.
  • Fehlgeschlagen: Löst den Fehler aus und zeigt die Standardmeldung von Access an, so als ob die Fehlerbehandlung gar nicht aktiviert wäre. In der Tat dient diese Variante dazu, eine zuvor aktivierte benutzerdefinierte Fehlerbehandlung wieder zu deaktivieren (entspricht der Anweisung On Error Goto 0 unter VBA)

In letzterem Fall würde Access die gleiche Fehlermeldung anzeigen, als wenn das Makro keine Fehlerbehandlung enthielte. Diese sieht wie die Fehlermeldung aus, welche eine entsprechende VBA-Anweisung auslösen würde – nur ohne Angabe der Fehlernummer und ohne die Möglichkeit, den Fehler zu debuggen (siehe Bild 3).

Gehe zu: Fehlgeschlagen zeigt die eingebaute Fehlermeldung von Access an.

Access [basics]

Unser exklusives Angebot für Dich!

Access im Unternehmen
7,90 € im Monat*

(Das Abo ist jederzeit monatlich kündbar)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →