Im Artikel VBA [basics]: Fehlerbehandlung mit VBA (www.access-basics.de/703) haben wir gezeigt, wie die Behandlung von Laufzeitfehlern grundsätzlich funktioniert. Darauf aufbauend zeigen wir im vorliegenden Artikel, wie Du die Fehler, die bei einer Anwendung auftreten, in einer Log-Tabelle protokollieren kannst. Dabei speichern wir Fehlerinformationen wie die Fehlernummer, die Beschreibung, die Nummer der fehlerhaften Zeile, das Modul und die Prozedur, in dem der Fehler aufgetreten ist. Das ist vor allem hilfreich, wenn Deine Anwendung von Deinen Kunden oder Mitarbeitern verwendet wird und Du beim Auftreten eines Fehlers Informationen zu diesem Fehler benötigst, ohne dass der Benutzer Dir diese umständlich in eine E-Mail schreiben oder auf eine andere Weise mitteilen muss.
Beispieldatenbank
Die Beispiele dieses Artikels findest Du in der Datenbank VBABasics_LaufzeitfehlerProtokollieren.accdb.
Warum Fehler protokollieren?
In Anwendungen gibt es verschiedene Arten von Laufzeitfehlern – solche, mit denen wir nicht rechnen und solche, die auch geplant eintreten können. Gerade solche, die nicht geplant auftreten, sollten wir ernst nehmen, da diese die Funktionalität der Anwendung beeinträchtigen können. Wenn der Benutzer also eine Fehlermeldung bekommt und diese einfach wegklickt, weil es danach irgendwie noch läuft, können wir die Fehler nicht sauber beheben.
Daher sollte man jeden Fehler, der im VBA-Projekt der Anwendung ausgelöst wird, protokollieren. So können wir zumindest von Zeit zu Zeit einmal prüfen, welche Fehler aufgetreten sind.
Noch besser ist es, wenn die Benutzer solche Fehler melden können und Du die Details zum jeweiligen Fehler erhältst. Dazu solltest Du allerdings einen einfachen Workflow bereitstellen, damit der Benutzer damit nicht überfordert ist.
Das ist aber oft der Fall, wenn der Benutzer eine nichtssagende Fehlermeldung erhält und sich dann womöglich telefonisch bei Dir meldet. Du musst dann umständlich gemeinsam mit dem Benutzer herausfinden, welcher Fehler aufgetreten ist und an welcher Stelle.
Das kostet unnötig Zeit und kann einfacher erledigt werden.
Tabelle zum Protokollieren von Fehlern
Die Idee dieses Artikels ist, dazu alle Fehler in einer Tabelle zu protokollieren.
Diese Tabelle sollte alle relevanten Informationen zu diesem Fehler enthalten:
- Nummer des Fehlers
- Beschreibung des Fehlers
- Nummer der Zeile, in welcher der Fehler aufgetreten ist
- Name des Moduls, in dem der Fehler aufgetreten ist
- Name der Prozedur, in welcher der Fehler aufgetreten ist
- Datum und Uhrzeit des Fehlers
- Name des Benutzers (optional für Rückfragen)
- Weitere Bemerkungen, wie zum Beispiele Werte von Variablen zum Zeitpunkt des Fehlers
Eine solche Tabelle könnte im Entwurf wie in Bild 1 aussehen.
Bild 1: Entwurf einer Tabelle zum Speichern von Fehlern
Fehlerbehandlung zum Protokollieren von Fehlern
Wie eine Fehlerbehandlung grundsätzlich aussieht, haben wir bereits im oben genannten Artikel erläutert.
Diese erweitern wir nun und spalten sie in zwei Teile auf.
Der erste Teil ist die Fehlerbehandlung in den Prozeduren selbst. Diese sorgt dafür, dass Fehler durch unseren eigenen Code behandelt und diese nicht durch die eingebaute Fehlerbehandlung von VBA verarbeitet werden – dies resultiert oft in für den Benutzer unverständlichen Fehlermeldungen.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo
![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)
