[Gelöst] Setfilter und Filterwert aus einem DB-Feld

21. Juli 2012 17:00

Hallo Navisionwelt,

ich möchte gern einen oder mehrere Benutzer in einer Tabelle filtern. Welche Benutzer gefiltert werden soll der Anwender bestimmen können. Da dachte ich mir den Filter kann ich ja als DB-Feld bereitstellen. Dann können die das selber bestimmen. Das klappt aber nur, wenn keine Sonderzeichen in meinem Filter sind. Z.B.:

Code:
SETFILTER("Salesperson Code",'%1',SalesPersonFilter);


Klappt prima, wenn SalesPersonFilter = Meier

Klappt nicht, wenn SalesPersonFilter = Meier|Schulze

Aus Meier|Schulze wird im Set Range nämlich der Filter 'Meier|Schulze'. So steht es dann im Tabellenfilter-Fenster. Nimmt man die überflüssigen Hochkom(m)as im Tabellenfilter-Fenster manuell weg, dann klappts wieder.

Eigentlich möchte ich sogar beliebig viele Benuter oder wenn das Feld leer ist.

Ich habe es mal so versucht:

Code:
SETFILTER("Salesperson Code",'%1|%2',SalesPersonFilter,'');


Im Tabellenfilter-Fenster ist dann folgender Filter zu finden: 'Meier|Schulze'|''


Habt Ihr eine Idee wie oder ob man das machen kann?

Herzlichen Dank im Voraus


BTW: Ich tippe oft foltern, statt filtern. Was will mir mein Unterbewusstsein da zu verstehen geben? :roll:
Zuletzt geändert von Datenkultur am 21. Juli 2012 18:30, insgesamt 1-mal geändert.

Re: Setfilter und Filterwert aus einem DB-Feld

21. Juli 2012 17:44

Und was passiert bei dieser Variante?

Code:
SETFILTER("Salesperson Code",SalesPersonFilter);


BTW: Ich tippe oft foltern, statt filtern. Was will mir mein Unterbewusstsein da zu verstehen geben? :roll:
Das erinnert mich an die "gute alte" Navigation Pain :lol:

Re: Setfilter und Filterwert aus einem DB-Feld

21. Juli 2012 18:30

Ist es ein Flugzeug? ... Ist es ein Vogel? ... Nein... Es ist Supernatalie ... Applaus, Applaus, Applaus ... :mrgreen:

Mit einem DB-Feld funktioniert das tatsächlich. Dann kann man Meier|Mueller|'' eingeben und das wird als Filter verwendet.

Ich habe das auch mal per Textvariable ausprobiert. Das klappt auch prima. Ich musste dafür allerdings erst mal herausfinden wie man die beiden Hochkommas in die Variable bekommt. Das ist ja auch das Texttrennzeichen im NAV. Die Lösung: für jedes Hochkomma zwei aufeinanderfolgende Hochkommas eingeben. Für die beiden braucht es also vier Hochkommas. Mit dem abschließenden Hochkomma des Textes braucht es also 5x Hochkomma.

TestText := 'Timo|Natalie|''''';

Seltsam. Aber so steht es geschrieben :wink:

@Natalie: Meine Frau und ich konnten ja leider aus gesundheitlichen Gründen nicht mit nach Nürnberg. Bist Du im September in Antwerpen? Ich würde mich gern mal persönlich bei Dir bedanken.