Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Andreas Huhn am 03.11.05 - 10:06:30
-
Hallo zusammen,
versuche für ein Multivalue Feld für jedes Wertepaar zwei Felder miteinander zu verketten, aber aus irgendeinem Grund sieht das Ergebnis sehr komisch aus.
Es handelt sich um jeweils 20 Felder.
folgendes liefert ein erwartetes Ergebnis:
@Trim(@Replace( DrwBest : DrwBest_1 : DrwBest_2 : DrwBest_3 : DrwBest_4 : DrwBest_5 : DrwBest_6 : DrwBest_7 : DrwBest_8 : DrwBest_9 : DrwBest_10 : DrwBest_11 : DrwBest_12 : DrwBest_13 : DrwBest_14 : DrwBest_15 : DrwBest_16 : DrwBest_17 : DrwBest_18 : DrwBest_19 : DrwBest_20 ; ";;" ; ";"))
Wenn lediglich das erste Feld mit "USL 15056" befüllt ist dann wird dieser Wert wie erwartet nur einmal ausgegeben:
USL 15056
Verändere ich die Funktion wie folgt:
@Trim(@Replace( DrwBest + " " + Rev : DrwBest_1 : DrwBest_2 : DrwBest_3 : DrwBest_4 : DrwBest_5 : DrwBest_6 : DrwBest_7 : DrwBest_8 : DrwBest_9 : DrwBest_10 : DrwBest_11 : DrwBest_12 : DrwBest_13 : DrwBest_14 : DrwBest_15 : DrwBest_16 : DrwBest_17 : DrwBest_18 : DrwBest_19 : DrwBest_20 ; ";;" ; ";"))
wobei in Rev ein "A" steht, dann wird folgendes ausgegeben:
USL 15056 A; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056; USL 15056
Dieses Verhalten kann ich mir überhaupt nicht erklären! Mein Ziel wäre es die beiden Felder jeweils für alle 20 Paare miteinander zu verbinden, also etwa so:
@Trim(@Replace( DrwBest + " " + Rev : DrwBest_1 + " " + Rev_1 : DrwBest_2 + " " + Rev_2 : DrwBest_3 + " " + Rev_3 : DrwBest_4 + " " + Rev_4 : DrwBest_5 + " " + Rev_5 : DrwBest_6 + " " + Rev_6 : DrwBest_7 + " " + Rev_7 : DrwBest_8 + " " + Rev_8 : DrwBest_9 + " " + Rev_9 : DrwBest_10 + " " + Rev_10 : DrwBest_11 + " " + Rev_11 : DrwBest_12 + " " + Rev_12 : DrwBest_13 + " " + Rev_13 : DrwBest_14 + " " + Rev_14 : DrwBest_15 + " " + Rev_15 : DrwBest_16 + " " + Rev_16 : DrwBest_17 + " " + Rev_17 : DrwBest_18 + " " + Rev_18 : DrwBest_19 + " " + Rev_19 : DrwBest_20 + " " + Rev_20 ; ";;" ; ";"))
Aber das klappt aus einem mir nicht bekannten Grund nicht.
Könnt ihr mir sagen was ich übersehen hab?
-
das ist ganz einfach eine Frage der Reihenfolge:
"A" + "B" : "C" addiert die beiden Listen und füllt dabei die kürzere der beiden listen mit dem letzten ELement so lange auf, bis beide gleich sind ":" bindet stärker als "+".
Ergebnis:
"AB" : "AC"
Du willst:
("A" + "B") : C
das ergibt
"AB" : "C"
HTH
Tode
-
Hallo Thorsten,
ein Kapitel über Listen hab ich vor 3-4 Wochen gelesen aber die praktische Auswirkung war mir wohl nicht so klar. Zumal ich in dem Zusammenhang gar nicht an die Listen gedacht hab.
So einfach war also die Lösung. Danke, nun funktioniert es! Wieder etwas gelernt...
Viele Grüße,
Andreas