Hi Leute,
ich versuche gerade eine Liste in Lotusscript zu erstellen die ich in der Maske dann als Auwahl einstellen kann.
Ziel ist eine Auswahl:
name1|unid1
name2|unid2
name3|unid3
Versuch 1:
While Not TmpDoc Is Nothing
'liste(x) = CStr(TmpDoc.GetItemValue("bezeichnung")(0)) & "|" & CStr(TmpDoc.Universalid)
Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
x=x+1
Wend
Versuch 2:
While Not TmpDoc Is Nothing
liste(CStr(TmpDoc.GetItemValue("bezeichnung")(0))) = CStr(TmpDoc.Universalid)
Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
x=x+1
Wend
Versuch 3:
While Not TmpDoc Is Nothing
strListe = strListe & CStr(TmpDoc.GetItemValue("bezeichnung")(0)) & "|" & CStr(TmpDoc.Universalid) & Chr(10)
Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
Wend
Versuch 4:
While Not TmpDoc Is Nothing
strListe = strListe & CStr(TmpDoc.GetItemValue("bezeichnung")(0)) & "|" & CStr(TmpDoc.Universalid) & Chr(10)
Set TmpDoc = BetreuungsstufenCollALL.getNextDocument(TmpDoc)
Wend
Meine Variable strListe gebe ich als "liste" an die Maske
In der Maske habe ich das Feld auf Listenfeld, Mehrfachwerte zugelasse, und die Auswahl -> Formel für Auswahl verwenden und liste dort eingetragen.
Was mache ich falsch? Einer eine Ahnnung?
Du musst Dir ein Array zusammenbauen (Versuch 1 ist vom Grundsatz nicht ganz schlecht) und das in ein Feld des Dokumentes schreiben. Dieses Feld trägst Du dann als Formel für die Auswahl ein.
Du kannst nicht eine Scriptvariable in die Auswahlformel eintragen, ist schließlich eine FORMEL.
das habe ich ja gemacht...
Call dlgdoc.Replaceitemvalue("liste",strListe)
Damit schreibst Du aber die Liste in das Feld. Müsstes aber ein Array reinschreiben bzw.
Ungefähr sowas.... basierend auf Versuch 2...
set liste = new notesitem(dlgdoc,"liste")
forall t in strliste
call liste.appenditemvalue(t & "|" & listtag(t))
end forall