Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet 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
-
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
-
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 :-)