Domino 9 und frühere Versionen > Entwicklung
ältestes/neuestes Doc. ohne neuen View
m3:
Ich brauch fuer einen XML-Export das älteste und das neueste Dokument in einem View. Den View kann ich nicht ändern, neuer View ist nicht und auch die Sortierung kann ich nicht so ändern, dass ich mit GetFirst... und GetLastDocument die entprechenden Docs bekomme.
Zur Zeit fahr ich mit
--- Code: --- Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
If(doc.Lastmodified > newest) Then
newest = doc.Lastmodified
End If
If(doc.Lastmodified < oldest And Cstr(doc.Lastmodified) <> "") Then
oldest = doc.Lastmodified
End If
Set doc = view.GetNextDocument(doc)
Wend
--- Ende Code ---
ueber den View, um die ensprechenden Daten zu finden und anschließend nochmals, um das XML zu generieren.
Das kann/muss doch effektiver gehen, oder?
koehlerbv:
Martin, ich würde mich über jede anderslautende Meinung freuen, die mich dann dazu führt, mich vor den Kopf zu schlagen, aber nach meinem Kenntnisstand: Nein, da gibt es keine andere Möglichkeit als das brutale Durchlaufen aller Dokumente ... Nur das neueste Dokument liesse sich über ein dbSearch mit wahrscheinlichem CutOff-Date schneller finden, aber das älteste ... Leider nein.
Bernhard
m3:
Sch....
Ich habs befuerchtet. :(
TMC:
Unter Deinen Bedingungen sehe ich auch keine Alternative.
--- Zitat von: m3 am 09.03.05 - 15:27:52 ---und anschließend nochmals, um das XML zu generieren.
--- Ende Zitat ---
Was meinst Du mit "anschließend nochmal"?
Die gefundenen Doks kannst Du doch z.B. in ein Array aus NotesDocuments stecken.
Also:
Dim docArray As Variant
...
If <Deine Bedingung> Then
docArray(DeinCounter) = doc
End If
Danach arbeitest Du dann das Array aus NotesDocuments (docArray) entsprechend ab.
In meinem Bsp. fehlt noch ein Redim. Wenn Dir vor der Ausführung der Schleife schon die Größe des Arrays bekannt ist, dann kannst Du es entsprechend dimmen, ansonsten musst Du wohl mit Redim Preserve arbeiten, was man halt eigentlich in Schleifen vermeiden sollte aus Performancegründen.
m3:
Also das will ich auf einem Server der aus dem letzten Loch pfeift (3 neu Power5 stehen in den Startloechern) eigentlich nicht machen, vor allem, wenn das XML dann 6 MB hat. ;)
Daher fahr ich noch ein zweites Mal ueber alle Dokuemnte und schreib das XML direkt in ein File. Kostet zwar Zeit, aber dafuer frisst es nicht RAM. :)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln