0

Individuelle Nummer vergeben

Hallo,

 

folgender Sachverhalt: 

Ich habe beim Eröffnen eines neuen Datensatzes eine Nummer vergeben, die für diesen Datensatz, zum Beispiel einen Dienst, gilt. Innerhalb dieses Dienstes, den ich leiste, fallen verschiedene Einsätze an. Jeder dieser Einsätze soll eine Individuelle Nummer erhalten, die auf der Nummer des Dientes aufbaut.

Zum Beispiel: 

Dienst am 01.10.2025 --> erhält die Nummer 20251001
 

Die 3 Einsätze, die am 01.10.2025 angefallen sind, sollen die folgende Schreibweise aufweisen: 
E-20251001/01
E-20251001/02
E-20251001/03

Allerdings bekomme ich es nicht wirklich hin. Die Einsätze der jeweiligen Dienste sind über eine Untertabelle organisiert. Ich danke für Eure Hilfe!

3 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Tagen
    • Gemeldet - anzeigen

    Hallo, wenn du es mit einem "Trigger bei neuem Datensatz" in der Einsatz-Untertabelle machen willst, dann würde ich es so probieren:

    let myDNr := "E-" + DIENSTE.DIENSTNR + "/";
    let lastENr := max((select 'EINSÄTZE' where substr(EINSATZNR, 0, 11) = myDNr).substr(EINSATZNR, 11));
    EINSATZNR := myDNr + format(number(lastENr) + 1, "00")

    Die groß geschriebenen Tabellen- und Feldnamen müssten natürlich durch die tatsächlichen ersetzt werden.

      • medizin
      • gestern
      • Gemeldet - anzeigen

       ich hab den plan noch einmal ein wenig geändert, es ist jetzt nur noch eine verknüpfung, keine untertabelle, sondern eine ganz normale tabelle. irgendwie komme ich trotzdem nicht weiter. danke für deine hilfe! 

      • Ninox-Professional
      • planoxpro
      • gestern
      • Gemeldet - anzeigen

       

      Mein Vorschlag sollte mit jeder 1:N-verknüpften Tabelle funktionieren, sofern der neue Datensatz aus der Haupttabelle über "+ Datensatz erstellen" erzeugt wird. Dann setzt Ninox automatisch die Verknüpfung.

      Insofern wäre es hilfreich, wenn du etwas genauer sagen würdest, wo du nicht weiterkommst. Was genau hast du gemacht und was funtioniert nicht? Wo gibt es welche Fehermeldungen? Wenn es noch am Verständnis von Verknüpfungen hapert, dann hilft vielleicht ein frührerer Beitrag von mir weiter:

      https://forum.ninox.de/t/p8h0t0r/einsteiger-tutorial-zu-verknupfungen-in-ninox

      Alternativ kannst du es aber auch mit einem eigenen Button "Neuer Einsatz" in der Dienste-Tabelle machen. Der Code für den Button könnte wie folgt lauten:

      let me := this;
      let myDNr := "E-" + DIENSTNR + "/";
      let lastENr := max((select 'EINSÄTZE' where substr(EINSATZNR, 0, 11) = myDNr).substr(EINSATZNR, 11));
      let newE := create 'EINSÄTZE';
      newE.(
          DIENSTE := me;
          EINSATZNR := myDNr + format(number(lastENr) + 1, "00")
          )

      Wenn du den neu erstellten Einsatz-Datensatz auch gleich öffnen willst, kannst du in der letzten Zeile noch ein "popupRecord(newE)" hinzufügen.

Content aside

  • gesternZuletzt aktiv
  • 3Antworten
  • 19Ansichten
  • 2 Folge bereits