0

thoei@me.com

Gibt es eine einfache Möglichkeit eigene Befehlsschaltflächen so zu gestalten, dass man über sie zum nächsten oder zum vorherigen Datensatz springen kann? Welcher Befehl müßte dazu hinterlegt werden? Vielen Dank!

12 Antworten

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

    In der einfachsten Form auf Basis der Datensatznr. ohne Prüfung auf Dateianfang oder -ende könnte man so zum nächsten Datensatz springen:

     

    let NeuNr := number(this.Nr) + 1;
    openRecord(record(TABELLE,NeuNr))

     

    Für den vorhergehenden Datensatz halt einfach das Plus durch Minus tauschen.

    • thoei
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vielen Dank. Wie könnte ich die Formel denn abändern, damit bei gelöschten Datensätzen auf den nächsten noch vorhandenen Datensatz gesprungen wird?

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    let ANR := Nr;

    let NeuNr := first(select TABELLE where Nr > ANR).Nr;

    openRecord(record(TABELLE, NeuNR)),

     

    bzw.

    let NeuNr := last(select TABELLE where Nr < ANR));

    openRecord...

    • thoei
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Top. Das funktioniert genau so, wie es sein soll. Vielen Dank!
    Sind diese Funktionen irgendwo zusammenhängend dokumentiert.  Trotz großer Suchanstrengungen finde ich oft nicht dass, ewas ich benötige. 

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Bernd,

    die Nr werden von Ninox als Texte behandelt, d.h. 2 ist größer als 11. Wenn du mit deiner Formel von der ID 1 aufwerts klickst, wird es nach 9 der Datensatz mit ID 90 folgen

    Deswegen ist es ratsam beim Vergleichen von IDs diese in Nummern umzuwandeln - number(Nr). 

    ---

    let ANR := number(Nr);
    let NeuNr := min((select TABELLE)[number(Nr) > ANR].number(Nr));
    openRecord(record(TABELLE,NeuNr))

    ---

    let ANR := number(Nr);
    let NeuNr := max((select TABELLE)[number(Nr) < ANR].number(Nr));
    openRecord(record(TABELLE,NeuNr))

    ---

    Leo

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ok, habe ich nicht gewußt 🤭🤭🤭

    • thoei
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vielen Dank, Leo. Das werde ich dann auch so einarbeiten. 

    • thoei
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ist es möglich die vorherige Datensatzbewegung mit weiteren Befehlen zu kombinieren? Was für ein Trenn- oder Verbindungszeichen müßte zwischen den Befehlen stehen? Das bloße Aneinanderreihen scheint nicht zu funktionieren. Danke.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Semikolon

    • thoei
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke sehr! Leider funktionieren die Befehle trotzdem nicht so hinter einander, wie ich mir das erhofft habe. Ich muss das noch einmal gründlicher durchprobieren. Irgendwo habe ich bestimmt eine Denkfehler.Sind die Befehle und die Syntax irgendwo zusammenhängend dokumentiert? Ich möchte hier ja nicht fortwährend mit einzelnen Anfängerfragen nerven ...

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich würde fragen, dafür ist das Forum auch da. 

    Leo

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ... kann Leo da nur bekräftigen - ich wüsste nicht, wo ich Ninox-technisch ohne das Forum (insbesondere Leo :-) heute wäre. Das Handbuch ist zwar umfangreich und wohl nahezu vollständig, lässt aber den Praxisbezug missen - und gerade den findet man dann eben im Forum.

     

    lg, Torsten

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 12Antworten
  • 2734Ansichten