Hallo,
ich habe eine DB1, in der ich eine Ansicht aus DB2 zeige. In der DB1 habe ich einen Frame, in dem ich eine Tabelle mit Informationen für die in der Ansicht markiertes Dokument zeige. Diese Tabelle befindet sich in DB1. Dazu habe ich in der Ansicht eine Schaltfläche mit einem Agentem gebaut. Der Agent war erstmal in der DB 2 gespeichert und sah so aus:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Set db = session.CurrentDatabase
Dim collection As NotesDocumentCollection
Set collection = db.UnprocessedDocuments
Dim coldoc As NotesDocument
Set coldoc = collection.GetFirstDocument
' Daten lesen
coldocid = coldoc.UniversalID
firma = coldoc.GetItemValue("Name2")(0)
' Document anzeigen
Call ws.SetTargetFrame( "summarize" )
Set notpesUIDocument = ws.ComposeDocument( "", "", "Karteikarte-allgemein")
Call notpesUIDocument.fieldsettext("officedocid", coldocid)
Call notpesUIDocument.fieldsettext("firma", firma)
Call notpesUIDocument.fieldsettext("SaveOptions", "0")
End Sub
Problem: Agent hat keinen Frame gefunden, weil klar => andere DB und Methode SetTargetFrame ist nur von Klasse UIWorkspace.
Dann habe ich folgende Lösung entwickelt:
Der Agent befindet sich in DB1. Aus der Ansicht aus DB2 wird auf ihn zugegriffen (getAgent-Method und Call Agent.Run). Der Agent holt sich die Datenbank DB2 und das markierte Dokument.
Problem: UnprocessedDocuments bezieht sich nur auf currentDB und bekomme ich Fehlermeldung: "... Agent verwendet einen nicht unterstützten Auslöser oder Suchtyp"
Könnt ihr mir weiter helfen? Welchen Lösungsweg soll ich weiter verfolgen den ersten oder zwieten? Eigentlich muss ich doch nicht auf die DB2 im Lösungsweg zugreifen, die Ansicht ist geöffnet, aber in der DB1, oder?
Vielen Dank!