0

Hilfe bei Filter auf Untertabelle

Hallo,

in einer Ansicht möchte ich eine Tabelle mit Untertabelle über ein Auswahlfeld mit Kalenderwochen filtern. Die Untertabelle hat mal nur einen Eintrag, wenn nur ein Termin existiert, manchamal aber auch 20 oder 30 Einträge, jeweils in einer anderen Kalenderwoche. 

Wenn ich diese Formel 

let tab := (select Listen where Pflegetermine.text(KW) = woche and Pflegetermine.Kolonne = 0);

eintrage, zeigt er mir nur Datensätze aus der Untertabelle an, wo nur ein Termin ist. Wenn mehrer Einträge in der Untertabelle sind, zeigt er mir die nicht an. Wenn ich das mit first() versuche, zeigt er mir die ersten Datensatz in der ausgewählten Kalenderwoche an, aber in den nächsten Wochen keinen mehr.

Hat da jemand einen Tip?

Gruß Mirko

10 Antworten

null
    • Pushing the Boundaries of Ninox
    • Gotje_Ing
    • vor 2 Wochen
    • Gemeldet - anzeigen

    Moin,

    let tab := (select Listen where contains(Pflegetermine.text(KW) ,woche) and Pflegetermine.Kolonne = 0);

    sollte dich ans Ziel bringen, wenn "woche" der Wert aus dem Auswahlfeld ist und text(KW) in den Untereinträgen steht.
     

    • Mirko_E
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Moin,

    das hat super funktioniert!

    Wie sieht denn der Code aus, wenn ich statt auf die Kalenderwoche auf ein Datum filtern möchte?

    let tab := (select Listen where contains(Pflegetermine.text(Datum) ,text(myDate)) and Pflegetermine.Kolonne = 0);

    Das funktioniert leider nicht, da wird mir nichts angezeigt?

    Gruß Mirko

      • Pushing the Boundaries of Ninox
      • Gotje_Ing
      • vor 3 Tagen
      • Gemeldet - anzeigen

       
      Moin,

      soll das Datum für den Filter in ein Datumsfeld eingegeben werden oder in ein (dynamisches) Auswahlfeld?
       

    • Mirko_E
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Moin,

    das Datum für den Filter ist ein normales Datumsfeld.

      • Pushing the Boundaries of Ninox
      • Gotje_Ing
      • vor 3 Tagen
      • Gemeldet - anzeigen

       

      let tab := (select Listen where date(Datum) = date(myDate) and Pflegetermine.Kolonne = 0);

    • Mirko_E
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Moin,

    das Datumfsfeld ist aber in einer Untertabelle(Pflegetermine) der Listen Tabelle, genau wie im Code in der Formel mit der KW. 

      • Pushing the Boundaries of Ninox
      • Gotje_Ing
      • vor 2 Tagen
      • Gemeldet - anzeigen

       
      Sorry, da hatte ich zu viel gestrichen:
      let tab := (select Listen where cnt(Pflegetermine.Datum = me.'Such-Datum') > 0 and Pflegetermine.Kolonne = 0);

      • Pushing the Boundaries of Ninox
      • Gotje_Ing
      • vor 2 Tagen
      • Gemeldet - anzeigen

       Hier noch eine Test-DB als Beispiel

      • Pushing the Boundaries of Ninox
      • Gotje_Ing
      • vor 2 Tagen
      • Gemeldet - anzeigen

       
      Noch eine Korrektur, ich hab mich oben vertan:
      let me := this;
      let tab := (select Listen where cnt(Pflegetermine[Datum = me.myDate and Kolonne = 0]) > 0);
       

    • Mirko_E
    • vor 2 Tagen
    • Gemeldet - anzeigen

    Moin,

    nachdem der Code auch nicht ging habe ich noch mal alles durchgeschaut!

    Peinlich, das Datum, auf das ich filtern wollte auf der Seite war in einer styled Formel, habe das jetzt geändert, und schon geht es!

    Es geht aber nur richtig mit der Formel weiter oben mit contains, die Formel jetzt zeigt nicht alle Datensätze an.

    Vielen Dank für Deine Hilfe!

    Gruß Mirko

Content aside

  • vor 2 TagenZuletzt aktiv
  • 10Antworten
  • 41Ansichten
  • 2 Folge bereits