Fehlermeldung bei Aktionsabfragen abfangenWenn 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.

Aktionsabfragen werden in VBA vorzugsweise durch die DoCmd-Methode RunSQL oder durch die Anweisung CurrentDB.Execute ausgeführt. Zum Abfangen von Fehlermeldungen von Aktionsabfragen taugt nur zweitere. Folgendes Beispiel zeigt, wie das Abfangen eines Fehler funktioniert:
On Error Resume Next
CurrentDb.Execute "INSERT INTO tblAnreden(Anrede) VALUES('Herr')", dbFailOnError
If Err.Number = 3022 Then
MsgBox "Der Eintrag ist bereits vorhanden.", vbOKOnly + vbExclamation, "Doppelter Eintrag"
Exit Sub
ElseIf
'weitere Error-Handler
End If
Der Fehler mit der Nummer 3022 tritt auf, wenn einer Tabelle ein doppelter Wert in einem eindeutigen Feld hinzugefügt werden soll. Im Beispiel wird in diesem FAll eine entsprechende Fehlermeldung ausgegeben und die Prozedur abgebrochen. |