Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
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):
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.
- 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)
Bild 2: Gehe zu: Nächster fährt nach dem Fehler mit der folgenden Makroaktion fort.
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).
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo