Autor Thema: Ein Array einem Feld übergeben  (Gelesen 1503 mal)

Offline wittmann_franz

  • Aktives Mitglied
  • ***
  • Beiträge: 241
  • Geschlecht: Männlich
Ein Array einem Feld übergeben
« 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



Gruß
Volker

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Ein Array einem Feld übergeben
« Antwort #1 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

Offline wittmann_franz

  • Aktives Mitglied
  • ***
  • Beiträge: 241
  • Geschlecht: Männlich
Re: Ein Array einem Feld übergeben
« Antwort #2 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 :-)
Gruß
Volker

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz