Wie gesagt, diese Abfrage dient ja nur dazu festzustellen, ob überhaupt etwas eingetragen ist. Ausgehebelt wird das meines Erachtens aber nur bedingt, denn Notes hat ja schon den Text in ERROR: umgewandelt zum Zeitpunkt der Abfrage. Also hat Notes ja schon gemerkt, dass etwas nicht stimmt, es wird nur die Meldung nicht angezeigt.
Bei einem F9 vor dem Speichern erscheint ordnungsgemäß die Meldung. Ein Source.Refresh vor Car_VerifyInput führt in der Tat zu der entsprechenden Meldung. Allerding läuft er dann in meine Error-Routine im Querysave.
Im Backend knallt es ja entsprechend mit der Meldung "Variant enthält keinen Container" bei strCA_BGInspectionNEW = Cstr(source.Document.CarNextBGInspection(0)). So kam das Ganze erst hoch.
Also werd ich das Ganze bei Datumsfeldern jetzt um IsDate ergänzen:
If Trim ( source.FieldGetText ( "CarNextBGInspection" ) ) = "" Then
Msgbox "Der Termin für die nächste Bg Prüfung wurde nicht angegeben!",,"DORNHÖFER GmbH"
Call ReportWriteWarning (EventName & " - CarNextBGInspection nicht ausgefüllt")
'RETURN
Car_VerifyInput = False
Exit Function
Else
If Not (Isdate(source.FieldGetText ( "CarNextBGInspection" ))) Then
Msgbox "Die Datumsangabe ist ungültig!",,"DORNHÖFER GmbH"
Call ReportWriteWarning (EventName & " - CarNextBGInspection enthält ungültiges Datum")
'RETURN
Car_VerifyInput = False
Exit Function
End If 'Not (Isdate(source.FieldGetText ( "CarNextBGInspection" )))
End If 'Trim(source.FieldGetText("CarNextBGInspection")) = ""
Da hab ich mir nie Gedanken zu gemacht, weil ich halt immer dachte Notes macht das schon :-) Was es ja auch tut, wenn der Benutzer das Feld verlässt vor dem Speichern