Domino 9 und frühere Versionen > Entwicklung
Collection durchlaufen und dabei Doc removen
Don Pasquale:
Hallo Leute,
ich möchte alle Dokumente in einem Ordner durchlaufen und
anhängig von einem Kriterium, das Dokument aus diesem Ordner
nehmen.
Nach Ablauf der Routine sind aber noch gut die Hälfte der
Dokumente übrig, ich vermute, dass wenn das erste Dokument
gelöscht wurde, das GetNextDocument das Dritte Document nimmt,
weil er neu zählt und das 2. Dokument zum 1. wurde und
das 3. zum 2. .
Wie kann ich das unterbinden ? Von hinten anfangen ?
Das ist mein Versuch.
Wer weis Rat ?
Ciao
Don Pasquale
Dim session As New NotesSession
Dim doc As NotesDocument
Dim view As NotesView
Dim dc As NotesDocumentCollection
Dim db As NotesDatabase
Dim RemoveDoc As NotesDocument
Set session = New notessession
Set db = session.CurrentDatabase
Set view = db.GetView( "($Inbox)" )
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing)
if doc.FELDA = XYZ then
Set RemoveDoc = doc
Call Removedoc.RemoveFromFolder("($Inbox)")
end if
Set doc = view.GetNextDocument(doc)
end
ata:
... schau mal bei OpenNTF - dort habe ich vor Tagen eine Lib entdeckt "NotesDocumentArray" - mit der kann man das lösen..
ata
klaussal:
... oder
while
getfirstdocument
.
.
remove
.
view.refresh
getfirstdocument
end
ata:
@Don
... ich habe nach er Lib gesucht, aber selbst nicht mehr gefunden. ich weiß, daß ich sie zu Hause habe. Wenn du also Interesse hast, dann melde dich nochmal...
... die Klasse in der Lib kann
-Remove(doc)
-GetFirstDocument
-GetNextDocument(doc)
-AddDocument
-GetIndex(doc)
-Sort(feldName)
... uvm...
ata
Don Pasquale:
@Ata,
ich habe das Teil gefunden und sitze gerade dran, allerdings
habe ich gerade ein NotesDocumentArray gefüllt und will
es nun mit GetNextDocument durchlaufen und dann steckt das Teil
in einer Endlosschleife.
Bist Du Dir sicher, das das Teil funtkioniert ?
Ciao
Don Pasquale
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln