Hallo Oliver,
standarmäßig trennt der Workflow bei der Eingabe der Werte in ein Stichwortfeld nach Leerzeichen, Komma oder Semikolon.
Das lässt sich umgehen indem man die Werte mit einfache Anführungszeichen (') umschließt und dann explizit zwischen den Werten z.B. ein Komma setzt. In deinem Beispiel also:
"'" & DW_NAME(1) & "','" & DW_NAME(3) & "'"
Das Problem das ich sehe, ist die Reihenfolge der Werte in einem Stichwortfeld. Das Stichwortfeld wurde als eine Art Tagging Funktion konzipiert. Dabei wird die Reihenfolge der eingegebenen Stichworte beim Speichern ignoriert. Die Stichworte werden immer alphabetisch sortiert. Daher würde in deinem Beispiel "D- Domstädt" immer vor "Hr. Clausmann" stehen.
Lässt du dir den 2. und 4. Wert zurückgeben wirst du also "B. Brütting" und "Hr. Clausmann" erhalten.
Das lässt sich leider nicht umgehen, außer man schreibt vor jeden Wert immer auch z.B. eine fortlaufende Zahl, also:
"1 A. Adler", "2 B. Brütting", "3 Hr. Clausmann", "4 D. Domstädt"
Statt einem Stichwortfeld, könntest du eine Tabelle verwenden, da hier die eingegebene Reihenfolge beibehalten wird.
Nehmen wir an du hast eine Tabelle "TABLE" mit der Spalte "NAME", dann könntest du dir die Werte daraus folgendermaßen zurückgeben lassen und in ein Stichwortfeld schreiben:
"'" & DW_TABLE[TABLE_NAME](1) & "','" & DW_TABLE[TABLE_NAME](3) & "'"
Noch ein kleiner Tipp:
Da man die Werte mit einfache Anführungszeichen umschließt, damit diese nicht getrennt werden, stellt sich ggf. die Frage was man mit Werten macht die einfache Anführungszeichen beinhalten z.B. "Peter's Engineering". Diese Werte würden abgeschintten werden.
Hier kann man die einfache Anführungszeichen durch die REPLACE Funktion maskieren, indem man sie mit \' ersetzt:
"'" & REPLACE(DW_TABLE[TABLE_NAME](1), "'", "\'") & "','" & REPLACE(DW_TABLE[TABLE_NAME](3), "'", "\'") & "'"
Im Ergebnis sieht es dann wieder korrekt aus:
Viele Grüße / With best regards,
--
Gerardo Lisanti
Product Manager | DocuWare GmbH