Domino 9 und frühere Versionen > ND8: Entwicklung
FTSearch und Dokumente mit Leserfeldern
koehlerbv:
Ich erinnere mich, daß das mit der UniversalID nicht sicher alle Fälle von "ungültig" abgedeckt hat. Probiert hatte ich das nämlöich auch mal.
Bernhard
Jürgen Schomann:
Nochmals Danke für die weiteren Hinweise.
Die Hinweise bezüglich der Performance bei den Prüfungen IsEmpty bzw. Is Deleted sind natürlich auch berechtigt aber irgendwie muss mann ja prüfen.
Ganz ausgeschlossen ist ein undefinierter Zustand letzendlich auch dann nicht. So könnte ein Dokument nach Prüfung mit IsDeleted und vor dem ersten Zugriff auf ein Item auch gerade gelöscht werden.
Könnte man für eine NotesDocumentCollection dann so wie im folgenden Muster gezeigt verfahren?
Dim session As New NotesSession
Dim dbThis As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Set dbThis = session.CurrentDatabase
Set dc = dbThis.FTSearch("...", 0)
Set doc = dc.GetFirstDocument
While Not (doc Is Nothing)
If Not (IsEmpty(doc.Items) Or doc.IsDeleted) Then
...
End If
Set doc = dc.GetNextDocument(doc)
Wend
Bei einer NotesViewEntryCollection könnte es dann so aussehen?
Dim session As New NotesSession
Dim dbThis As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim doc As NotesDocument
Set dbThis = session.CurrentDatabase
Set view = dbThis.GetView("...")
view.AutoUpdate = False
Set vc = view.AllEntries
Set entry = vc.GetFirstEntry()
While Not (entry Is Nothing)
If entry.IsValid Then
Set doc = entry.Document
If Not IsNull(doc) Then
...
End If
End If
Set entry = vc.GetNextEntry(entry)
Wend
Jürgen Schomann:
Noch ein kurzer Nachtrag.
NotesDocument.Size ist bei gelöschten bzw. Dokumenten ohne Leseberechtigung 0. Könnte man ggf. statt IsEmpty(NotesDocument.Items) ggf. dann auch dies abfragen?
Pyewacket:
Ginge nicht auch die Abfrage auf die Anwesenheit des Items "$UpdatedBy"?
Peter
koehlerbv:
Das ist ja i.d.R. das Problem - auf die Items besteht gar kein Zugriff.
Bernhard
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln