Access Makro Stoppen mit VBA Variable als Bedingung?
Hallo,
ich habe ein Access 2003 Formular mit dem wir neue Kundenaufträge erfassen. Das hat vor 10 Jahren mal jemand für uns programmiert.
Da wird unter anderem eine Bestellnummer vom Kunden angegeben und dann oben auf den OK-Button geklickt. Der OK-Button führt dann ein Makro aus, dass diverse Sachen prüft und dann den Datensatz speichert. Ich mag zwar keine Makros, aber so ist es nun mal programmiert.
So sieht das Formular aus
http://img6.imageshack.us/img6/2927/20130611154446.jpg
Jetzt möchte ich eine Funktion einfügen, die das Feld "Bestellnummer" überprüft, ob diese Nummer schon in der DB vorhanden ist. Das habe ich erstmal so gemacht
Sub Check_Bestellnummer()
If DCount("*", "Fertigung", "[F_Knd_Besl_Nr]='" & Me![F_Knd_Besl_Nr] & "'") > 0 Then
Msg = Ein Auftrag mit dieser Bestellnummer ist schon vorhanden?
End Sub
Private Sub F_Knd_Besl_Nr_LostFocus()
Check_Bestellnummer
End Sub
Wenn dann nach Eingabe der Nummer oben auf OK geklickt wird, kommt auch die Messagebox falls die Nummer doppelt ist. Aber danach wird das Formular trotzdem gespeichert, weil das Makro ja nach der Messagebox weiterläuft.
Kann man irgendwie das Makro durch Abfragen einer VBA Variablen stoppen? Dann könnte ich eine Variable setzen, falls der User bei der Messagebox auf "Abbrechen" drückt und diese Variable dann im OK-Button Makro als erstes abfragen. Den Befehl "stop macro" gibt es ja aber ich weiß nicht wie als Bedingung die Variable checken kann.
Wisst ihr da vielleicht was?
Gruß, Oliver
ich habe ein Access 2003 Formular mit dem wir neue Kundenaufträge erfassen. Das hat vor 10 Jahren mal jemand für uns programmiert.
Da wird unter anderem eine Bestellnummer vom Kunden angegeben und dann oben auf den OK-Button geklickt. Der OK-Button führt dann ein Makro aus, dass diverse Sachen prüft und dann den Datensatz speichert. Ich mag zwar keine Makros, aber so ist es nun mal programmiert.
So sieht das Formular aus
http://img6.imageshack.us/img6/2927/20130611154446.jpg
Jetzt möchte ich eine Funktion einfügen, die das Feld "Bestellnummer" überprüft, ob diese Nummer schon in der DB vorhanden ist. Das habe ich erstmal so gemacht
Sub Check_Bestellnummer()
If DCount("*", "Fertigung", "[F_Knd_Besl_Nr]='" & Me![F_Knd_Besl_Nr] & "'") > 0 Then
Msg = Ein Auftrag mit dieser Bestellnummer ist schon vorhanden?
End Sub
Private Sub F_Knd_Besl_Nr_LostFocus()
Check_Bestellnummer
End Sub
Wenn dann nach Eingabe der Nummer oben auf OK geklickt wird, kommt auch die Messagebox falls die Nummer doppelt ist. Aber danach wird das Formular trotzdem gespeichert, weil das Makro ja nach der Messagebox weiterläuft.
Kann man irgendwie das Makro durch Abfragen einer VBA Variablen stoppen? Dann könnte ich eine Variable setzen, falls der User bei der Messagebox auf "Abbrechen" drückt und diese Variable dann im OK-Button Makro als erstes abfragen. Den Befehl "stop macro" gibt es ja aber ich weiß nicht wie als Bedingung die Variable checken kann.
Wisst ihr da vielleicht was?
Gruß, Oliver
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207832
Url: https://administrator.de/contentid/207832
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar