Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Exit Ereignis

Exit Ereignis
05.11.2007 11:42:02
Sebastian
Hallo liebe Experten!
Ich habe folgendes Problem bezüglich des Exit-Ereignisses:
Ich habe eine Eingabemaske für eine Excel-Datenbank programmiert. In der Datenbank befinden sich mehrere nummerierte Objekte. Mittels meiner Eingabemaske werden neue Einträge hinzugefügt. Um doppelte Eingaben zu verhindern, wird bei der Eingabe der Objektnummer geprüft, ob das Objekt bereits in der Datenbank vorhanden ist. Folgende Routine wird verwendet:

Private Sub TxtObjektnummer_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.TxtObjektnummer.Value  "" Then
If DurchsucheObjektNummer(Me.TxtObjektnummer.Value) = True Then
MsgBox ("Objekt ist bereits in der Datenbank vorhanden")
Me.TxtObjektnummer.Value = ""
Me.TxtObjektnummer.SetFocus
Else
End If
End If
End Sub


Ich bin bisher davon ausgegangen, dass das Exit Ereignis ausschließlich bei Verlassen des entsprechenden Steuerelements ausgelöst wird. Wenn ich allerdings meine Prozedur zum Auslesen der Werte in meine Datenbank per Button aktiviere, wird nach dem Befehl Unload Me nochmal das Exit-Ereignis gestartet. Somit findet er den frisch eingetragenen Wert in der Datenbank und zeigt mir die MsgBox "Objekt ist bereits in der Datenbank vorhanden" erneut an.
Was kann ich tun? Kennt jemand dieses Problem? Wäre wirklich äußerst dankbat für Tipps oder Ratschläge. Mit dem Befehl Application.EnableEvents = False habe ich es auch schon versucht, leider vergeblich.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exit Ereignis
05.11.2007 11:55:00
Oberschlumpf
Hi Sebastian
Application.EnableEvents verhindert nur Ereignisse direkt in der Tabelle. Auf Ereignisse in einem Userform hat Application.EnableEvents keine Auswirkung.
Versuch es so (ungetestet):
1. Schreib in die erste Zeile (d)eines allgemeinen Moduls das hier

Public pboExitNotOk As Boolean


2. Schreib ins Terminate-Ereignis deines UFs das hier


pboExitNotOk = True


3. Schreib ins Exit-Ereignis jeder Textbox das hier in die erste!! Zeile


If pboExitNotOk = True Then Exit Sub


Wenn nun beim Schließen des Userforms zuerst das Terminate-Ereignis abgefragt wird, dann wird die Variable pboExitNotOk auf True gesetzt.
Und wenn im 2. Schritt das Exit-Ereignis abgefragt wird, erfolgt keine Makroabarbeitung, da durch pboExitNotOk = True das Exit-Ereignis gleich wieder verlassen wird.
Hilft das?
Ciao
Thorsten

Anzeige
AW: Exit Ereignis
05.11.2007 12:13:00
Sebastian
Danke für die schnelle Antwort. So wie du es beschrieben hast, klappt es auch.
Tausend Dank und beste Grüße!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige