Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Steffen_Albrecht am 10.07.02 - 16:30:35
-
Hallo,
ich habe im QurySave Ereignis den unten stehenden Quellcode eingefügt.
Jedes mal, wenn ein Dokument gespeichert wird, bekomme ich folgende Fehlermeldung:
"Variant does not contain an object"
Das Dokument wird dennoch gespeichert.
Wie kriege ich diese Fehlermeldung weg?
Gruß
Steffen
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim ws As New NotesUIWorkspace
Dim view As NotesView
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim s As New NotesSession
Dim key As String
Set source = ws.CurrentDocument
' Datenbank und Ansicht
Set db = s.CurrentDatabase
Set view = db.GetView("(MitarbeiterKey)") ' Ansicht aller Docs die den schlüssel enthalten
' Dokumentfelder aktualisieren und die Variable key mit dem Inhalt des berechneten feldes "Key" Füllen
Call source.Refresh
key = uidoc.fieldgettext("key")
' Prüfen ob Dokument vorhanden ist
Set doc = view.GetDocumentByKey( key, True )
' wenn der Inhalt der variable doc gleich nil ist, existiert das Dokument noch nicht
If doc Is Nothing Then
' Wenn das Doc noch nicht existiert, wird es gespeichert und geschlossen
Print "Keine Übereinstimmungen gefunden... wird gespeichert..."
Call source.Save
Print "Speichervorgang erfolgreich"
Call source.Close()
Continue = True
Exit Sub
End If
Print "Übereinstimmendes Dokument gefunden"
Messagebox "Mit dieser Aktion würden Sie ein Duplikat eines bestehenden Dokuments anlegen. Speichervorgang abgebrochen.",64,"Fehler"
Continue = False
End Sub
-
Wo bleib den der Debugger stehen?
-
Hi Steffen,
hier "liegt der Hund begraben".
' Dokumentfelder aktualisieren und die Variable key mit dem Inhalt des berechneten feldes "Key" Füllen
Call source.Refresh
key = uidoc.fieldgettext("key")
Du verwendest die Variable uidoc ohne Sie vorher zu setzen.
Ändere die Zeile in: key = source.fieldgettext("key")
Dann sollte es funktionieren.
Die Zeilen
Dim ws As New NotesUIWorkspace
Set source = ws.CurrentDocument
ist unnötig. Denn source ist bereits als Parameter von QuerySave initialisiert und kann zum Zugriff auf das aktuell geöffnete Dokument verwendet werden.
Axel
-
Vielen Dank!
Daran erkennt man, dass ich erst Anfänger... ::)
-
Hi,
macht doch nix. Wir haben alle mal klein angefangen. ;)
Und...
Für Fragen zu Notes gibts dieses Forum. ;D
Axel