Domino 9 und frühere Versionen > Entwicklung

Collection durchlaufen und dabei Doc removen

(1/3) > >>

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