Hallo,
ich habe leider immer noch Probleme mit dem Zugriff auf das aufrufende Dokument.
Vielleicht übersehe ich einfach was, deshalb versuche ich noch mal die Situation dar zu stellen.
Mitarbeiter befindet sich in der
Datenbank Kunden im
Dokument Kontakt.
Dort ruft er über eine Schaltfläche folgenden Code auf:
Sub Click(Source As Button)
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim doc As NotesUIDocument
Set doc =ws.Currentdocument
Dim servername As String
servername="xxxxxxxx"
Dim docProfil As notesdocument
Set docProfil = db.GetProfileDocument("ProfilEinstellungen")
Dim dbname As String
Dim item As notesitem
Set item = docProfil.GetFirstItem("Pfad")
dbname= Cstr(item.Values(0))
Call doc.Save
' die Datenabnk wo die Dokumente abgelegt werden wird geöffnet
Dim dbDoc As New notesdatabase (servername,dbname)
' neues Ablage Dokument wird erstellt, Daten übergeben und im Edit Modus geöffnet
Dim docAblage As NotesDocument
Set docAblage = New NotesDocument(dbDoc)
With docAblage
.Form="DokumentenAblage"
.Ndg=doc.FieldGetText("Ndg")
.Name=doc.FieldGetText("Name")
.Vorname=doc.FieldGetText("Vorname")
.Hofname=doc.FieldGetText("Hofname")
.Geburtsdatum=doc.FieldGetText("Geburtsdatum")
.Kundenbetreuer=doc.FieldGetText("Kundenbetreuer")
.Filiale=doc.FieldGetText("Filiale")
Dim uidoc As NotesUIDocument
Set uidoc= ws.EditDocument(True,docAblage)
End With
Exit Sub
Dadurch öffnet sich in einem neuen Fenster das
Dokument DocAblage, welches sich in der
Datenbank Dokumente befindet, im Bearbeiten Modus
In der Maske DocAblage habe ich folgenden Code.
Unter (Globals) DokumentenAblage - Declarations
Dim docK as NotesUiDocument
und im Queryopen der Masket DokumentenAblage
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim workspace As New NotesUIWorkspace
Set docK=workspace.currentdocument
'nur um zu sehen ob ich auf docK Zugriff habe
Msgbox "docK " + docK.fieldgettext("form")
End Sub
und genau hier bekomme ich die Fehlermeldung "Variant does not contain an object"
Wenn ich die Meldung bestätige befinde ich mich dann im neu angelegten Dokument DocAblage im Bearbeitungsmodus, was ja gewünscht wäre.
Aber ich bekomme keinen Zugriff mehr auf das noch
offene Dokument Kontakt in der andernen Datenbank Kunden, in welchem ich ja dann die UNID des Dokuments DocAblage zurück schreiben möchte.
Wo mache ich was falsch?
Schon mal Danke für die Tips
Oliver