0

Funktionsfeld in der Haupttabelle ändern, nach Eingabe des Datums in der Untertabelle des zuletzt hinzugefügten Datensatzes

Hallo liebe Ninoxfreunde,

Ich habe eine Haupttabelle „Geräte“ und eine Untertabelle „Vergabeprotokoll“.

In dem Formular der Haupttabelle habe ich ein Funktionsfeld erstellt das grün werden soll, sobald das Datumsfeld (Rückgabe am) in dem Formular der Untertabelle ein Datum enthält bzw einen Wert enthält, und eben rot sobald es leer ist.

Wenn ich nur einen Datensatz angelegt habe in der Untertabelle funktioniert das Ganze auch wunderbar.

Mein Problem ist  aber sobald ich mehrere Datensätze für ein Gerät in der Untertabelle angelegt habe, weis ich nicht wie der Code aussehen muss um das Datumsfeld des zuletzt hinzugefügten Datensatz anzusprechen.

Kann mir jemand bitte weiterhelfen?

Lg Martin 

4 Antworten

null
    • mirko3
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Martin. Bevor Du vergessen wirst, Deine Lösung gab es gerade in einem thread, ich geb sie mal weiter. Ich hoffe, ich habe Dein Anliegen richtig verstanden.

    *

    if last((select Vergabeprotokoll) order by number(Nr)).'Rückgabe am' = null then

    color("red")

    else

    color("green")

    end

    *

    Mirko

    • Martin_Wackenhut
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Mirko, erstmal vielen Dank für deine Antwort.

    Es hat noch nicht ganz geklappt aber ich denk wir sind nah dran.

    Ich glaub mit einem Bild kann man sich besser Vorstellen was ich meine. Ich tu mir auch etwas schwer mit dem beschreiben.

     

    Der Code von dir funktioniert ansich wunderbar bei einem einzigen Geräte, ändert aber bei allen Geräten in der Tabelle "Geräte" das Feld "Verfügbarkeit" in Rot um!

    Im Prinzip eigentlich total einfach. Also wenn ich jetzt 100 Geräte in meiner Tabelle "Geräte" habe, möchte ich anhand der Farbe Rot oder Grün sofort erkennen welche Geräte verfügbar sind oder momentan von einem Mitarbeiter in Gebrauch. Dadurch das ein Geräte aber mehrfach von verschiedenen Mitarbeiter über die Zeit genutzt wird habe ich extra eine Untertabelle (Vergabeprotokoll) angelegt. :) ich hof du kannst jetzt etwas besser verstehen was ich erreichen will. 

    Gruß Martin 

    • mirko3
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hi Martin. Versuch es mal damit. Ich habe es so gestaltet, daß wenn Du ein Gerät hast, welches noch gar nicht verliehen ist, es ebenfalls grün gekennzeichnet ist. Ich hoffe, es hilft. 
    *

    if last(this.Vergabeprotokoll order by number(Nr)).'Rückgabe am' != null or cnt(this.Vergabeprotokoll.Nr) = 0 then

    color("green")

    else

    color("red")

    end

    *

    Mirko

    • Martin_Wackenhut
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Das hat perfekt funktioniert.  Vielen Dank für deine Hilfe Mirko :)