(CC) Filter aus Textfeld

20. Dezember 2023 14:37

Guten Tag zusammen,

ich stecke gerade fest. Ich habe ein Form mit mehreren Textfeldern, in welche ich Filterbegriffe eingeben kann. Beim Typ Code kann das z.B. 'E|Q|F' sein. Über diese Felder filtere ich mehrere Record-Variablen (bzw. ich würde das gerne). Ich habe es auf folgende Weisen versucht (Inhalt von Filterfeld ist 'E|Q|F':
1. myTableVar.SETRANGE("Zustellercode", FilterFeld);
Ergebnis: kein Eintrag gefunden
2. MyTableVar.SETFILTER("Zustellercode", '%1', FilterFeld);
Ergebnis: kein Eintrag gefunden
3. hartcodiert aus Verzeiflung:
MyTableVar.SetFilter("Zustellercode", STRSUBSTNO('%1|%2|%3', 'E', 'Q', 'F'));
Ergebnis: Kein Eintrag gefunden.

Gebe ich einen einzelnen Buchstaben ein, z.B. 'E', funktioniert SETRANGE. Aber eben nur mit einem einzelnen Buchstaben. Bin ich wirklich gezwungen, den Inhalt des Textfeldes erst in ein Code-Array zu splitten, um dann in einer Schleife nacheinander die Buchstaben durchzugehen, oder gibt es etwas anderes? Oder muss ich dem Benutzer sagen "Sorry, in einem Formular kannst du keine Filterausdrücke verwenden, sondern immer nur einzelne Werte?

Viele Grüße und frohes Fest

ein ratloser Carsten

Re: (CC) Filter aus Textfeld

20. Dezember 2023 14:39

Hallo,

versuchs mal mit SetFilter("Zustellercode", FilterFeld);

Gruß fiddi

Re: (CC) Filter aus Textfeld

20. Dezember 2023 15:28

fiddi hat geschrieben:Hallo,

versuchs mal mit SetFilter("Zustellercode", FilterFeld);

Gruß fiddi


Hallo fiddi,

das hat geklappt, danke. Offensichtlich mag SETFILTER keine '%1' - das Datum bzw. den Datumsfilter baue ich jetzt über CU1 "MakeDateFilter". Die Variable dazu ist jetzt nicht mehr vom Typ "Date" sondern "Text", der Aufruf kommt im Validate-Trigger des Controls. Funktioniert ebenfalls. Ich hoffe ich bekomme das letzte Problem auch noch gelöst - ich kann nämlich den Inhalt der TableBox nicht kopieren (nach Excel), und das ist zwingend ...

Re: (CC) Filter aus Textfeld

20. Dezember 2023 16:53

EggCMeister hat geschrieben:. Offensichtlich mag SETFILTER keine '%1' -

Das ist ein Bug in den alten Versionen, siehe hier.