2016-03-26 14 views
1

Ich habe diesen Code-Set für eine meiner Feld (Eingabemaske Verletzung):Zugriff VBA - Formular abbrechen Fehlerereignis?

Private Sub Form_Error(DataErr As Integer, Response As Integer) 

Const INPUTMASK_VIOLATION = 2279 
     If DataErr = INPUTMASK_VIOLATION Then 
     MsgBox "You didn't fill the data correctly !", vbCritical 
     Response = acDataErrContinue 
     End If 

End Sub 

nun auf gleiche Form habe ich Undo-Taste. Wenn ich die Eingabemaske verletze und auf die Schaltfläche Rückgängig klicke, erscheint diese Eingabemask_Violation Msgbox weiterhin. Ich erlaube mir nicht, Schmutzige Daten zu stornieren, bis ich Daten in Feld richtig fülle.

Jede Option, um dies zu annullieren, wenn ich auf die Schaltfläche Rückgängig klicke?

Meine Undo-Taste Code:

If Me.Dirty Then Me.Undo 
+1

Sie können einen beliebigen Standardwert in dieses Feld eingeben, nachdem das Meldungsfeld angezeigt wurde. – gofr1

Antwort

0

Sieht aus wie dies nicht getan werden kann, ich verschiedene variaties ausprobiert habe. Die Verletzung der Eingabemaske ist ein Laufzeitfehler und tritt daher vor jedem VBA-Ereignis auf.

Verwandte Themen