Als erstes nochmals zum QueryClose:
Wenn ich in ein bestehendes Dokument etwas eingegeben hatte und dann auf das Kreuzchen gedrückt habe, klappte das Dokument zu meiner Verblüffung kommentarlos zu, kein Speicherdialog. Wenn ich bzw. der Anwender nichts eingebe, soll auch kein Script ablaufen. Ich war nach dem Hinweis von M3 schon am Überlegen, ob die Validierung da auch noch mal reingehört.
Ich habe heute eine Testmaske testa mit einem Testfeld test1(einfaches Textfeld,
ohne Eingabevalidierung etc.) angelegt.
| Function Validation As Boolean |
| |
| Dim ws As New Notesuiworkspace |
| Dim uidoc As NotesUIDocument |
| Dim strPflichtTab1 List As String |
| Felder mit Label aufnehmen |
| |
| |
| |
| strPflichtTab1("test1") = "Testfeld" |
| Set uidoc= ws.currentDocument |
| Validation = true |
| |
| Forall v In strPflichtTab1 |
| Print Cstr(v) |
| If uidoc.FieldGetText(Listtag(v)) = "" Then |
| Print Listtag(v) |
| Messagebox "Bitte füllen Sie das Feld " & V & " aus!", 0, |
| "Eingabefehler" |
| |
| uidoc.GotoField(Listtag(v)) |
| Validation = False |
| End If |
| End Forall |
| End Function |
| Sub Querysave(Source As Notesuidocument, Continue As Variant) |
| |
| If Validation Then |
| 'Historie schreiben |
| Else |
| continue = False |
| Exit Sub |
| End If |
| |
| End Sub |
Die Testmaske verhielt sich völlig normal.
Daraufhin habe ich die alte Maske kopiert, und die Maskenkopie arbeitet genauso wie erwartet. Die ursprüngliche Maske schliesst sich weiterhin. Da muss also irgendwas im Designelement gehakt haben.

Grüsse
Dau-in