Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 04.09.05 - 18:11:47

Titel: Tabelle auslesen und in Feld speichern
Beitrag von: Alexis am 04.09.05 - 18:11:47
Hallo Forum,

bin mal wieder mit meinem LS-Latein am Ende.

Folgendes Problem: In einer Maske wird eine Tabelle abgespeichert in ein RT-Feld ("Link"). Beim Schließen soll des 5. Feld der Tabelle in ein anderes Text-Feld ("Titel") übertragen werden. Nachfolgendes Script benutze ich, wobei eine Fehlermeldung bei der Ausführung hochkommt, das Ergebnis ist aber dennoch ok  ???.

Sub Querysave(Source As NotesUIdocument, Continue As Variant)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim body As NotesRichTextItem
   Dim rtnav As NotesRichTextNavigator
   Dim rtrange As NotesRichTextRange
   Set db = session.CurrentDatabase
   Set doc = source.Document
   Set body = doc.GetFirstItem("Link")
   Set rtnav = Body.CreateNavigator
Error --> Object variable not set
   If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
      Set rtrange = body.CreateRange
      count% = 0
      Do
         count% = count% + 1
         Call rtrange.SetBegin(rtnav)
         If count% = 5 Then
            Call source.FieldSetText ( "Titel",rtrange.TextParagraph)
         End If
      Loop While rtnav.FindNextElement(RTELEM_TYPE_TEXTPARAGRAPH)
   Else
      Messagebox "Error",, "Contact Administrator"
   End If
End Sub

Kann mir jemand unter die Arme greifen

Alexis
Titel: Re: Tabelle auslesen und in Feld speichern
Beitrag von: m3 am 04.09.05 - 18:27:14
"body" statt "Body"?
Titel: Re: Tabelle auslesen und in Feld speichern
Beitrag von: Alexis am 04.09.05 - 20:42:30
Anmerkung: Auch wenn body als Variant deklariert wird bleibt die selbe Fehlermeldung
Titel: Re: Tabelle auslesen und in Feld speichern
Beitrag von: m3 am 05.09.05 - 09:45:52
Soda, heute hab ich genauer gelesen. Nachdem es sich um ein RTF handelt, kannst Du auf dessen Inhalt IIRC erst NACH dem Speichern zugreifen.
Titel: Re: Tabelle auslesen und in Feld speichern
Beitrag von: Alexis am 05.09.05 - 15:11:48
Hallo Martin,

nachgefragt: muss ich dazu das Frontend-Dokument erst speichern, ID speichern und dann im Background z.B. per Agent die Übertragung der Tabellenwerten in die Felder vornehmen ODER gibt es eine elegantere Lösung?

Alexis

Titel: Re: Tabelle auslesen und in Feld speichern
Beitrag von: Driri am 05.09.05 - 15:14:50
Hallo,

Du kannst das UIDoc einfach speichern und nach dem Speichern dann über

Set doc = uidoc.Document

das Backend-Dokument holen.
Titel: Re: Tabelle auslesen und in Feld speichern
Beitrag von: Alexis am 05.09.05 - 19:05:38
Hallo Forum,

Dank für alle Tipps, jetzt klappt es.

Die Lösung, die sich anbot war:

Editieren im QueryModeChange
Tabelle auswerten im Postsave

Alexis