Hallo,
ich arbeite gerade an einer Meeting-Datenbank.
Die TOPs sollen als Antwortdokumente angelegt werden, allerdings soll die Möglichkeit bestehen, über das Haupdokument via Doclink auf die einzelnen Antwortdokumente zuzugreifen. Hie ist der Code, den ich mir ausgedacht habe:
Function TOPReiterAktualisieren ( uidoc As NotesUIDocument )
Dim s As New NotesSession 'Session
Dim db As NotesDatabase 'Aktuelle Datenbank
Dim doc As NotesDocument 'Aktuelles Dokument
Dim unid As Variant 'Array von UniqueIDs, das alle Antwortdokumente enthält
Dim topdoc As NotesDocument 'AntwortDokument
Dim topnr() As Integer 'Array von Nummern
Dim tthema() As String 'Array von Themen
Dim tlink As Variant 'Hier wird das RT-Feld für die Doclinks gespeichert
Dim i As Integer 'Zählvariable
Set db = s.currentDatabase
Set doc = uidoc.Document
'Nicht bei Entwürfen
If doc.MStatus(0) > 10 Then
'Editiermodus für Feldänderungen erforderlich
If Not uidoc.EditMode Then
uidoc.EditMode = True
End If
'Array der Unid der TOPs einlesen
unid = doc.getItemValue( "TopListe" )
'Arraylängen = Anzahl Einträge im Feld TopListe
Redim topnr( Ubound( unid ) ) As Integer
Redim tthema( Ubound( unid ) ) As String
doc.RemoveItem( "TLinks" )
Set tlink = doc.CreateRichTextItem( "TLinks" )
For i = Lbound( unid ) To Ubound( unid )
topnr(i) = i + 1
Set topdoc = db.GetDocumentByUNID( unid( i ) )
tthema(i) = topdoc.TThema(0)
If ( tlink.Type = RICHTEXT ) Then
Call tlink.AddNewLine( 1 )
Call tlink.AppendText( "--> " )
Call tlink.AppendDocLink( topdoc, "Klicken Sie hier, um den TOP einzusehen." )
End If
Next
Call doc.ReplaceItemValue( "TopNr", topnr )
Call doc.ReplaceItemValue( "TopThema", tthema )
'Call doc.ReplaceItemValue( "TLinks", tlink ) 'macht keinen Unterschied...
Call doc.save( False, False )
End If
End Function
Das Problem dabei ist, das alles Funktioniert, nur das RT-Feld wird nicht übertragen. Im Debugger zeigt er Text an, aber im Dokument nicht. ( Auch nach schliessen und wieder öffnen nicht)
Ich freue mich über jede Idee.