Alexander Klein
Grünschnabel
Hi.
Ich möchte in meiner Access-Anwendung (2002, DAO) per VBA die Eingabe der Jahreszahlen überprüfen lassen.
Nun, das klappt ja sehr schön, doch wenn ein Jahr, welches in der Zukunft liegt eingegeben wird, so soll die Eingabe gelöscht und der Cursor zur neuen Eingabe im Feld bleiben. Stattdessen springt der Cursor zum nächsten Feld.
Auch eine Schleife (do while) führte nicht zum Ergebnis, der Cursor springt immer zum nächsten Feld.
Was ist zu tun?
Schonmal DANKE für Eure Hilfe!
Alexander
P.S.:
Hier ist ein Code-Auszug:
Ich möchte in meiner Access-Anwendung (2002, DAO) per VBA die Eingabe der Jahreszahlen überprüfen lassen.
Nun, das klappt ja sehr schön, doch wenn ein Jahr, welches in der Zukunft liegt eingegeben wird, so soll die Eingabe gelöscht und der Cursor zur neuen Eingabe im Feld bleiben. Stattdessen springt der Cursor zum nächsten Feld.
Auch eine Schleife (do while) führte nicht zum Ergebnis, der Cursor springt immer zum nächsten Feld.
Was ist zu tun?
Schonmal DANKE für Eure Hilfe!
Alexander
P.S.:
Hier ist ein Code-Auszug:
Code:
Rem Prozedur zur Überprüfung von Jahreseingaben
Rem ===========================================
Private Sub Txt_Jahr_AfterUpdate()
Rem Bei _Change tauchten sogar Fehlermeldungen auf, wenn nur Zahlen
Rem eingegeben wurden; daher _AfterUpdate gewählt.
Dim j As Date 'Variable zur Ermittlung des Jahres
j = Now 'heutiges Systemdatum, z.B. 26.08.2004
If Not IsNumeric(Txt_Jahr) Then
MsgBox "Bitte nur Zahlen eingeben!"
Txt_Jahr = ""
Txt_Jahr.SetFocus
ElseIf Txt_Jahr > Format(j, "YYYY") Then
Dim jj
jj = Format(j, "YYYY") 'es wird nur 2004 ausgegeben
Rem j = Format(j, "YYYY") gibt 26.06.1905 anstatt 2004 aus,
Rem daher Hilfsvariable jj
Txt_Jahr = ""
Txt_Jahr.SetFocus 'Cursor springt trotzdem ins nächste Feld
MsgBox Txt_Jahr & " ist größer als " & jj
End If
End Sub