Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Kadlec am 27.01.06 - 16:49:02
-
Hallo,
ich möchte in einer Evaluate Formel als Schlüssel mehrere Werte eingeben. Die Werte erhalte ich mit der Formel:
AddOperator = ws.Prompt(PROMPT_OKCANCELLISTMULT, _ ' Dialogbox zum auswählen SPE
"Auswahl", "Es ist nur ein SPE eingetragen. Um diesen zu löschen musst Du mindestens einen neuen auswählen", "", OperatorList)
Das Ergebniss ist:
(0) BK
(1) JS
usw.
Für die Evaluate Formel brauche ich aber "BK" : "JS"
Das muss doch mit @Implode / @Explode irgendwie hinhauen oder??
Gruss
Boris
-
Wenn Du das Ergebnis aus AddOperator in ein Feld des aktuellen Dokuments schreiben kannst, bist Du fein 'raus - Du kannst Dich im String für Evaluate auf dieses Feld beziehen (Evaluate ("Deine Formel", DeinNotesDokument)
Wenn nicht, kannst Du nicht auf die LS-Variable zurückgreifen und musst diese tatsächlich erst in einer Schleife umbauen:
For iLoop = 0 to Ubound (AddOperator)
szResult = szResult & {"} & AddOperator (iLoop) & {":}
Next
Das letzte ":" musst Du dann noch tilgen - Code oben ist nur fix hingepinselt.
Bernhard
-
Ich schreibe das Ergebnis in ein Feld.
Aus diesem lese ich dann auch mit Evaluate die @Elements aus.
Der Versuch diese Feld auch als Key in der @Lookup Formel zu benutzen
schlägt aber fehl.
Boris
-
Stop ich nehme alles zurück es funktioniert.
Ich habe den Bezug auf das Doc. in der Evaluate Formel vergessen.
Boris
-
Hallo Boris,
übergibst Du denn @dbLookup als Schlüssel eine Textliste? Habe ich da etwas missverstanden?
Das nur interessehalber, da es ja jetzt ansonsten funktioniert.
Bernhard
-
Hi Bernhard,
bin jetzt zwar schon zu Hause aber so sieht der entsprechende Teil
des Agenten aus:
AddOperator = ws.Prompt(PROMPT_OKCANCELLISTMULT, _ ' Dialogbox zum auswählen SPE
"Auswahl", "Es ist nur ein SPE eingetragen. Um diesen zu löschen musst Du mindestens einen neuen auswählen", "", OperatorList)
doc.TempAddOperator = AddOperator ' Temp Feld im Doc zum ablegen der Auswahl (AddOperator) wird am Ende wieder gelöscht
AddOperatorQuant = Evaluate({@Elements(TempAddOperator)},doc)
LUAddOpName = {T := @DbLookup("Notes":"NoCache";"";"}+LUView+{" ;TempAddOperator";2);@If(@IsError(T);"ERROR";T)}
OpName = Evaluate(LUAddOpName,doc)
Gruss + schönes Wochenende
Boris