@Tode
Problem verstanden, die Lösung noch nicht (liegt bestimmt an der Hitze) ;-)
ich habe eine Ansicht:
1. Spalte kategorisiert nach $Ref (= Nummer)
2. Spalte aufsteigend nach Hash
3. Spalte absteigend nach Flag
Im Querysave des Dokuments läuf dieser Code:
...
Set dc = view.GetAllDocumentsByKey(doc.Nummer(0), True)
Set docCheck = dc.GetFirstDocument
While Not(docCheck Is Nothing)
'???
Set docCheck = dc.GetNextDocument(docCheck)
Wend
...
Wie kriege ich jetzt nur das 1. Dokument von Hash?
Key kann ein Array sein...
Dim key(1) as String
key(0) = doc.Nummer(0)
key(1) = doc.Hash(0)
Set dc = view.GetAllDocumentsByKey(key, True)
Damit ist dummerweise das erste Dokument in Deiner collection immer das "älteste" bzw das mit der kleinsten NoteID, weil DocumentCollections nie sortiert sind...
Besser ist es, mit einem NotesViewNavigator zu arbeiten und dann mit NotesViewEntries: Das ist sauschnell, weil es auf dem Viewindex basiert...
Dim viwNav as NotesViewNavigator
Dim ve as NotesViewEntry
Set viwNav = view.CreateViewNavFromCategory( doc.Nummer(0) )
Set ve = viwNav.GetFirstEntry()
blnHashFound = False
While not ve is Nothing
If ve.ColumnValues(1) = doc.Hash(0) then
If ve.ColumnValues(2) = "1" then
blnHashFound = True
End If
End If
If blnHashFound = False then
Set ve = viwNav.GetNextEntry(ve)
Else
Set ve = Nothing
End If
Wend
If blnHashFound = False then
docCheck.Flag = "1"
End If
Set ve = viewNav.GetFirstEntry()
bringt Fehler
Not a member GETFIRSTENTRY