0

Inhalt (Feld) des letzten Datensatzes auslesen

Ich habe im Moment ein Knüpp im Hirn-

Ich möchte den Inhalt eines Feldes des letzten Datensatzes angezeigt bekommen. Ich bekomme es niicht hin.

Beispiel: Ich möchte mir den letzten Auftragsnummer anzeigen lassen.

Ja theoretisch ist mir das klar:

last((select TABELLE) order by number(Nr));

Ich habe eine Tabelle "Auftrag" und das Feld "Auftragsnummer". Ich bekomme es nicht hin mir die Antragsnummer anzeigen zu lassen. Wie ist dazu die Formel?

Konkret:

last((select TABELLE) order by number(Nr));

wird ja nur die ID anzezeigt. Wie zeigt (füllt) er denn den Datensatz mit dem Feldeintrag, Beipspiel:"AUF/25/34/2444" an. WIe fülle ich eine Variable mit dem Feldeintrag?
 

 

 

5 Antworten

null
    • pma_mgmt
    • vor 7 Tagen
    • Gemeldet - anzeigen

    last((select TABELLE) order by number(Nr)).Auftragsnummer;

     

    ?

    • susankent
    • vor 4 Tagen
    • Gemeldet - anzeigen

    Ja, super vielen Dank funktioniert.

     

    Jetzt habe ich nur ein Problem. Die Formel hilft mir gar nicht weiter🤨,. Denn ich brauche eine Lösung für folgendes Problem:

    Ich habe eine Rechnungnummer mit Format: YY/MM/FortlaufendeNummer

    Ich brauche dann ja eine Formel in dem mir angezeigt wird, welcher Datensatz der letzte ist für das Jahr und Monat der Monatseingabe.

    Beispiel: Ich möchte eine automatische Eingabe für einen Auftrag machen mit dem Format YY/MM/LaufendeNummer.

    Wobei "LaufendeNummer" gleich letzter eingegebene Rechnungsnummer für die Rechnungsnummer im dem Monat ist.

    Beispiel: Letzte Rechnungsnummer für Monat Mai 25/05/45. Wenn ich jetzt für den Monat Mai eine neue Rechnung erstelle, soll Rechnungsnummer =25/05/46 sein

    Oder, letzte Rechnungsnummer für Monat Oktober 25/10/09. Wenn ich jetzt für den Oktober eine neue Rechnung erstelle, soll Rechnungsnummer =25/10/10 sein

    Hat jemand ne Idee?

      • Ninox-Professional
      • planoxpro
      • vor 4 Tagen
      • Gemeldet - anzeigen

       

      Hallo, versuch's mal so:

      let myY := format(today(), "YY");
      let myM := format(today(), "MM");
      let myPre := myY + "/" + myM + "/";
      let myLastNum := max((select RECHNUNGEN where substr(RECHNR, 0, 6) = myPre).substr(RECHNR, 6));
      RECHNR := myPre + format(number(myLastNum) + 1, "00")

      Die in Versalien geschriebenen Namen müsstest du durch die tatsächlichen Feld- bzw. Tabellen-Namen in deiner Ninox-DB ersetzen.

      Das Script könntest du bspw. als Trigger "Bei neuem Datensatz" eintragen.

      • susankent
      • vor 3 Tagen
      • Gemeldet - anzeigen

       

    • susankent
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Super toll. Hat funktioniert. Danke