Domino 9 und frühere Versionen > ND7: Entwicklung

Ältestes Dokument in DB ermitteln

(1/3) > >>

eknori:
Jemand eine Idee, wie man das älteste Dokument einer Datenbank ermittelt, ohne großartig über Views zu gehen?.

Es geht darum, zu bestimmen, wie viele Dokumente in allen Datenbanken eines bestimmten Jahrgangs sind. Also z.B. alle Memos und replies mit Anhängen von 1999.

Ich könnte das über ein db.search machen und dabei @Year(@Date(DeliveredDate)) = "1999" prüfen, ob mein db.search ein col.count > 0 liefert.

Wenn nicht, dann das Jahr um eins erhöhen und erneut suchen und prüfen.

Dann müsste ich die Suche aber bei jeder db machen.
Möglicherweise gibt es abe eine elegantere Lösung, die zur nächsten db geht, wenn festgestellt wird, daß die db keine Dokumente des gesuchten Jahrgangs enthält.

 

eknori:
Hmm, kann es sein, daß db.search die col in der Reihenfolge befüllt, wie die Dokumente erstellt wurden? Also aufsteigend nach Datum sortiert?
Zumindest sieht das bei meinen versuchen mit unterschiedlichen Maildatenbanken so aus.

eknori:
wenn dem wirklich so ist, dann lässt sich das Jahr, in dem das erste Dokument in der MailDB erstellt wurde mit folgenden Code bestimmen:


--- Code: ---Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim dt As Variant

Set db = session.CurrentDatabase
Set col = db.Search( {@Contains(@UpperCase(Form);"MEMO":"REPLY")}, Nothing,0)

If col.Count > 0 Then
Set doc = col.GetFirstDocument
dt = Evaluate ( {@Year(@If(DeliveredDate != ""; DeliveredDate; PostedDate != ""; PostedDate; @Created))}, doc )
Print dt(0)
End If
End Sub
--- Ende Code ---

guesswho:
Hallo Ulrich,

du und ich sind wohl die einzigen, die hier noch arbeiten  ;D

Ja, ich bin mir auch ziemlich sicher, dass die Col in der Art sortiert wird. Nach mehreren Versuchen mit immer diesem Ergebnis hab ich das damals aber nicht mehr weiterverfolgt, weil ich genau das eben NICHT wollte...   >:(

Jo

Thomas Schulte:
Das ist in jeder Ansicht die du erstellst so.

Wenn du innerhalb eines Sortierkriteriums einer Ansicht gleichwertige Dokumente hast und keine weitere Sortierung mehr vorliegt, dann werden dieses Dokumente nach Anlagedatum (älteste zuerst) sortiert angezeigt.

Da der db.search ja nichts anderes als ein temporärer View Index ist muss er der gleichen Logik gehorchen.

Interessant wäre es herauszufinden ob das Anlagedatum des Dokumentes in zwei Repliken die nur sporadisch miteinander kommunizieren gleich ist.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln