Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: wittmann_franz am 06.06.12 - 15:04:06

Titel: Ein Array einem Feld übergeben
Beitrag von: wittmann_franz am 06.06.12 - 15:04:06
Hallo zusammen,

ich komme bei der Übergabe eines erstellten Arrays auf ein Feld nicht weiter.

   Set doc = view.GetFirstDocument()
   While Not (doc Is Nothing)
      arstrArray1 = doc.GetItemValue("PD_Verantwortlicher")
      arstrArray2 = doc.GetItemValue("PD_Vertreter")
      vArrayZwErg = ArrayAppend(arstrArray1, arstrArray2)
      
      If IsArray(vZust) Then
         vZust = ArrayAppend(vZust, vArrayZwErg)
      Else
         vZust = vArrayZwErg
      End If      
      
      Set doc = view.GetNextDocument(doc)
   Wend
   
   vResult = ArrayUnique(vZust , 0)
   
   Call uidoc.Fieldsettext("PZ_Mail_Freigabe_OK", CStr(vZust(0)))
   Call uidoc.Save
      

im Debugger sehe ich , dass in der Variablen vZust  mehrere Werte vorhanden sind. Im Feld wird jedoch nur der 1. Wert übergeben.
Wenn ich nur CStr(vZust) schreibe, dann bekomme ich eine Fehlermeldung Object Variable not set.
Ich dachte wenn ich das nach String umwandele kann ich es problemlos mit Fieldsettext einfügen

Vielen Dank für Eure Hilfe.

Lotus Notes 8.5.2
Server 8.5.2



Titel: Re: Ein Array einem Feld übergeben
Beitrag von: koehlerbv am 06.06.12 - 15:09:22
vZust (0) ist ja auch ausdrücklich das erste Element des Arrays.

Im Backend würdest Du das so übergeben:
NotesDocument.dein_item = vZust
oder
Call NotesDocument.ReplaceItemValue ("dein_item", vZust).

Wenn Du es weiter im Frontend machen willst oder musst:
Call uidoc.Fieldsettext ("PZ_Mail_Freigabe_OK", Implode (vZust, ","))
insofern das Komma der Delimiter für Mehrfachwerte im Feld ist.

Wozu hast Du das vResult?

Bernhard
Titel: Re: Ein Array einem Feld übergeben
Beitrag von: wittmann_franz am 06.06.12 - 15:18:23
Hallo Bernhard,

vielen Dank für die schnelle Antwort.
","  ist die Lösung, habe ich mal wieder was dazu gelernt.
Das Feld vResult ist natürlich die Variable, die am Ende an das Feld übergeben werden muss.
Ich wollte mir den Unterschied zwischen vZust und vResult anschauen.

Das habe ich jetzt gemacht und alles ist gut.

Einen schönen Nachmittag noch und bis zum nächsten mal :-)