Domino 9 und frühere Versionen > Entwicklung
NotesForm als Collection
TMC:
Hi,
ich schreibe mir des öfteren "mal schnell" simple Agenten, um Feldwerte von "A" auf "B" zu ändern.
Meine Vorgehensweise bisher kommt mir aber umständlich vor, weil ich immer die Docs zu bearbeiten entweder selektiere oder per View auswähle.
Ich würde aber oft gerne alle Docs behandeln, deren Form z.B. "form_abc" ist.
Ein erster Versuch:
--- Zitat ---Sub Initialize
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim collection As NotesDocumentCollection
Dim form As NotesForm
Set db = session.CurrentDatabase
Set form = db.GetForm("form_abc")
Set collection = doc.dialogform
Set doc = collection.GetFirstDocument
While Not ( doc Is Nothing )
doc.DateA = "BlaBla"
Call doc.save(False, False, False)
Set doc = collection.GetNextDocument( doc )
Wend
End Sub
--- Ende Zitat ---
So funktioniert das (natürlich) nicht, weil ich ja ein "set collection" mache, ohne doc vorher definiert zu haben.
Aber: Ist das überhaupt der richtige Ansatz? In der Designerhilfe kam ich jetzt nicht wirklich weiter....
bye,
TMC
koehlerbv:
Vorschlag:
- Agent läuft auf alle Dokumente in der DB
- DB instantiieren
- Collection = NotesDatabase.AllDocument
Da hast Du dann alle Docs im Zugriff und kannst diese ein- oder aussortieren und mit ihnen treiben, was Du willst ;-)
PS: Alternativ - NotesDatabase.Search (QueryString), aber nicht besonders performant.
Bernhard
TMC:
Hi Bernhard,
erstmal danke für die Antwort.
Mal stichpunktartig :-)
--- Zitat ---- Agent läuft auf alle Dokumente in der DB
--- Ende Zitat ---
OK, klar :-)
--- Zitat ---- DB instantiieren
--- Ende Zitat ---
auch noch klar:
Set db = session.CurrentDatabase
--- Zitat ---- Collection = NotesDatabase.AllDocument
--- Ende Zitat ---
so far so good. Aber wie komm ich dann an meine Form?
Oder versteife ich mich zusehr auf die in der Help erwähnte
"NotesForm"?
D.h. würdest Du "klassisch" einfach das Feld "Form" des Docs auslesen?
Wäre natürlich auch 'ne Alternative....
Grüße in die Traunsteiner Region....
TMC
koehlerbv:
Die Region Traunstein bedankt sich ;-)
Jo, wenn Du alle Docs in der Collection hast, dann durchrattern un duaf Form = "x" prüfen. Oder halt eben NotesDatabase.Search - ist eben nicht so erfrischend performant. FTSearch geht natürlich auch, erfordert aber eben mehr Aufwand.
Sag' mal an, wo es noch klemmt - wir kriegen die Sau schon geschlachtet !
Bernhard
TMC:
ne ne, dann bin ich schon bei Dir :-)
--- Zitat ---Jo, wenn Du alle Docs in der Collection hast, dann durchrattern un duaf Form = "x" prüfen
--- Ende Zitat ---
Hab mir schon sowas gedacht :-)
Hatte nur gemeint, weil es da eben auch Notesform gibt, warum ich dann nicht hier was nehmen sollte.
Aber die Designerhilfe hats auch eh schon angedeutet: dient wohl mehr dafür, direkt die Forms zu behandeln (also löschen etc.), und nicht die Docs die darauf basieren.
However, hast mir schon geholfen.
Danke!
Grüße,
TMC
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln