Lotus Script Basics: Wert zu Feld hinzufügen

  • Hallo zusammen,


    bitte nicht lachen aber ich raffs nicht...


    Ich möchte einem Mehrfachfeld einen weiteren Wert hinzufügen. Egal ob das bisher leer ist oder shcon was drinn steht.


    In der Formelsprache super easy
    @SetField("MeinTollesFeld"; @GetField("MeinTollesFeld") : "NeuerWert");


    Wie geht das in Lotus Script???


    doc.meintollesFeld = doc.meintollesFeld : "NeuerWert"


    findet Notes doof :(


    Danke!!!!


    (was kann ich dafür das mir niemand eine Lotus Skript schulung ausgibt?)


    Thomas

  • da gibts verschiedenes, z.B.



    AppendToTextList
    For an item that's a text list, adds a new value to the item without erasing any existing values.
    Defined in
    NotesItem
    Syntax
    Call notesItem.AppendToTextList( newValue )


    oder du baust einen Array auf und und weisst ihn dem Item zu ...


    grüsse


    Dau-in

  • ReplaceItemValue

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • ReplaceItemValue ist falsch, RW. Diese Methode ist ein "Plattmacher", aber hängt nicht an.


    Anita hat schon Recht - da gibt es verschiedene Wege:
    - AppendToTextList (wie sie bereits genannt hat)
    - ArrayAppend (doc.MeinTollesFeld = ArrayAppend (doc.MeinTollesFeld, "Neuer Wert")
    - Evaluate
    - Eine Kombination (eigengeschriebene Routine, die sich gleich um mehr kümmert (Datentypen, "leere" Items, die ja sonst ggf. aus "" : "Neuer Wert bestehen" etc.)


    Letzteres verwende ich.


    Bernhard


    PS: @SetField("MeinTollesFeld"; @GetField("MeinTollesFeld") : "NeuerWert");
    ist aber ziemlich mit der Kirche ums Dorf. "Eleganter" ist
    @SetField("MeinTollesFeld"; MeinTollesFeld : "NeuerWert");

  • Vielen Dank für die vielen Anregungen!!!


    Ich hab mir jetzt eine Funktion "gebastelt" welche mir einen Wert an ein Array hängt und dabei auch berücksichtigt ob es überhaupt ein Array ist oder ob das Array oder der neue Wert leer ist:


    Hatte gehofft das es sowas schon gibt.


    Code
    Function ArrayAddValue(array As Variant, value As String) As Variant		If(value = "") Then		ArrayAddValue = array	Else		If(Isarray(array)) Then			ArrayAddValue = Arrayappend (array, value)						Else					If(array = "") Then				ArrayAddValue = value					Else				Dim newArray(1) As String				newArray(0) = array				newArray(1) = value				ArrayAddValue = newArray			End If		End If	End IfEnd Function


    Und da man ggf. auch mal wieder was wegmachen muss die gegenteilige Funktion zum entfernen (benötigt die obrige).
    Es werden alle Elemente entfernt die "value" ensprechen:




    Ggf. kannst ja mal jemand brauchen...
    [Klappt nur mit String Arrays :-O]

  • Hi Muesly,
    das Script ist klasse. habs zwar recht spät entdeckt, aber ist genau das was ich gerade brauchte, um einen Eintrag in allen Gruppen zu löschen.


    Ciao
    Dietmar