Zum einen das Feld "Videoablage" sehe ich nicht.
Mit Deinem Script wuerde er einen Dok-Link auf das aktuell geoeffnete Dokument im neu erstellten Dokument erzeugen.
Dieser wuerde in dem Feld "dokID" erstellt werden.
Wen nich Deinen Ausfuehrungen nun folge, so wie ich es verstehe, moechtest Du aber einen Dok-Link auf das neu erstellte Dokument im aktuellen Dokument erstellen.
Das funktioniert aber nur, wenn Du Dein neu erstelltes Dokument speicherst und dann den Dok-Link erstellst.
In dem Fall muesste die Schreibweise folgende sein:
Set rt = New NotesRichTextItem(doc, "RTFeld")
Call rt.AppendDocLink(docVID, "Das ist der Link auf das neu erstellte Dokument")
Und die Standardansicht muss in der Db vorhanden sein, in der sich das Dokument befindet, auf welches der Dok-Link verweist.
Andreas
Frage.
Das Feld "ViedeoDatei" ist in der Maske vorhanden?
Hat es wirklich den Feldtyp "Text"?
Wenn ja, dann kann Dein DokLink auch nicht funktionieren.
Mit Deinem Code erzeugts Du nur ein weiteres Feld mit dem Name "VideoDatei", welches in Deiner Maske dann aber nicht angezeigt wird. (auch nach dem Speichern des Dokumentes, dem anschliessenden Schliessen des Dokumentes und dem erneuten oeffnen des Dokumentes.
Dim workspace As New NotesUIWorkspace
Dim uidocVID As NotesUIDocument
Dim uidoc As NotesUIDocument
Dim rt As Variant
Set uidoc = workspace.Currentdocument
Set uidocVID = workspace.ComposeDocument _
( "MeinServer", "Anwendungen\ProjAllgVID.nsf", "VideoAblage" ) 'Neues Dok in der DB B erstellen
Dim doc As NotesDocument
Dim docVID As NotesDocument
Call uidocVID.save ' Speichern des Doks in der DB B
Set docVID = uidocVID.document
Set doc = uidoc.document
Set rt = doc.GetItemValue("VideoDatei")
If Not rt Is Nothing Then
Call rt.AppendDocLink(docVID, "Link zum Dok in Db B")
End If
Andreas
Naja???
Ich hab's jetzt nochmal getestet und siehe da... Du brauchst es nicht speichern:
(Wir erzeugen hier einen Link vom ersten Dokument in der Datenbank)
Sub Click(Source As Button)
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim doc_link As NotesDocument
Dim rti As NotesRichTextItem
Dim uidoc As NotesUIDocument
Dim uiws As NotesUIWorkspace
' ### initialize ###
Set uiws = New NotesUIWorkspace
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document
Set db = doc.ParentDatabase
Set doc_link = db.AllDocuments.GetFirstDocument
' ### close frontend document ###
doc.SaveOptions = "0"
Call uidoc.Close(True)
Set uidoc = Nothing
' ### get or create target rich text item ###
If doc.HasItem("Body") Then
Set rti = doc.GetFirstItem("Body")
Else
Set rti = doc.CreateRichTextItem("Body")
End If
' ### append doc link ###
Call rti.AppendDocLink(doc_link, "")
Call rti.Update
' ### reopen the modified document ###
Set uidoc = uiws.EditDocument(True, doc, False)
Set doc = uidoc.Document
Call doc.RemoveItem("SaveOptions")
End Sub
Es muss bei neuen nur noch ein Form-Feld mit dem Namen der Form vorhanden sein. Ich hab's im Test jetzt direkt in der Maske angelegt.