0

Nur 20 Datensätze in Ansicht anzeigen

Hallo zusammen,

um meine Datenbank effizienter zu gestalten möchte ich, dass die Kollegen statt in Tabellen in filterbaren Ansichten arbeiten.

In der Ansicht ist folgende Formel hinterlegt:

let me := this;
select Tickets where not Geloescht
and if length(me.Kundenname) > 0 then lower(Kunde.Kundenname) like lower(me.Kundenname) else true end
and if length(me.Kundennummer) > 0 then Kunde.Kundennummer like Kunde.Kundennummer else true end
and if length(me.Suchbegriff) > 0 then lower(BeschreibungenAlleSchritte) like lower(me.Suchbegriff) else true end

Der Filter nach Kundennummer und -name funktioniert aber nur manchmal, insbesondere nach einer "Änderungen speichern". Beispielsweise sollten oben nur Tickets des Kunden Gründlich angezeigt werden.

Woran kann das liegen?

Außerdem möchte ich gerne die Anzahl der angezeigten Tickets auf 20 begrenzen und dann über Seiten navigieren. Sobald ich ein from ... to ... einbaue werden aber gar keine Tickets mehr angezeigt, egal wie groß ich den Bereich definiere.

7 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Florian, zur Begrenzung der angezeigten Datensätze könnte man das select-Ergebnis als Array in eine Variable übernehmen und aus dieser mit slice() Teilmengen auslesen.

    https://docs.ninox.com/de/skripten/funktionen-ueberblick/funktionen/slice

      • Florian_Heinebrodt
      • vor 1 Jahr
      • Gemeldet - anzeigen

      planox. pro Super, dieses Problem ist damit gelöst! 👍

    • Torsten_Stang.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    ich nutze für Filter contains() (https://docs.ninox.com/de/skripten/funktionen-ueberblick/funktionen/contains)

    let me := this;
    select Tickets where not Geloescht
    and if length(me.Kundenname) > 0 then contains(lower(Kunde.Kundenname),lower(me.Kundenname)) else true end
    and if length(me.Kundennummer) > 0 then Kunde.Kundennummer like Kunde.Kundennummer else true end
    and if length(me.Suchbegriff) > 0 then contains(lower(BeschreibungenAlleSchritte), lower(me.Suchbegriff)) else true end
    
      • Florian_Heinebrodt
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Torsten Stang Damit wird das Problem leider nicht gelöst. Die Filter filtern nur manchmal.

      • Torsten_Stang.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Florian Heinebrodt keine Ahnung, ob's damit zusammenhängt, aber welcher Feldtyp ist 'Kundennummer'?

      Hast Du aus dem Code mal das ein oder andere Kriterium rausgenommen?

      • Florian_Heinebrodt
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Torsten Stang Hallo, ich habe den Fehler gefunden.

      Das Kriterium der Kundennummer habe ich mit contains(Kunde.Kundennummer, Kunde.Kundennummer) abgefragt statt me.Kundennummer...

      Danke dir für die Hilfe, beim Test mit nur der Kundennummer ist mir mein Fehler aufgefallen.

      • Torsten_Stang.1
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Florian Heinebrodt boah, den hab ich auch komplett übersehen - weil ich ihn bei der like-Variante belassen hab, als ich Dein Skript angepasst habe...

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 7Antworten
  • 76Ansichten
  • 3 Folge bereits