Prüfschleife

Hallo Leute,
Ich bin ein wenig verzweifelt.
Ich habe ein EigabeFormular in Access 2010 erstellt und möchte, dass in der TextBox mit Name „Beginn“ nur ein Datum eingegeben werden kann, dass in der Zukunft liegt. Dazu habe ich die folgende Ereignisprozedur geschrieben:
Private Sub Beginn_AfterUpdate()
Me.Prüfungsausgabe_zum = (Beginn - 14)
If Beginn < Date Then
msgBox („Das Beginn-Datum muss in der Zukunft liegen !“): Me.Beginn = „“
Prüfungsausgabe_zum = „“
Me.Beginn.SetFocus
Else
Exit Sub
End If
End Sub

Leider springt der Curser nach löschung des Eintrages aber immer auf die nächste TextBox.
gebe ich eine andere TextBox des Formulars an, dann funktionierts.
Die TextBox Beginn ist als Datum Formatiert - liegt es vllt. daran ?
Christian

Moin,

quäl Dich nicht mit der Ereignisprozedur fürs Feld. nimm lieber gleich Form_BeforeUpdate, mach dort die Feldprüfungen und setze dann den Cursor, wie Du magst.

Dein Code läuft bei mir unter O2007 nicht, weil Me.Beginn kein Feld bezeichnet, sondern eine Methode. Ich muss Me!Beginn schreiben.

Kriegst Du denn keinerlei Fehlermeldungen?

Gruß Ralf

Hallo Ralf,
Nein, keinerlei Fehlermeldung. Das macht mich ja so stutzig.
vb übergeht einfach diese Zeile und setzt den Courser auf das nächste Feld.
Keine Erklärung dafür…
Habe es auch mit Me!Beginn versucht.geht auch nicht.
ich habe das Textfeld erzeugt mit past und copie, anschließend den Namen geändert. kann das damit zusammenhängen ?
Christian

Moin,

eher nicht. Geh den Code mal schrittweise durch (F8).

Gruß Ralf

hab gemacht:
msgBox („Das Beginn-Datum muss in der Zukunft liegen !“): Me.[Beginn].SetFocus

Bei dieser Zeile, nach der msgBox beim wird der übrige code einfach ignoriert…
Me.Beginn.SetFocus mach er einfach nicht. Bringt aber auch keinen Hinweis.

Christian

Hi,

ich hab’s inzwischen auch nachgestellt, sieht exakt so aus wie bei Dir.

In meiner Gruschdkiste zeigt sich die Plausi ganz anders: Dort wird das Ereignis Form_BeforeUpdate benutzt, da werden alle Felder auf passende Einträge geprüft und dann das Formular emtweder verworfen oder upgedatet. Warum ich das 1998 so geregelt habe, weiß ich nicht mehr, wird aber genau wegen des geschilderten Effektes sein.

Abgesehen davon: Mir erschließt sich nicht, wozu das AfterUpdate gut sein soll. Da musst Du doch im Fehlerfall den Satz wieder in den alten Stand versetzen.

Gruß Ralf