Moin Leute,
ich habe mir eine Aktion zusammengebastelt die folgendes bewirken soll...
Ich markiere (Pfeil auf der linken Seite der Ansicht) mehrere Dokumente und sie sollen auf deren ID (Feld im Dokument) eine db.Search durchführen um die Dokumente mit der gleichen ID zu finden.
Das klappt auch soweit
Mein Problem ist, wenn man diese Aktion ein zweites mal ausführen will, dann ist die Auswahl der Dokumente immernoch vorhanden
Also wenn ich beim ersten mal 2 Dokumente ausgewählt habe und diese gelöscht sind, dann kann ich beim zweiten mal (ohne die Ansicht zu ändern) diese Aktion nicht ohne Fehler ausführen, da die Auswahl der gelöschten Dokumente noch aktiv ist.
Dann habe ich quasi, wenn ich 2 nicht gelöschte Dokumente auswähle gleich 4.
Also mir fehlt eigentlich nur der Ansatz um die Auswahl der Dokumente am Ende des Scripts zu entfernen ;O
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim col As NotesDocumentCollection
Set col = db.UnprocessedDocuments
Dim doc As NotesDocument
Dim doc2 As NotesDocument
Dim loeschcol As NotesDocumentCollection
Dim loeschcol2 As NotesDocumentCollection
Dim confirm As Variant
Dim view As NotesView
Dim wk As NotesUIWorkspace
Set loeschcol2 = db.createdocumentcollection
Set doc = col.GetFirstDocument
Do While Not doc Is Nothing
On Error Goto HandlerA
Set loeschcol = db.Search (|IBAUNUMMER = | & doc.IBAUNUMMER (0) & ||, Nothing, 0)
Set doc2 = loeschcol.getfirstdocument
Do While Not doc2 Is Nothing
Call loeschcol2.adddocument(doc2)
Call session.UpdateProcessedDoc( doc2 )
Set doc2 = loeschcol.GetNextDocument(doc2)
Loop
HandlerA:
Set doc = col.GetNextDocument(doc)
Loop
boxType& = MB_YESNO + MB_ICONQUESTION
confirm = Messagebox("Wollen Sie wirklich " & loeschcol2.Count & " Projekte und Submissionsergebnisse löschen?", boxType&, _
"Continue?")
If confirm = 6 Then
Msgbox(loeschcol2.Count & " Projekte und Submissionsergebnisse wurden gelöscht. Bitte aktualisieren Sie die Ansicht mit der Taste F5")
Call loeschcol2.RemoveAll (True)
Elseif confirm = 7 Then
Msgbox(loeschcol2.count & " Dokumente wurden nicht gelöscht.")
End If
End Sub