Domino 9 und frühere Versionen > ND7: Entwicklung
Wie DocCollection aus View erstellen?
Basti*:
Hallo zusammen!
Ich haben eine View und möchte alle Docs daraus in einer Doc.Collection zusammenfassen. Ich habe eine Methode, aber sie ist zu langsam. Geht das irgendwie schneller?
Ich schnappe mir dazu die ViewEntryCollection mit
Set vc = view.AllEntries
Und dann wird daraus in einer Schleife die DocCollection aufgebaut
Set entry = vc.GetFirstEntry()
While Not (entry Is Nothing)
Set doc = entry.Document
Call dc.AddDocument(doc)
Set entry = vc.GetNextEntry(entry)
Wend
Soweit so schick. Problem: bei 50.000 Docs in der View dauert das locker 10 Minuten.
Gibt es eine Methode, das zu beschleunigen?
Grüße
Basti
Peter Klett:
Ich erstelle für solche Fälle eine separate Ansicht, bei der in der ersten sortierten Spalte ein fester Wert (z.B. "1") eingetragen ist und hole mir die Collection mit NotesView.GetAllDocumentsByKey ("1")
Basti*:
Raffiniert!!
Danke Dir für den Tipp :)
Basti
pram:
Vielleicht hilft auch folgendes:
--- Zitat ---Merge method
Syntax
Call notesDocumentCollection.Merge( inputNotes )
Parameters
inputNotes
String, NotesDocument, NotesDocumentCollection, NotesViewEntry or NotesViewEntryCollection. The NotesDocument, NotesDocuments, NotesViewEntry or NotesViewEntries that the method will merge with the NotesViewEntryCollection.
--- Ende Zitat ---
Eine View kostet nämlich wieder zusätzliche Ressourcen...
allerdings hat man hier das Problem, dass man nicht so einfach eine leere NotesDocumentcollection erzeugen kann (gibt eine undokumentierte Methode dafür)
Gruß
Roland
Basti*:
Auch spannend!
--- Zitat von: pram am 10.01.13 - 09:36:49 ---allerdings hat man hier das Problem, dass man nicht so einfach eine leere NotesDocumentcollection erzeugen kann (gibt eine undokumentierte Methode dafür)
--- Ende Zitat ---
So knifflig ist es gar nicht. Meine Methode für eine leere DocumentCollection:
Set db = session.CurrentDatabase
Set dc = db.GetProfileDocCollection("IrgendEinNameDenEsNichtInDerDBGibt")
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln