Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Hans Joachim am 29.03.06 - 12:06:16

Titel: Dokumente in einer NotesDocumentCollection sortieren?
Beitrag von: Hans Joachim am 29.03.06 - 12:06:16
Hallo,

ich muss alle Dokumente einer Datenbank, die in einem Feld ein Datum
eingetragen haben welches neuer als z.B. 01.01.2006 ist, ermitteln und
diese dann bearbeiten. Für die weitere Bearbeitung ist es aber notwendig,
dass sich die Dokumente in der richtigen Reihenfolge (sortiert nach dem Datum) in der NotesDocumentCollection befinden
.

Mit den Funktionen "Search" und "FTSearch" werden die Dokumente aber unsortiert in die NotesDocumentCollection geschrieben. Die Suche über eine Ansicht mit der Funktion "GetDocumentByKey" kann ich nicht verwenden, da sich in der Ansicht keine Spalte mit dem Datumswert befindet.

Meine Frage wäre nun, ob ich die Dokumente, die sich in einer NotesDocumentCollection befinden, sortieren kann (nach einem Feldinhalt der Dokumente). Oder kann ich irgendwie eine Suche mit den Funktionen "Search" oder "FSearch" speziell in einer Ansicht ausführen, sodass er die Dokumente in der NotesDocumentCollection so ablegt, wie sie in der Ansicht der Reihe nach vorkommen.


Immer alle Dokumente aus der Datenbank auszulesen um erst dann zu prüfen, ob sie einem Kriterium entsprechen, dauert mir nämlich viel zu lang, da es ca. 7000 sind.

Für Tipps wäre ich sehr dankbar
Titel: Re: Dokumente in einer NotesDocumentCollection sortieren?
Beitrag von: ascabg am 29.03.06 - 12:13:03
Hi,

Wie sieht es denn aus, wenn Du die Methode

"FTSearchRange" der NotesDatabase-Klasse verwenden wuerdest?

Andreas
Titel: Re: Dokumente in einer NotesDocumentCollection sortieren?
Beitrag von: Hans Joachim am 29.03.06 - 13:03:13
Die Methode "FTSearchRange" kann ich leider nicht gebrauchen. Sie sortiert die Dokumente nach ihrem Datum / Erstelldatum. Meine Dokumente müssten aber nach dem Datum sortiert werden, welches in dem Dokument abgespeichert (also in einem Maskenfeld) wurde.

Trotzdem vielen Dank!!!
Titel: Re: Dokumente in einer NotesDocumentCollection sortieren?
Beitrag von: diali am 29.03.06 - 13:10:24
mach Dir ein 2-dimensionales Array (array(x,y)), dann schreibe an die Stelle x = 0 den Sortierschlüssel und an die Stelle y = 1 die DocumentUniqueID.

Sortiere das Array mit einem Sort-Alg. Deiner wahl nach array(0, y) und dann kannst Du auf die sortierten Dokument mit NotesDatabase.GetDocumentByUNID(array(1, x)) zugreifen.

Alternativ kannst Du auch eine Ansicht zeilenweise durchgehen, dann ist es allerdings nicht dynamisch sortierbar.

Gruß
Dirk