22. Juni 2019 11:27
Hallo Zusammen,
leider habe ich im Forum mein Problem nicht finden können, deswegen frage ich hier einmal schnell nach.
Ich möchte einen "dynamischen" Textfilter auf ein Optionsfeld in einer Tabelle legen (Per Code)
Die Optionswerte sind:
- Blau, Gelb, Rot
Dazu habe ich in einer Einrichtungungstabelle ein Textfeld hinzugefügt.
Hier soll man nun entweder Blau, Blau|Gelb, Geld|Rot... usw. als Text hinterlegen können.
Der Textstring wird dann zur Laufzeit geholt und soll als Optionsfilter in der Tabelle verwendet werden.
Im Code habe ich lokale Variable angelegt
OptionsHilfsVar >> Blau, Gelb, Rot
EVALUATE(OptionsHilfsVar, Einrichtungstabelle.Textfeld);
Zieltabelle.SETFILTER(Zieltabelle.Zielfeld, '%1', OptionsHilfsVar ) ;
Leider läuft das auf einen Fehler - hat jemand eine Idee was ich falsch mache?
Danke und Grüße
Oliver
22. Juni 2019 19:19
Hallo,
die Optionswerte sind eigentlich Integer, von 0 startend, mit Komma getrennt in "OptionString". Dynamische Filter sind dann:
setfilter(Feld, '%1|%2',<wert1_als_int>,<wert2_als_int>);
Wenn Du direkt die Klartextoption hinterlegen willst ist es
setrange(Feld,Feld::<wert>);
LG Jens
24. Juni 2019 09:57
das funktioniert zumindest in 2018:
- Code:
recref.OPEN(37);
fieldref := recref.FIELD(5);
fieldref.SETFILTER('Item|G/L Account');
MESSAGE(FORMAT(recref.GETFILTERS));
Du solltest auf dennoch den integer Wert und nicht den Text speichern, sonst hast du spätestens ein Problem wenn jemand ne andere Sprache benutzt. oder jemand gibt einen wert ein der in dem Option Feld nicht existiert.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.