Hallo Leute,
habe da ein Problem (mal wieder
).
Folgender Hintergrund:
Habe in einer Maske zwei Comboboxen (A_ArtHGr und A_ArtUGr). A_ArtUGr ist abhängig von A_ArtHGr.
A_ArtHGr bekommt seine Werte aus einem Profilfeld { @GetProfileField("(Konstanten)"; "Art_HGr_List") }. Funktioniert soweit super.
Nun soll A_ArtUGr abhängig vom gewählten Wert in A_ArtUGr auch gefüllt werden, auch aus einem Profilfeld. Allerdings müssen die Daten ein wenig aufbereitet werden.
Hier mal der Formel Code dazu:
list := "";
@If(A_ArtHGr != "";
@Do(
@For( n := 1;
n <= @Count( @GetProfileField("(Konstanten)"; "Art_UGr_List") );
n := n + 1;
@Do(
UG := @Subset ( @Subset( @GetProfileField("(Konstanten)"; "Art_UGr_List"); n); -1);
hg := @Trim( @ReplaceSubstring( @Word(UG; "~"; 1); "#": "~"; "" ) );
_ug := @If(hg = A_ArtHGr;
@If( list = "";
@Trim(@ReplaceSubstring(@Word(UG; "~"; 2); "#": "~"; ""));
", " + @Trim(@ReplaceSubstring(@Word(UG; "~"; 2); "#": "~"; ""))
);
"");
list := list + _ug
)
)
);
"");
list
list wird zwar gefüllt, aber in der Combobox werden mir die Daten einfach als ein Eintrag angezeigt.
zB.
In Art_HGr_List (Profilfleld) stehen die Werte in folgender Weise:
HG01
HG02
HG03
In Art_UGr_List (Profilfeld) stehen die Werte in folgender Weise:
HG01###################################~UG11
HG01###################################~UG12
HG02###################################~UG21
HG03###################################~UG22
HG03###################################~UG31
Jetzt wird in
A_ArtHGr
HG01 ausgewählt sollte in
A_ArtUGr
UG11 UG12 erscheinen.
Tut es aber nicht. Statt dessen erscheint
UG11, UG12 Habe jetzt das ganze mal so versucht:
Tempfeld:
tmp_Art_UGr[/] (Computed, Allow multiple values, Seperate value... <Comma, Semicolon, New Line>, Display seperate va... <New Line>
Das Tempfeld mit der obigen Formel ausgestattet und A_ArtUGr = tmp_Art_UGr gesetzt.
Gleiches Ergebnis.
Ich denke das ich einen Fehler in der Formel habe, aber wo ? ?
Sieht ihn einer von Euch?
Danke für Eure Hilfe.
Gruß
Zsolt