Hallo,
ich habe ein Dokument Doc_a und möchte gerne über eine View auf Inhalte eines zweiten Dokumentes
doc_b zugreifen.
Hierzu öffne ich die View wie folgt:
Set view = db.GetView("ANSWERE_DOC")
Set dc = view.GetAllDocumentsByKey(thisdoc.ID_MainDOC(0),True)
Nun habe ich aber das Problem , das ich nicht weiss wie ich die Dokumente
in der View selektieren und die angezeigten Werte aus den Spalten der View
weiter bearbeiten kann.
Gruß jörg
Hi ,
die Verwendung von Haupt- und Antwortdukomenten habe ich schon angewendet.
Ich möchte nun in einen Layout-Bereich alle Antwortdokumente in einer Listbox anzeigen lassen.
An dieser Stelle kannst du über die Dokumente iterieren und aus den Dokumenten die Daten über Methoden der Klasse Notesdocument herausholen. Was du an dieser Stelle nicht getan hast, ist die View zu öffnen. Du hast an dieser Stelle auch keinen Zugriff auf die Sachen, die dir die Ansicht im Frontend angezeigt hätte. Dazu müsstest du anders vorgehen und die Klassen NotesView und NotesUIView betrachten.
Die Klassen Notesdokument habe ich schon in Globals wie folgt definiert:
Dim session As NotesSession
Dim db As NotesDatabase
Dim thisuidoc As NotesUIDocument
Dim thisdoc As NotesDocument
Sub Initialize
Set session = New NotesSession
Set db=session.CurrentDatabase
End Sub
Ich habe das Problem , das ich im Moment nur das geöffnete Dokument mit der Variable "thisdoc" zum auslesen
bekomme und nicht die Antwortdokumente aus meiner View (die zeigt nur Antwortdokumente an).
Dann werde ich mal schauen ob ich mit der Klasse NotesUIView weiter komme.
Gruß Jörg
Das Problem lag hier an dem "Thisdoc" ..... hier mit habe ich immer auf das aktuelle Dokument zugeriffen
und ich wollte ja die Dokumente aus der View mir anzeigen lassen.
Hier nun der komplette Code mit dem ich nun meine Listbox im Layoutbereich fülle:
Sub refresh
Dim view As NotesView
Dim dc As notesdocumentcollection
Dim tdoc As NotesDocument
Dim children As Variant
bl$ = " "
Set view = db.GetView("ANSWERE_DOC")
Set dc = view.GetAllDocumentsByKey(doc.ID_MainDOC(0),True)
If dc.Count = 0 Then Exit Sub
Redim children(1 To dc.count)
c =0
For i=1 To dc.Count
Set tdoc = dc.GetNthDocument(i)
If Trim(tdoc.form(0)) = "dokument_files" Then
c = c + 1
children(c) = tdoc.UniversalID+"@"+Left(tdoc.underkategorie(0)+bl$,20)+ " "+tdoc.Subdoc_titel(0)
End If
Next
Redim Preserve children(1 To c)
doc.children = children
End Sub