Hi,
das Problem liegt in der Zeile mit dem
uidoc.GotoField.... Wenn das auskommentiewrt ist, dann wird das Event, auch wenn ein OS-style - Feld folgt nur einmal ausgeführt.
...
If Len(teststring) <> 10 And Len(teststring) <> 0 Then
Msgbox("Dies ist keine korrekte Kundennummer. Sie muss 10-stellig sein.")
uidoc.GotoField("kundennr")
Exit Sub
End If
...
Warum das so ist, kann ich dir auch nicht sagen. Ich vermute, dass sich ein Feld im OS-Style an manchen Ecken etwas anders verhält. Oder einen Bug (oder Feature
)
Diese Art und Wiese hat sowieso ihre Tücken, denn die Events werden in bestimmten Fällen garnicht ausgeführt, z.B. Der User klickt auf Speichern ohne das Feld zu verlassen. Besser ist es die Prüfungen in den Validierungsformeln der entsprechenden Feldern oder im QuerySave-Event der Maske zu machen. Nachteil dabei ist allerdings, dass die Prüfung immer nur bei Speichern ausgeführt wird.
Axel