0

Filter in Combobox

Ich möchte eine Tabelle nach dem Status der Combobox filtern. Es geht um eine Auftragsbearbeitung. Status in der Combobox ist z.B. ‘In Planung’, Fertgung’, ‘Endkontrole’, usw. Ein Status ist ‘geliefert’. Auch danach kann ich tadellos filtern. Wenn ich aber alle Einträge außer ‘geliefert’ sehen will, komme ich nicht weiter. Der Filter erlaubt keine Negierung und keinen Code... 

4 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Wenn es ein einfaches Auswahlfeld ist, dann könnte die Abfrage nach allen Datensätzen, deren Status nicht auf "geliefert" steht, folgendermaßen lauten (das "!=" steht in Ninox für "ungleich"):

    text(Status) != "geliefert"

     

    Wobei man natürlich genau auf Schreibweise und Groß-/Kleinschreibung achten muss. Alternativ kann man auch die numerischen IDs der Auswahl-Optionen abfragen. Wenn "Geliefert" bspw. die ID 5 hätte:

     

    number(Status) != 5

    • HolgerE
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke für die Rückmeldung!

    Leider gibt dein Vorschlag in der f(x)-Zeile Fehler. Mein Feld (Spalte) Status ist eine Mehrfachauswahl, kein Auswahlfeld. Im Filterfeld kann ich keinen Code eingeben. 

    Ich habe es nach deinem Hinweis mit einem einfachen Auswahlfeld probiert. Beim Filter gibt es auch nur die Möglichkeiten (alle), (leer) oder (nicht leer) sowie die einzelne Elemente. Kann ich in der f(x) Zeile nicht mit einem select arbeiten?

    Kann es sein, dass es dort einen Bug gibt (iPad)? Bei “Wert hinzufügen” verschwindet der eingebene Text sofort wieder. In der “Liste der möglichen Werte” kommen nur der bunte Kuller und ein Icon. Das kann man aber vermeiden, wenn man auf die Tonne clickt und das löschen nicht bestätigt. 

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Moin ...

     

    »Beim Filter gibt es auch nur die Möglichkeiten (alle), (leer) oder (nicht leer) sowie die einzelne Elemente.«

     

    Ja, genau. Und man klickt halt die Werte an, welche man angezeigt haben möchte. Also in deinem Fall alle außer "geliefert". Wenn man diesen Filter häufiger braucht, dann legt man dafür eine eigene Tabellen-Ansicht an, benennt sie entsprechend (z. B. "Nicht gelieferte") und kann dann immer wieder darauf zugreifen, ohne die gewünschten Filter-Werte jedesmal neu anklicken zu müssen. 

     

    Bei Mehrfachauswahlfeldern ist das Vorgehen aber generell etwas komplizierter, weil die Auswahloptionen in ein Array geschrieben werden. Eine Möglichkeit zur Auswertung ist, ein solches Array mit contains() abzufragen, ob es einen bestimmten Wert enthält:

     

    contains(text(Status), "geliefert")

     

    Das kann man in der Tabellenansicht m. W. aber so nicht angeben, deshalb würde ich in Ermangelung einer anderen, besseren Idee unter "Spalte einblenden" wohl ein zusätzliches Funktionsfeld mit folgendem "f(x)"-Code anlegen:

     

    if contains(text(Status), "geliefert") then 1 else 0 end

     

    Und dieses Feld/diese Spalte dann auf "0" filtern (ohne Anführungszeichen). Oder auf "1", je nachdem, was man gerade sehen will. Das sollte funktionieren, es mag aber sein, dass es da noch andere Möglichkeiten gibt (ich arbeite eher selten mit gefilterten Tabellenansichten).

     

    Den Fehler auf dem iPad kann ich bei mir so nicht nachvollziehen. Sollte das Problem weiter bestehen, würde ich mich damit direkt an den Support wenden.

    • HolgerE
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die Rückmeldung und entschuldige meine verspätete Antwort.

    Ja, mit der zustäzlichen Berechnungsspalte geht es gut.

    In meiner "live"-Version habe ich aber das Feld von Mehrfachauswahl auf Einfachauswahl geändert. Die Filter der beiden Auswahltypen arbeiten unterschiedlich, ersterer als "und" und der von der Einfachauswahl als "oder". Anders ausgedrückt: bei der Mehrfachauwahl werden nur die Records angezeigt bei denen alle(!) angeklickten Auswahlelemente gültig sind. Ist das Feld eine Einfachauswahl muss nur einer der angeklickten Auswahlelemente gültig sein.

    Vielen Dank nochmal!