Habe euere Anworten alle gelsen, bin etwas sehr in Druck mit dem Problem. Bitte euch alle um Entschuldigung für meine Stil.
Vielleicht schenkt Ihr mir noch einmal gehör. Danke.
Hier also noch einmal mein Problem. Ich habe aus dem Gesamtumfang versucht es auf das Wesentliche zu minimieren.
Ich habe folgende Maske
s. angehängte Datei Refresh.jpg, Bild 1
Das Feld SaveOptions hat den Wert "0", damit das Dokument nicht gespeichert werden kann. Ich brauche die Maske nur für die Eingabe von Angaben für später auszulösende Aktionen über Hotspots, die dann noch in der Maske eingebaut werden.
Das Feld F1 ist ein bearbeitbares Feld.
Das Feld dspF1 ist ein Feld berechnet zur Anzeige mit der Formel F1, als berechnet sich aus dem Inhalt von Feld F1.
Darunter befindet sich eine eingebettete gemeinsame Ansicht, die zum Test nur ein Dokument mit einem Feld F10 = "a" enthält.
Die eingebettete Ansicht enthält im Queryopendocument-Ereignis folgenden Code:
Dim ws As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim session As NotesSession
Dim db As NotesDatabase
On Error Goto ErrorException
Set session = New NotesSession
Set db = session.CurrentDatabase
Set ws = New NotesUIWorkspace
Set uidoc = ws.CurrentDocument
' zur Kontrolle gebe ich das uidoc-Objekt aus, es ist nicht Nothing -> False wird ausgegeben
Msgbox (uidoc Is Nothing)
' aus dem in der eingebetteten Ansicht ausgewählten Dokument hole ich mir ein Feld F10
' und speicher es in das uidoc-Dokument im Feld F1
Set doc = db.GetDocumentByID(Source.CaretNoteID)
Call uidoc.Document.ReplaceItemValue("F1", doc.GetItemValue("F10"))
' mit dem Refresh möchte ich weitere Felder in dem uidoc-Dokument aktualisieren
' in diesem Test das Feld dspF1, das sich aus dem Inhalt vom Feld F1 berechnet
Call uidoc.Refresh
Continue = False
Exit Sub
ErrorException:
Msgbox "Zeile: " & Cstr(Erl()) & Chr(10) & "Errorcode: " & Err() & Chr(10) & "Errortext: " & Error$(Err())
Continue = False
Exit Sub
Der Ablauf sieht folgendermaßen aus. Über Erstellen öffne ich o. g. Maske
s. angehängte Datei Refresh.jpg, Bild 2
Dann klicke ich 2-mal auf das in der eingebettete Ansicht angezeigte Dokument. Es erscheint folgendes:
s. angehängte Datei Refresh.jpg, Bild 3
Die Meldung kommt von o. g. Messagebox. Das uidoc ist nicht Nothing. Bei einem direkten 2-mal Klick in der Ansicht wäre es natürlich Nothing. Aber ich bin ja in einer geöffneten Maske und habe so ein uidoc-Dokument.
Nach dem OK für die Messagebox erscheint folgendes:
s. angehängte Datei Refresh.jpg, Bild 4
Aus dem ausgewählten Dokument wird das Feld F10 mit dem Wert "a" geholt und dieser Wert in dem uidoc-Dokument in das Feld F1 gespeichert.
Danach wird über das Refresh des uidoc-Dokuments eine Berechnung des Feldes dspF1 im uidoc-Dokument ausgelöst. Lt. o. g. Maske berechnet sich der Inhalt aus dem Inhalt von Feld F1, wird also auch "a".
Dies funktioniert wie gesagt ohne Probleme mit gemeinsamen Ansichten oder auch Ordnern.
Verwende ich statt der o. g. gemeinsamen Ansicht eine private Ansicht oder auch einen privaten Ordner läuft alles bis zu der Anweisung
Call uidoc.Refresh
ohne Fehler. Man sieht auch noch das Ergebnis des Refreshs. Danach bricht Notes aber mit folgendem ab:
s. angehängte Datei Refresh.jpg, Bild 5
Die privaten Ordner sind gemeinam, privat nach Erstbenutzung und in der Datenbank gespeichert. Die Zugriffsrechte bestehen für private Ordner/Ansichten.
Vielleicht hilft Euch dies für eine Klärung der möglichen Ursachen.
Wie schon erwähnt. Läuft eine Lösung mit einer eingebetteten gemeinsamen Ansicht schon lange ohne Probleme. Nur jetzt muss ich aber einen privaten Ordner einsetzen.