Das Verfahren, um fehlerhafte Felder (in diesem Fall sind es wirklich Felder, da das nur im Frontend und mit Bezug zur Maske / Feld stattfindet), hatte ich doch beschrieben.
Hallo Bernhard,
nochmals Danke.
Meinst Du etwa so?
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument 'Aktuelles Dokument im Frontend
Dim doc As NotesDocument 'Aktuelles Dokument im Backend
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document 'Überführung des aktuellen UI Dokuments ins Backend
'Dim item As NotesItem
ForAll item In doc.Items
If Not IsArray(item) = False Then
MessageBox( item.Name )
End If
End ForAll
Gruß
Leo
Jetzt habe ich es ausprobiert, das ließ mir denn nun doch keine Ruhe.
Eine Maske mit einem Zahlenfeld und einem Datumsfeld, dort wirres Zeug eingetippt und gespeichert, es kommt genau die von Dir genannte Fehlermeldung.
Das Item auf Isarray abzufragen, hilft nichts, denn auch im Fehlerfall ist das Item ein Array, aber so geht es
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim doc As NotesDocument
Set doc = Source.Document
Forall item In doc.Items
If Not Isarray (doc.GetItemValue (item.Name)) Then
Msgbox item.Name
End If
End Forall
End Sub
oder so
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim doc As NotesDocument
Set doc = Source.Document
Forall item In doc.Items
If item.Text = "ERROR: " Then
Msgbox item.Name
End If
End Forall
End Sub
Und das funktioniert auch, wenn Richtextfelder in der Maske sind.
EDIT:
Wenn Du es so machst, werden Richtextfelder auch als Fehler ausgewiesen. Damit hätten wir den Einwand auch noch geklärt ...
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim doc As NotesDocument
Set doc = Source.Document
Forall item In doc.Items
If Not Isarray (item.Values) Then
Msgbox item.Name
End If
End Forall
End Sub