0

Tabelle nach Mehrfachauswahl(dynamisch) filtern

Hallo,

ich habe eine Frage, die wahrscheinlich bereits gefallen ist, aber:

ich habe einen Tabelle Mitarbeiter erstellt, die  die Felder Vorname, Nachname und den Nutzer beinhaltet.

Nun habe ich einen Angebots Datenbank mit einer Mehrfachauswahl an Angeboten, die diese Mitarbeiter verwendet.

 

Dynamischer Wert:

select Mitarbeiter

Name des dynamischen Wertes:

Nachname + " " + Vorname

 

Ich möchte zwei Dinge machen: 

 

1. Textfeld, dass eine Ansicht filtert. Quasi wenn man Susi eingibt, sollen nur Angebote von Susi angezeigt werden

 

2. Ich möchte nur Angebote aus der Angebots Tabelle anzeigen, in der der Nutzer der aktuelle Ninox Benutzer ist.

 

Ist das möglich, oder habe ich mit dynamischen Mehrfachauswahl meinen Endgegner gefunden?

5 Antworten

null
    • UweG
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Ich würde mir mal folgenden Forenbeitrag und die darin enthaltene Beispiel-DB ansehen.
    https://forum.ninox.de/t/m1y6pl5/optimieren-von-mehrfach-filter-in-ansichten-eines-dashboards

    • Wolfgang_Hopfgartner
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Hallo Uwe,

     

    vielen Dank für dein File, das ist Klasse. Ich konnte das erste Problem lösen. Für das zweite, ist hier die Lösung, dass ich mir zB. Alle Angebote selektiere und dann in einer For Schleife durchlaufe und auf den Nutzer zugreife?

     

    lG

      • pma_mgmt
      • vor 2 Wochen
      • Gemeldet - anzeigen

       Über select Angebote where Mitarbeiter = user() (oder ähnliches) müsstest du es ohne for-schleife hin bekommen

      • Wolfgang_Hopfgartner
      • vor 2 Wochen
      • Gemeldet - anzeigen

       Naja hier komme ich gerade nicht weiter. Mein Mitarbeiter hat die Felder: Vorname, Nachname und Nutzer. Wie kann ich in der SQL auf Nutzer zugreifen? quasi ein: where Mitarbeiter.Nutzer = user()

    • Wolfgang_Hopfgartner
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Also um mir alle Angebote des aktuellen Ninox Users anzeigen zu können, würde ich soetwas machen: 

    let angList := (select Angebote);
    for angebot in angList do
        let userList := numbers(angebot.Kalkulant);
        for num in userList do
            let curMitarbeiter := record(Mitarbeiter,num);
            if curMitarbeiter.Nutzer = user() then
                angebot
            end
        end
    end

     

    Denke ich hier zu kompliziert, oder ist das der Weg? :-)