Wenn Sie Aktionsabfragen mit DoCmd.RunSQL oder CurrentDb.Execute ausführen, erscheinen für den Benutzer eher unverständliche Fehlermeldungen – oder gar keine. Dieser Artikel zeigt, wie Sie diese durch eigene Fehlermeldungen ersetzen.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 2003_FehlerAktionsabfrage.accdb.
Fehler in Aktionsabfragen
Wenn Sie eine Aktionsabfrage ausführen und dabei ein Fehler auftritt, gibt Access eine für Laien unverständliche Meldung aus. Das kann zum Beispiel passieren, wenn Sie mit einer Anfügeabfrage einen Datensatz anfügen, der einen bereits vorhandenen Wert in einem Feld mit eindeutigem Index enthält (siehe Bild 1).
Bild 1: Fehlermeldung beim Versuch, mit DoCmd.RunSQL einen bereits vorhandenen Datensatz erneut anzufügen
Diese Meldung erscheint bei folgender Anweisung, wobei die Zieltabelle ein mit einem eindeutigen Index ausgestattetes Feld enthält:
DoCmd.RunSQL "INSERT INTO tblEindeutigesFeld( EindeutigesFeld) VALUES('Beispiel')"
Wenn wir die Aktionsabfrage mit folgender Anweisung ausführen, erscheint gar keine Fehlermeldung und die Abfrage wird einfach nicht ausgeführt:
CurrentDb.Execute "INSERT INTO tblEindeutigesFeld( EindeutigesFeld) VALUES('Beispiel')"
Erst, wenn wir hier den Parameter dbFailOnError anhängen, zeigt sie eine Fehlermeldung an:
CurrentDb.Execute "INSERT INTO tblEindeutigesFeld( EindeutigesFeld) VALUES('Beispiel')", dbFailOnError
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: