Domino 9 und frühere Versionen > ND6: Entwicklung
NotesDocumentCollection
Tode:
mal ne blöde Frage: Was machst Du mit der Collection, dass die nach jedem Durchlauf "anders" aussieht, bzw nicht mehr so wie vor dem Durchlauf !?
Entfernst Du Dokumente ? Machst Du einen dc.Search um die Collection zu verkleinern ?
Was verursacht die Veränderung der Collection ?
Vielleicht kannst Du ja hier ansetzen.
Eine andere Möglichkeit wäre natürlich die Collection "zwischenzulagern" z.B. in einem Ordner:
call dc.PutAllInFolder( "collectionContainer" )
(vorher nicht vergessen den Folder zu leeren über NotesView.Allentries.RemoveFromFolder)
dann kannst Du über Folder.AllEntries die Collection relativ Performant immer wieder zurückholen, wenn Du sie brauchst.
HTH
Tode
Pyewacket:
Die Zwischenlagerung in einem Ordner ist aber nur brauchbar solange sichergestellt ist dass nur ein User diese Datenbank verwendet, ansonsten gibt das nur noch Chaos wenn sich die Anwender gegenseitig den Ordner verwüsten.....
koehlerbv:
Ich gehe mal davon aus, dass er natürlich persönliche Ordner meint. Man kann ja nie davon ausgehen, dass nur ein User gleichzeitig mit der Aktion zu Gange ist - wenn dem heute so ist, kann es morgen gnaz anders sein (aber dann erinnert sich keiner mehr an den früher programmierten Schrott).
Bernhard
bikerboy:
@Tode
Naja ich stelle ein Collection aus allen Dolumenten auf die in der VollTextindizierten DB sind und fange dann an mit db.FTsearch an zu "filtern".
Diese Such er erfolgt nach meheren Kriterien, wenn das erste Kriterium keine Ergebnis liefert, setze ich mit dem 2. Kriterium an und das geht bis zum 6. Kriterium weiter, dafür brauche ich aber immer wieder eine neue saubere Collection.
@Pyewacket + koehlerbv
also die Sache mit den Ordner wird wohl eher nichts, da es später mehere Leute nutzen sollen.
Tode:
ääää.... warum verwendest Du denn überhaupt eine "zwischenspeicherungscollection", wenn Du sowieso immer auf AllDocuments gehst !?
Wenn jede Deiner 6 Kriterien UNABHÄNGIG sind (also nicht aufeinander aufbauen), und das impliziert Dein Satz "wenn das erste Kriterium kein Ergebnis liefert, setze ich mit dem 2. Kriterium an"
dann kannst Du doch ganz einfach sagen:
Set dc = db.FTSearch( .. )
Dann sparst Du Dir das zeitraubende Aufbauen der db.AllDocuments.
Möglicherweise wird dann der FTSearch etwas langsamer (weil er auf eine Datenbank geht und nicht auf eine Collection im Speicher), aber einen Tod muss man sterben.
HTH
Tode
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln