0

Zeit abhängige Sichtbarkeit

Hallo,

wie bekomm ich es denn hin das ich bei 30 Sekunden die Sichtbarkeit ändere.

Script bei Änderung in der Tabelle macht was es soll.

(select Planung where text(fxfeld) > 'Textfeld Uhrzeit').(Testfeld := true)

 

Ich scheitere an den Zeiten. Wie bekomm ich die Sekunden dazu für das fxfeld

time(now()) ??

Und für das Textfeld was nach Änderung befüllt wird. Hier fehlen auch die Sekunden + die 30 Sekunden welche ja den vergleich möglich machen.

5 Antworten

null
    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    So genau verstehe ich die Fragestellung nicht.
    Ein automatisches Sperren wird nicht funktionieren, da der Record sich nicht automatisch updated um Änderungen in der Zeit zu überprüfen.
    Ich habe mal etwas ähnliches in die 0001_Ninox-Reference DB EINGEBAUT.
    Dort kann man, nachdem man den Schreibschutz per Button aufgehoben hat für eine vorgegebene Zeitdauer Änderungen im Formular vornehmen.
    Die Einschränkung besteht darin, dass das Zeitupdate immer eine Art RecordUpdate voraussetzt, welches durch das wechseln auf andere Eingabefelder ausgelöst wird.
    Nachteil, verweilt man über den vorgebenen Zeitraum hinaus im gleichen Feld, kann man darin auch über diesen Zeitraum hinaus Änderungen vornehmen.
    Bei Bedarf kann ich eine Bsp. DB anfügen.

    • Michi.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Zeit schreiben: 

    if 'Urlaub bearbeiten' = true then
        let aa := number(time(now())) + 9000;
        'Uhrzeit +9 sekunden' := format(time(aa), "hh:mm:ss")
    end

    Sichtbarkeit beenden:

    (select Planung where text(fxfeld) > 'Uhrzeit +9 sekunden').('Urlaub bearbeiten' := false)

    So geht es auch erstmal ganz Automatisch wäre sicher schöner, aber der Record muss ja wirklich in irgeneiner form aktualisiert werden um das skript auszulösen.

    In der Tabelle wird so viel geklickt, da ist das mit dem Aktualisieren nicht so wild. Aber so gehen 2 Felder die den eigentlichen Arbeitsbereich verschieben schnell wieder zu.

      • UweG
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Michi Freut mich, daß du eine Lösung gefunden hast. 
      Noch eine Anmerkung:
      So lange alle Mitarbeiter sich in der gleichen Zeitzone befinden, funktioniert es. Ab dem Zeitpunkt wo unterschiedliche Zeitzonen bei der Eingabe aufeinandertreffen, wird es richtig lustig, 
      Diese Problematik hat mich bewegt, solche Zeitzählungen im Unix-Format durchzuführen.
      Aber ich gehe bei deiner DB davon aus, dass sie nicht international eingesetzt wird und es mit deiner Lösung smooth läuft.

      • Michi.1
      • vor 2 Jahren
      • Gemeldet - anzeigen

      UweG ohne Aktualisierung wäre es schöner, aber wenn es nicht geht... Ausland ist zum glück nicht. Man kann das feld ja auch anklicken da ist es auch weg. Spart aber nen extra klick. Hab es noch auf 3 sekunden runter gesetzt. Das reich zum auswählen oder lassen