Beitrag aus SmartTools Access Weekly
Eingabe immer mit zwei Ziffern beginnen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich möchte Eingabefehler in einem Formular meiner Access-Datenbank so gut wie möglich vermeiden. Bei der Erfassung von alphanumerischen Artikelnummern wie zu Beispiel "10JKB2304" muss immer sichergestellt sein, dass es sich bei den ersten beiden Zeichen immer um eine Ziffer handelt. Wie kann man mit einer VBA-Prozedur erreichen, dass eine Meldung erscheint und das Verlassen des Feldes verhindert wird, solange diese Bedingung nicht erfüllt ist?
Diverse Anfragen
ANTWORT Öffnen Sie das Formular in der Entwurfsansicht, markieren Sie das Feld, lassen Sie mit F4 das Eigenschaftenfenster anzeigen und stellen Sie die Eigenschaft "Vor Aktualisierung" auf "[Ereignisprozedur]". Klicken Sie dann auf die Schaltfläche mit den drei Punkten hinter dem Eigenschaftenfeld und geben Sie im VBA-Editor folgende Anweisungen ein:
Dim X$
X$ = Left$(Me.Feldname,2)
If Not IsNumeric() Then
MsgBox "Die Eingabe muss immer mit 2 Ziffern beginnen!"
Cancel = True
End If
Diese Anweisungen extrahieren zunächst per "Left$()" die ersten beiden Zeichen in die Variable "X$". Die Abfrage "IsNumeric(X$)" prüft dann, ob das Ergebnis numerisch ist. Ist das nicht der Fall (Not), wird eine entsprechende Meldung angezeigt und per "Cancel = True" das Verlassen des Feldes unterbunden.