Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: nieke am 18.12.02 - 14:39:02

Titel: Leserfeld füllen
Beitrag 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?
Titel: Re:Leserfeld füllen
Beitrag von: Rob Green am 18.12.02 - 14:45:03
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".
Titel: Re:Leserfeld füllen
Beitrag von: ata am 18.12.02 - 14:46:42
... wenn das MultipleValue-Feld berechnet ist, dann hilft

Feldname1 : Feldname2

als Formel, ansonsten per Zuweisung eben

FIELD Leser := Feldname1 : Feldname2;


ata
Titel: Re:Leserfeld füllen
Beitrag von: Axel am 18.12.02 - 14:48:07
Hi,

wenn du das mit der Formelsprache machst, mit @SetField.

FIELD Leserfeldname := Leserfeldname;
@SetField("Leserfeldname"; Ersteller : Leser);


Axel
 
Titel: Re:Leserfeld füllen
Beitrag von: nieke am 18.12.02 - 15:11:06
... kann ich das auch irgendwie in ein ReplaceItemValue setzen?
Der will keine Doppelpunkte.
Titel: Re:Leserfeld füllen
Beitrag von: Axel am 18.12.02 - 15:15:58
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
Titel: Re:Leserfeld füllen
Beitrag von: nieke am 18.12.02 - 15:25:08
... geht nicht!
Er sagt mir "arrays of arrays are not supported"
Woran liegt das?
Titel: Re:Leserfeld füllen
Beitrag von: Axel am 18.12.02 - 15:46:57
Hi,

die Fehlermeldung sagt mir erstmal nix. Kannst du mal den Code posten. Vielleicht sieht man dann mehr.


Axel
Titel: Re:Leserfeld füllen
Beitrag von: nieke am 18.12.02 - 15:51:04
... 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?
Titel: Re:Leserfeld füllen
Beitrag von: Axel am 18.12.02 - 16:05:25
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
Titel: Re:Leserfeld füllen
Beitrag von: wflamme am 18.12.02 - 16:07:17
myleser(1)=profileDoc.GetItemValue("Leser")(0)
Titel: Re:Leserfeld füllen
Beitrag von: Axel am 18.12.02 - 16:12:08
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

Titel: Re:Leserfeld füllen
Beitrag von: nieke am 18.12.02 - 16:14:28
Yipieh!!!!! Axels Lösung hat funktioniert.
Jetzt ist das so wie ich wollte.
Vielen Dank!