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 |
| |
| Dim dbDoc As New notesdatabase (servername,dbname) |
| |
| 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