Arbeitszeit Berechnung über Mitternacht
Hallo.
Ich suche schon länger im Forum nach einer Lösung und kann keine finden und komme selbst auch nicht drauf.
Ich möchte eine Datenbank erstellen, wo mitunter die Abeitszeit und die Reisezeit errechnet und verwaltet werden sollen. Hier weiß ich z. B. nicht, mit welchem Datumfeld ich das richtige Ergebnis erziele. Entweder ein Datumsfeld und ein Zeitfeld getrennt oder ein Datum/Zeit-Feld für den Beginn der Reise bzw Arbeitszeit und dem Ende der Reise bzw Arbeitszeit.
Hier nehme ich ein Feld für den Beginn und eins für das Ende. Nun kann ich, wenn ich ein reines Zeitfeld nehme, mit "Ende-Anfang" die Zeit errechnen. Aber bei der Zeit über Nacht (also 21:00 bis 6:00) geht das nicht ohne weiters. Da kommt ein Minuswert raus.
Also dachte ich an das Datums/Zeit-Feld. Aber damit geht es erst recht nicht.
Wie kann ich das machen?
LG
Peer
19 Antworten
-
Hallo Peer,
wie wäre es mit einem Terminfeld? Das könntest Du mit duration(Terminfeld) auswerten.
lg, Torsten
-
Hallo Torsten.
Danke für die schnelle Hilfe.
Ich habe es mir schon mal durch gelesen und konnte dem Feld in seiner Funktionsweise nicht richtig folgen. Ich habe bis jetzt nur immer angenommen, dass dieses Feld nur für die Kalenderfunktion vorgesehen ist.
Gruß
Peer
-
Hallo Peer,
der Name lässt das vermuten, stimmt. Aber Du musst es, wie das Datums-Feld auch, nicht zwingend im Kalender anzeigen lassen. Das Terminfeld erschlägt alles, was einen Start- und Endezeitpunkt hat. Klassischerweise ist das ein Termin, daher die Namensgebung.
lg, Torsten
-
Hi Torsten.
Und wie muss das Script lauten? duration() verlangt nur einen Wert oder?
LG
Peer
-
duration() verlangt ein Termin/Appointment Feld.
Birger
-
Da stehe ich gerade auf dem Schlauch.
-
Versuch einfach einmal
–––
timeinterval('Ende' - 'Anfang')
–––Birger
-
-
@Birger
bei Anfang 17:00 und Ende 7:00 kommt -10:00 raus, statt 14:00.
-
Hallo Torsten.
Danke für deine Datei.
Leider ist das Ergebnis nicht zielführend, denn wenn ich zB am 3.7. 16:50 d3n Anfang und das Ende am 04.07. 14:00 eingeben will, lässt es diese Einstellung nicht zu. Der "Termin" lässt keinen Wert beim "Ende" zu, der weniger als ein Tag ist.
Der Vorteil deiner Hilfe ist für mich aber, dass ich mal sehe, wie "Termin" aussieht bzw funktioniert.
Gruß
Peer
-
Anfand und Ende sollten 'Datum/Uhreit'-Felder sein
-
Danke Birger. Das funktioniert. timeinterval ist nicht zu finden in der Referenz, die ich besitze.
Nachteil ist momentan aber, dass man den Anfang und das Ende nicht in den Kalender bekommt, oder?
LG
Peer
-
Jetzt habe ich die Zeit. Ich habe ihr den Namen Dienstzeit gegeben. Nun habe ich noch ein Auswahlfeld (radiobutton), wo die Pause mit den Werten 30, 45, keine auswählbar ist.
Wert 30 = 1, Wert 45 = 2 und Wert 'keine' = 3
Nun möchte ich die Pause von der Dienstzeit abziehen. Ich habe zu allererst die numerischen Werte mit
let numbPause := number(Pause);
ausgelesen. Es wird also, je nachdem, was ich ausgwählt habe, ein Ganzahlwert zurückgegeben.
Wie kann ich jetzt das Script umsetzen und einen fxFeld Arbeitszeit zurückgeben?...
wenn Wert = 1 dann Dienstzeit- 30 min, wenn Wert = 2 dann Dienstzeit- 45 und wenn Wert = 3 dann Dienstzeit- 0 min.
LG
Peer
-
Ich habe es bis jetzt folgendermaßen gemacht...
let numbPause := number(Pause);
switch numbPause do
case 1: Dienstzeit - time(0,30)
case 2: Dienstzeit - time(0,45)
case 3: Dienstzeit - time(0,00)
end
-
Hallo Peer,
3.7. 16:50 - 4.7. 14:00 geht schon - aber tatsächlich nur per manueller Eingabe und wird seltsam/falsch im Terminfeld angezeigt - die Dauer wird indes korrekt berechnet:
-
Vielen Dank für deine Hilfe, Torsten.
-
Vielen Dank, Birger
-
Hallo Jungs.
Eine Frage hätte ich trotzdem noch. Man könnte doch den Wert des Datums/Zeit-Feldes "trennen" und die daraus erstellten Werte einzeln speichern/darstellen? Z.b für einen Bericht, wo nur das Datum gebraucht wird, oder bei weiteren Berechnungen, wie z.B. für Nachtzeiten uä.
LG
Peer
-
date(Datums/Zeit-Feld) und time(Datums/Zeit-Feld)
Content aside
- vor 5 JahrenZuletzt aktiv
- 19Antworten
- 2939Ansichten