godlike
Goto Top

Access - Makro trotz Fehlermeldung weiter ausführen

Hallo,

ich habe ein Makro, was nacheinander mehrere Abfragen (vom Typ Clear, Update, Insert) aufruft.
Da ich momentan einen Datenimport vorbereite habe ich auch Abfragen, die eventuell nicht funktionieren werden (weil für den vorgesehenen Fall keine Daten vorhanden sein könnten).
Das ist nicht weiter schlimm, wenn halt nix da ist muss auch nix geändert werden.

Auf jeden Fall handelt es sich dabei um eine Update-Abfrage, die mit DateAdd hantiert. Wenn aber keine Datensätze vorhanden sind, die das DateAdd verwendet,
bekomme ich die Fehlermeldung (Datentypen in Kriterienausdrücken unverträglich).

Mein Problem ist nun: Das Makro soll trotzdem weiterlaufen und nicht einfach abbrechen, wenn ein Fehler kommt...
Kann man das irgendwie einstellen?

Edit: Habe die Abfragen geändert, so dass sie keine Fehlermeldungen mehr produzieren. Danke für eure Hilfe!

Content-ID: 87564

Url: https://administrator.de/contentid/87564

Ausgedruckt am: 08.11.2024 um 09:11 Uhr

AndreasHoster
AndreasHoster 14.05.2008 um 12:17:48 Uhr
Goto Top
Im Makro ganz einfach.
Die Aktion heißt <Warnmeldungen> und die hat den Parameter Ja und Nein.
Godlike
Godlike 14.05.2008 um 13:03:37 Uhr
Goto Top
Danke für die Antwort, aber <Warnmeldungen> schaltet nur Warnmeldungen ab; Fehlermeldungen erscheinen trotzdem...
AndreasHoster
AndreasHoster 14.05.2008 um 13:22:05 Uhr
Goto Top
Na gut, und ich dachte immer, Primärschlüsselverletzungen sind Fehler, keine Warnungen (die habe ich bei mir nämlich damit abgeschaltet).

Wenn solche Fehler damit nicht abgeschaltet werden können, wüsste ich auch nichts weiteres.
NilsErik
NilsErik 14.05.2008 um 15:48:21 Uhr
Goto Top
Und wenn Du die Fehlermeldung durch eine Prüfung vermeidest und stattdessen einen vernünftigen Wert einfügst?

So in der Art:
UPDATE Tabelle SET Tabelle.Datum = IIf(IsNull(irgendeinDatum),[WertWennLeer],datadd("m",2,irgendeindatum))

Oder im Designer halt mit Wenn und IstNull in der Zeile Aktualisieren
Wenn(istNull([irgendeinDatum];[WertWennLeer];DatAdd("m",2,irgendeindatum))

Oder wenn bei leeren Datumswerten nichts passieren soll, die Datensätze mit leeren Werten herausfiltern.

Fehlermeldungen abzuschalten, wenn man die Fehler abfangen kann, ist immer ungünstig. Dann können nämlich auch Fehler durchgehen, mit denen man garnicht rechnet.