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 |