Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: nieke am 18.12.02 - 14:39:02
-
Hallo!
Ich würde gerne ein Leserfeld mit einer Aktion wie folgt füllen:
1. Inhalt des Feldes "Ersteller"
2. Inhalt des Feldes "Leser in dem Profildokument
Die Werte auslesen kann ich, aber ich weiß nicht, wie diese beiden Werten zusammen in das andere Feld "LESER" bekommen.
Kann mir da jemand helfen?
-
das Leserfeld muß "Multivalue" angehat haben. Dann berechnet und als Formel:
FeldA:FeldB
wichtig ist das " : " Zeichen, als Konzentationszeichen im Notes, dass Notes sagt: "Jetzt kommen Mehfachwerte".
-
... wenn das MultipleValue-Feld berechnet ist, dann hilft
Feldname1 : Feldname2
als Formel, ansonsten per Zuweisung eben
FIELD Leser := Feldname1 : Feldname2;
ata
-
Hi,
wenn du das mit der Formelsprache machst, mit @SetField.
FIELD Leserfeldname := Leserfeldname;
@SetField("Leserfeldname"; Ersteller : Leser);
Axel
-
... kann ich das auch irgendwie in ein ReplaceItemValue setzen?
Der will keine Doppelpunkte.
-
Hi,
ach so, du willst das mit Script machen. Eine der möglichen Alternativen ist ein Array.
Dim strLeser(1) As String
strLeser(0) = "Lesername1"
strLeser(1) = "Lesername2"
Set item = doc.ReplaceItemValue( "Name des Leserfeldes", strLeser )
Axel
-
... geht nicht!
Er sagt mir "arrays of arrays are not supported"
Woran liegt das?
-
Hi,
die Fehlermeldung sagt mir erstmal nix. Kannst du mal den Code posten. Vielleicht sieht man dann mehr.
Axel
-
... ja klar!
ub Click(Source As Button)
...
Dim profileDoc As NotesDocument
Dim myAuthors As Variant
Dim doc As Variant
Dim creater As Variant
Dim leser As Variant
Dim myleser (1) As Variant
...
myleser(0)=uidoc.fieldgettext("Ersteller")
myleser(1)=profileDoc.GetItemValue("Leser")
...
doc.Autor = profileDoc.GetItemValue("Authors")
Call doc.replaceItemValue("Leser", myleser)
...
Das Feld "Leser" ist ein Leserfeld und es sind Mehrfachwerte zugelassen. Ich habe das Script "debugged", der bekommt erst beim ReplaceItemValue ein Problem. Der Rest läuft einwandfrei.
Kannst Du damit mehr anfangen?
-
Hi,
yoo, jetzt ist das Ganze klarer. Das geht so nicht, denn profileDoc.GetItemValue("Leser") liefert, da Mehrfachwerte, ein Array. Daher die Fehlermeldung.
Alternative wäre folgendes:
Set item As NotesItem
...
doc.Autor = profileDoc.GetItemValue("Authors")
Set item = doc.replaceItemValue("Leser", profileDoc.GetItemValue("Leser"))
Call item.AppendToTextList(uidoc.fieldgettext("Ersteller"))
...
Axel
-
myleser(1)=profileDoc.GetItemValue("Leser")(0)
-
myleser(1)=profileDoc.GetItemValue("Leser")(0)
Ja, aber.....
Du übernimmst damit immer nur den ersten Eintrag des Mehrfachfeldes. Was ist mit den anderen Werten ?
Axel
-
Yipieh!!!!! Axels Lösung hat funktioniert.
Jetzt ist das so wie ich wollte.
Vielen Dank!