0

Mehrere Datensätze auf einmal erfassen (mit einem Formular mehrere Zeilen zur Tabelle hinzufügen)

Hallo zusammen,

 

ich arbeite aktuell an einer Ninox-Datenbank zum Wartungs- und Reparaturmanagement für unseren (überschaubaren) Maschinenpark. Es ist schön, wie schnell man mit Ninox vorwärts kommt (ich hatte früher noch - rein hobbymäßig - in PHP 4/5 mit MySQL bzw. später mit Yii1 programmiert), aber es erfordert natürlich auch ein gewisses Umdenken bei der Programmierung und bei der Lösung speziellerer Anforderungen. :)

 

Neben fälligen Inspektionen/Wartungen pro Gerät und etwaigen Reparaturen soll ein Bestandteil dieser Datenbank das regelmäßige Nachhalten der Betriebsstundenzähler sein.

 

Die Betriebsstunden aller Geräte werden monatlich von unserer Werkstatt ausgelesen und bisher in einer Excel-Tabelle erfasst. Das geht sehr einfach:

Alle Maschinen stehen untereinander auf einem Excel-Sheet in Spalte A. Daneben in Spalte B wird jeweils der Zählerstand eingeben, Enter drücken, nächsten Zählerstand eingeben, Enter, ...

 

In Ninox habe ich nun zu diesem Zweck eine Tabelle "Betriebsstundenerfassung" angelegt mit folgenden Feldern:

* Gerät (verlinkt auf die Geräte-Tabelle, d.h. ein Gerät ist z.B. ein bestimmter Bagger, ein Gabelstapler, ...)

* Datum der Auslesung (Datum)

* Betriebsstunden (Integer)

* Ausgelesen von Mitarbeiter (verlinkt auf Mitarbeiter-Tabelle)

 

Theoretisch müsste man nun zur Erfassung von 15 Betriebsstundenzählern 15 einzelne neue Zeilen anlegen, das passende Gerät auswählen und die Betriebsstunden eintragen. Nicht ideal für die Akzeptanz der neuen Lösung.

 

Für die monatliche Erfassung würde ich deshalb gerne ein zusätzliches Formular zur effizienten Erfassung aller Betriebsstundenzähler auf einer Seite anbieten, mit folgenden Inhalten:

* Datum der Erfassung (Default = heute) und Mitarbeiter (gilt für global für alle in diesem Vorgang erfassten Zählerstände)

* Darunter pro Gerät eine Zeile mit jeweils drei Feldern: Gerät (ist bereits vorbelegt und idealerweise nicht änderbar), Betriebsstundenzähler (Integer-Eingabefeld), letzter Betriebsstundenzählerstand (vorbelegt, als Referenz zur Validierung, dass man nicht in der Zeile verrutscht ist)

* Und am Ende dann ein Speichern-Button o.ä.

 

Für alle Geräte, für die ein neuer Zählerstand eingetragen wurde, soll beim Speichern entsprechend eine neue Zeile in der Tabelle angelegt werden.

 

Ist das möglich? Bestimmt gibt es dafür eine elegante Lösung, auf die ich bisher noch nicht gekommen bin.

In PHP würde ich einfach ein entsprechendes Formular per Schleife erstellen - geht das auch in Ninox?

 

Besten Dank im Voraus für eure Ideen und Vorschläge! Ich bin schon gespannt, was es für Möglichkeiten gibt.

 

Viele Grüße

Christoph

3 Antworten

null
    • CRo
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ja, Ninox heißt oft umdenken wenn man von PHP und MySQL kommt :-) Erfahre ich zur Zeit auch sehr oft... Ich als quasi auch Neuling würde in der Tabelle der Maschinen eine Spalte Werteerfassung oder so ähnlich hinzufügen.

    Diese Spalte kann man dann (auch z.B. nach Kategorien sortiert) in verschiedenen Ansichten anzeigen und via Button dann in die Werte dieser Spalten in eine Tabelle der Zählestände eintragen. Nach dem erstellen aller Zählerstände kann dann die gesamte Spalte auf 0 zurück gesetzt werden um die nächste Eingabe vorzubereiten.

    Hoffe das hilft weiter.

     

    Gruß

    Christian

    • Giesen-Wekos GmbH & Co. KG
    • Christoph_B
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Christian,

     

    danke, das ist ein interessanter Ansatz! Das werde ich mal ausprobieren.

     

    Viele Grüße

    Christoph

    • Micha
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Christoph,

    das Dynamische erstellen fon Formularen funktioniert in NINOX leider nicht wie in PHP.

    Ich habe ähnliche anwendungen wie folgt gelöst.

     

    1. Eine Tabellenansicht der Fahrzeuge erstellt wo alle relewanden Fahrzeuge aufgefüht sind.

    2. in dem Formular eine "Befehlsschaltfleche" eingebaut, die würde dann "neuer Zählerstand erfassen heisen" (oder wie du ihn Nennen möchtest)

    das script für diese Befehlsschaltfläche könnte so aussehen:

    let my := this;
    let myNeuerZaehler := (create 'Betriebsstundenerfassung');

    myNeuerZaehle.(
       'Gerät' := my;
       Datum := today();

    );

    popupRecord(myNeuerZaehle);

    dann müsste der Kollege nur noch den Zählerstand eintragen und wieder Schließen.

    Und den Namen natürlich, wenn jeder Mitarbeiter seinen eigenen Login in NINOX hat könntest du auch den Namen automatisch hinterlegen bei einem neuen Datensatz.
      

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 3Antworten
  • 582Ansichten