Aktualisierungsmeldungen ausschalten/unterdrücken

Hallo liebe Experten,

habe in diesem Forum schon oft gelesen, dass man die Aktualisierungsmeldungen ausschalten kann. Zum Beispiel mit diesem VBA-Code

DoCmd.SetWarnings False oder unter Extras/Optionen oder mit einem Makro.

Das Problem ist jetzt nur, dass damit alle Fehlermeldungen ausgeschaltet werden. Ich habe 10 Abfragen in einem Makro zusammen gefasst und somit kommen 10 Aktualisierungsmeldungen, die ich aber unterdrücken möchte.
Ist das möglich mit einem VBA Code nur diese besimmten Warnmeldungen anzusprechen?

Danke Emma

Hallo.

Ist das möglich mit einem VBA Code nur diese besimmten
Warnmeldungen anzusprechen?

Du könntest mit Hilfe der Err.Number- Eigenschaft die Warnmeldungen einzeln auf Inhalt prüfen und ggf. unterdrücken. Halte ich aber nicht für empfehlenswert.

Was spricht gegen

Private Sub HauMich()
code
code
code
DoCmd.SetWarnings False
mach Abfrage1
DoCmd.SetWarnings True
code
code
code
DoCmd.SetWarnings False
mach Abfrage2
mach Abfrage3
mach Abfrage4
DoCmd.SetWarnings True
code
code
code
...
End Sub

? Oder ganz komfortzionös mit einem Aufruf von

Private Sub MachAbfrage(ByVal AbfrageName)
DoCmd.SetWarnings False
mach AbfrageName
DoCmd.SetWarnings True
End Sub

?

Gruß Eillicht zu Vensre

Hallo
Danke für deine schnelle Antwort.
Kann damit nur nicht so richtig was anfangen, bin noch Anfänger mit VBA und weiß nicht wo ich diesen Code hinschreiben soll. Muss ich das hinters Formular oder hinter den Button legen? Und was bedeutet MachAbfrage? Kannst du mir das erklären?

Gruß Emma

Hallo, Emma!

Ist das möglich mit einem VBA Code nur diese besimmten
Warnmeldungen anzusprechen?

Du willst also die Aktualisierungsabfragen ohne Meldung haben. Das machst Du mit

Application.SetOption "Confirm Action Queries",False
' ggf. auch:
Application.SetOption "Confirm Record Changes",False

Gruß, Manfred

Hallo, Emma!

Danke für deine schnelle Antwort.
Kann damit nur nicht so richtig was anfangen, bin noch
Anfänger mit VBA und weiß nicht wo ich diesen Code
hinschreiben soll. Muss ich das hinters Formular oder hinter
den Button legen?

Meinen Code kannst Du ggf. direkt in den Button hängen. Oder irgendwo hin, wo er ganz am Anfang aufgerufen wird.

Und was bedeutet MachAbfrage? Kannst du mir
das erklären?

Das wiederum ist eine eigene Funktion, die Abfragen ausführt und dabei vorher die Warnungen ausschaltet und anschließend wieder einschaltet. Um das nicht jedes mal vor und nach jeder Abfrage aufzurufen (und damit immer wieder machen zu müssen), ist es hübsch und einfacher, viel benutzte Codefragmente in Funktionen/Prozeduren zu erstellen.

Hilft Dir das erst mal weiter?

Gruß, Manfred

Gruß Emma

Hallo, Manfred!

Hilft Dir das erst mal weiter?

Dein Code hat mir super geholfen!!!
Jetzt werden noch die Schlüsselverletzungen angezeigt.
Gibt es dafür auch einen Befehl, das die verschwinden?

Ganz liebe Grüße Emma

Hi, Emma!

Hilft Dir das erst mal weiter?

Dein Code hat mir super geholfen!!!
Jetzt werden noch die Schlüsselverletzungen angezeigt.
Gibt es dafür auch einen Befehl, das die verschwinden?

Das geht dann nur noch mit dem SetWarnings. Allerdings sind das Meldungen, die Du u. U. ernst nehmen solltest, weil sie ggf. für „unsaubere“ bzw. falsche Daten sorgen könnten.

Brauchst Du das noch wo?

Gruß, Manfred

Hi, Manfred!

Nein danke, wenn das für falsche Daten sorgen könnte, lass ich lieber die Finger davon.
Ich kümmere mich dann erstmal um ein anderes Problem.
Danke für deine Hilfe so wie es jetzt schon ist bin ich sehr zufrieden.

Gruß, Emma