Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
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
Inhaltsverzeichnis

Bei Cancel = True wird BeforeUpdate 2x ausgeführt

Bei Cancel = True wird BeforeUpdate 2x ausgeführt
24.11.2008 23:34:00
JogyB
Hallo zusammen.
Hatte heute ein seltsames Problem mit BeforeUpdate bei einer TextBox. Ich mache dort eine Eingabeüberprüfung nach einer laufenden Nummer, z.B. 0456/08. Wenn das Format nicht stimmt, dann kommt eine MsgBox und Cancel wird auf True gesetzt, damit der Fokus auf der TextBox bleibt.
Das seltsame ist nun, dass BeforeUdate hier des öfteren doppelt ausgeführt wird - aber nicht jedes Mal, ab und an bleibt es (wie eigentlich zu erwarten) bei einer Ausführung. Außerdem treten diese Doppelausführungen nur auf, wenn Cancel auf True gesetzt wird, belasse ich es also nur bei der MsgBox, dann ist alles in Ordnung.
Ich habe auch versucht, das bei einem Testformular mit zwei Textboxen zu reproduzieren, aber da tritt das Problem nie auf.
Ich habe das jetzt umgangen, indem ich die Systemzeit zwischenspeichere und diese am Anfang von BeforeUpdate überprüfe. Hat sie sich nicht geändert, dann gehe ich von einer Doppelausführung aus und es wird nur Cancel auf True gesetzt. Das funktioniert so weit (wobei hier jetzt wieder ab und an der seltsame Fall auftritt, dass das Formular auf ein Tab oder Enter gar nicht reagiert, aber das ist letztendlich egal, da es beim nächsten Tastendruck wieder reagiert), nur paßt es mir nicht so ganz, einen Workaround für ein Problem nutzen, das es eigentlich nicht geben sollte.
Also: Hat jemand von Euch so etwas schon mal erlebt und wenn ja, kennt Ihr die Ursache?
Danke und Gruss,
Jogy
P.S.: Kann leider keine Beispieldatei hochladen. Das eigentliche Formular ist rein für die firmeninterne Nutzung und mit einem Beispielformular konnte ich das Verhalten nicht reproduzieren... ich weiß, das macht es nicht gerade einfacher.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Cancel = True wird BeforeUpdate 2x ausgeführt
25.11.2008 07:14:20
Gerd
Hallo Jogy,
vermutlich wäre hier das KeyPress-Ereignis zur Steuerung der Eingabe die bessere
Alternative.
Gruß Gerd
AW: Bei Cancel = True wird BeforeUpdate 2x ausgeführt
25.11.2008 18:11:00
JogyB
Hallo Gerd,
in Keypress wird schon abgefangen, dass nur Zahlen und der / eingegeben werden können. Allerdings kann ich dort das Format schlecht überprüfen, da ich die Cursorposition nicht kenne.
Ich kann natürlich Tab und Enter abfangen, aber gegen Mausklicks hilft das nicht.
Gruss, Jogy
AW: Bei Cancel = True wird BeforeUpdate 2x ausgeführt
25.11.2008 21:15:00
Gerd
Hallo Jogy,
ist 0456/08 in Aufteilung und Länge dein Pflicht-"Format" ?
Gruß Gerd
AW: Bei Cancel = True wird BeforeUpdate 2x ausgeführt
26.11.2008 16:17:00
JogyB
Hallo Gerd,
die erste Zahl ist eine laufende Nummer und kann auch weniger Stellen haben, das fange ich durch führende Nullen in der Verarbeitungsprozedur ab. Die hintere Zahl bezeichnet das Jahr und ist damit wie auch der / festgelegt.
Gruss, Jogy
Anzeige

18 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige