Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Leddl am 10.01.07 - 11:41:15
-
Tach zusammen!
Ich stehe gerade vor einem kleinen Problem. In meiner Anwendung soll der User durch eine manuelle Aktion in einer Ansicht Daten in bestimmten Dokumenten aktualisieren können. Zur Auswahl stehen hier "Alle Dokumente der Datenbank", "Alle Dokumente der Ansicht" und "Alle ausgewählten Dokumente".
Der erste und letzte Fall ließen sich jeweils über einen Einzeiler abhandeln. Hier lade ich einfach die jeweiligen Dokumente in eine NotesDocumentCollection.
So weit so gut... Nur mit dem zweiten Fall ist es nicht so leicht. Da ich aus einer Ansicht nicht so einfach zu einer NotesDocumentCollection komme (zumindest habe ich noch nicht herausgefunden, wie ???) gehe ich den Umweg über die NotesViewEntryCollection. Über die NotesViewEntries und deren Eigenschaft "Document" gelange ich ja an die einzelnen Dokumente und kann die dann einer leeren NotesDocumentCollection über "AddDocument" hinzufügen. Denkste...
Logischerweise ist letztere nämlich nicht instanziiert und wirft daher mit Fehlermeldungen um sich. Einen Konstruktor besitzt NotesDocumentCollection leider nicht...
Darum meine Frage:
Wie kann ich denn alle Dokumente einer Ansicht direkt in eine NotesDocumentCollection packen? Bzw: Wie kann ich eine "leere" NotesDocumentCollection erstellen, die ich dann mit meinen Dokumenten befüllen kann?
Natürlich könnte ich auch den zweiten Fall einfach gesondert behandeln. Das empfinde ich aber als eher etwas unschön. Lieber würde ich in allen 3 Fällen mit dem gleichen Datentyp weiterarbeiten.
Danke für eure Ratschläge!
-
Die UNPROCESSEDDOCUMENTS sind bei jeder Dokumenteingrenzung über eine der drei Möglichkeiten die Dokumente der gewählten Eingrenzung, im zweiten Fall also alle Dokumente der aktuellen Ansicht (allerdings nicht in der Sortierung der Ansicht). Wenn du die Sortierung brauchst, mußt du entlang der Ansicht laufen.
Gruß
Norbert
-
eine leere NotesDocumentCollection?
Function getEmptyDocumentCollection As notesDocumentCollection
Dim se As New notesSession
Dim col As notesDocumentCollection
Dim ndt As New notesDateTime(Now)
Set col = se.currentDatabase.search("&$%$!$&%§", ndt,0)
If col.count > 0 Then Call col.removeAll( True )
Set getEmptyDocumentCollection = col
End Function
bubble
-
Anstelle von
Set col = se.currentDatabase.search("&$%$!$&%§", ndt,0)
ein
Set col = se.currentDatabase.search("@False", Nothing,0)
sieht irgendwie besser lesbar aus ;)
If col.count > 0 Then Call col.removeAll( True )
willst Du nicht wirklich, oder :o
Andreas
-
... UNPROCESSEDDOCUMENTS ...
Sicher? Ich dachte bisher, das bringt mir nur die ausgewählten Dokumente.
If col.count > 0 Then Call col.removeAll( True )
willst Du nicht wirklich, oder
Genau das war der Grund, warum ich mich dagegen entschieden hatte, die Collection über eine Suche zu befüllen und dann zu leeren ;D Mein erster Gedanke war nämlich genau sowas, bis ich gesehen hatte, was bei removeAll passiert ;)
Set col = se.currentDatabase.search("@False", Nothing,0)
Aber das sieht gut aus, danke. Und funktioniert auch einwandfrei. Danke euch!