Refresh von Documenten

  • Hallo


    Ich importiere Daten von einem Textfile ins Notes. Um einen Lookup zu machen, habe ich 3 Feldwerte in einem zusammengefasst. Diese sollten in der Ansicht als "3 Dokumente" einzeln angezeigt werden und nicht alle in der gleichen Zeile.


    Im Feld werden die Werte Semikolongetrennt angezeigt.


    Wenn ich die Maske manuell öffne, speichere und schliesse werden die Wert getrennt angezeigt.


    Akualisiere ich die Dokumente mit untenstehendem Skript, passiert gar nichts.


    Wieso werden die Dokumente nicht aktualisiert?


    Gruss, dave



    Sub Initialize
    Dim session As NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument

    Set session = New NotesSession
    Set db = session.CurrentDatabase
    Set view = db.GetView("$LFahrzeugnummerKtrlSchild2")
    Set doc = view.GetFirstDocument

    While Not(doc Is Nothing)
    'Call doc.ComputeWithForm(True,False)
    Call doc.Save(True,True)

    Set doc = view.GetNextDocument(doc)

    Wend
    End Sub

  • Die Frage ist wie du die Werte in der Maske selbst ermittelst.


    Ausserdem muss bei deinem Script mal das ComputeWithForm aktiv sein, sonst geht erst mal gar nichts.


    Allerdings funktioniert ComputeWithForm nur bei berechneten Feldern, nicht aber bei Scripten die im QuerySave oder so vorhanden sind.

  • Hallo


    Zitat


    taurec schrieb:
    Die Frage ist wie du die Werte in der Maske selbst ermittelst.


    Ich habe dafür ein bearbeitbares Feld erstellt, bei dem ich die Werte der anderen Felder folgendermassen einlese:


    txtKtrlschild1 + "; " + txtKtrlschild2 + "; " + txtKtrlschild3



    Das Computewithform habe ich schon nicht auskommentiert. Ist mir hier irgendwie reingerutscht.
    Hmm, in dem Fall kann meine Variante gar nicht funkionieren?


    Hast du mir einen Tipp, wie ich die 3 Werte dann in das Feld kriege?



    gruss und dank, dave

  • Ein bearbeitbares Feld wird nur beim ersten Anlegen berechnet, später aber nie wieder. Es heisst ja nicht umsonst Vorgabewert an dieser Stelle.
    Nur bei berechneten Feldern geht das was du willst

  • Sofern das Feld die Eigenschaft "Mehrfachwerte zulassen" hat (das ist Voraussetzung) solltest du es von "Bearbeitbar" auf "Berechnet" umstellen, nur dann wird deine Feldformel in der von dir eingesetzten Form ausgeführt.


    Die Formel selbst hat einen Denkfehler, das Semikolon ist nur bei der manuellen Eingabe ein mögliches Trennzeichen. In der Formelsprache wird stattdessen der Doppelpunkt verwendet. Man nennt das dann eine Textliste.


    Die korrekte Formel in diesem Fall lautet:


    txtKtrlschild1 : txtKtrlschild2 : txtKtrlschild3

  • Kommt drauf an wie du die Werte nachher im Feld haben willst:


    Sollen sie tatsächlich mit Semikolon getrennt als ein Wert drinstehen, dann ja.
    Sollen sie dagegen als drei Werte mit dem im Feld definierten Trennzeichen angezeigt werden, dann nein, sondern: Wert1 : Wert2 : Wert3