Domino 9 und frühere Versionen > Entwicklung
NotesCollection nach angewähltem Dokument bilden
(1/1)
Don Pasquale:
Hallo Leute,
auf ein Neues :
Ich möchte eine Aktion schreiben, die in der aktuellen
Ansicht alle Dokumente raussucht, die diegleiche Dokumentart besitzen, wie das angewählte Dokument.
Die Ansicht ist nach Dokumentart in der ersten Spalte sortiert.
Ich bin mir recht sicher, dass ich das Suchkriterium "e4fldDokArt" im Back-end
ansprechen sollte und nicht im Front-end.
Aber wie geht das ?
--- Code: ---
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim dc As NotesDocumentCollection
Set db = session.CurrentDatabase
Set view = db.GetView( "e4vwFallgruppen" )
Dim item As NotesItem
Dim frontenddoc As Notesdocument
Dim key As String
Set frontenddoc = uidoc.document
key$ = frontenddoc.e4fldDokArt(0)
Set dc = view.GetAllDocumentsByKey(key$, True)
Set doc = dc.getfirstdocument
While Not (doc Is Nothing)
Set item = doc.GetFirstItem("e4fldDokArt")
Set doc = dc.GetNextDocument(doc)
Wend
--- Ende Code ---
Rob Green:
ob Du den Key über
key$ = frontenddoc.e4fldDokArt(0) oder
fieldgettext aus der UI Klasse Dir holst, spielt in Deinem Ansatz so wie das sehe keine Rolle.
"Regel": solange man nicht als User am PC etwas anzustoßen hat, benötigt man eigentlich keine Frontendklassen.
Interessant finde ich die Schleife ;D
Set item = doc.GetFirstItem("e4fldDokArt")
Nachdem Du Dir also außerhalb der Schleife den Searchkey gebildet hast, läßt Du Dir noch vor Eintritt der Schleife die entspr. Docs holen, nur um in der Schleife das Item mit ebendiesem Wert zu besetzen. Etwas ... selbstbeschäftigend, oder? ;)
Irgendwo muß da noch ein Haken sein, worauf Du hinauswillst.
Don Pasquale:
Hi Rob,
Haken ?
"Irgendwie hast Du ja recht"
Was ich will :
Ich habe eine Ansicht in der alle Dokumente nach Dokumentart kategorisiert sind.
Auf Wunsch sollen alle Dokumente _einer_ Dokumentart
ausgewählt werden. Dies soll über Anwahl eines beliebigen Dokuments passieren.
Später will ich aus allen Dokumenten die Besitzer auslesen ( jeden Besitzer aber nur einmal) und das Ganze einer Serienbriefdatei in WinWord übergeben.
ciao
Don Pasquale
Don Pasquale:
So, nun habe ich das was ich wollte.
Das von User angewählte Dokument bestimmt die
Dokumentart für die Collection.
Jetzt muss noch richtig getestet werden.
Ciao Don Pasquale
--- Code: --- Dim key As String
Set session = New notessession
Set db=session.currentdatabase
Set Collection=db.UnprocessedDocuments
Set doc=Collection.GetFirstDocument
key = doc.e4fldDokArt(0)
Messagebox key
Dim s As New NotesSession
Dim view As NotesView
Dim tmpdoc As NotesDocument
Set view = s.Currentdatabase.GetView( "e4vwFallgruppen" )
Dim dc As NotesDocumentCollection
Set dc = view.GetAllDocumentsByKey(key, True)
Set doc = dc.getfirstdocument
While Not (doc Is Nothing)
Messagebox "Hurra"
Set doc = dc.GetNextDocument(doc)
Wend
End
--- Ende Code ---
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln