Domino 9 und frühere Versionen > ND7: Entwicklung

Wie DocCollection aus View erstellen?

(1/2) > >>

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