Ich habe noch ein paar Kleinigkeiten angepasst. Bei der 1. Fahrt wurde noch der technische Max-Wert angezeigt. Wenn es überhaupt keine Fahrt gab. Bei "Min Start" wird nun nur noch die Uhrzeit angezeigt und bei "Max Ende" das Datum nur noch, wenn es vom Startdatum abweicht.
Um die Nachtzeiten (23:00 – 6:00) bei Mitternachtsüberschreitenden mit weniger Verrenkungen ermitteln zu können, wird für die Berechnungen auf Anfang und Ende jeweils 1 Stunde aufgeschlagen und anschließend in Dezimalwerte umgewandelt. Dabei wird für "von_dec" nur die Uhrzeit verwendet und für "bis_dec" eine 1 addiert, wenn das Datum vom Datum "von" abweichende ist. Dabei hätte ich innerhalb der Abfrage auf die Spalten "von" und "bis" verzichten können, aber diese machen den Ablauf transparenter. Die Umwandlung in Dezimalwerte habe ich vorgenommen, da ich den Eindruck hatte, dass sich so die if-Abfrage zur Ermittlung der Nachtzeiten einfacher und übersichtlicher gestalten lässt. Hier lasse ich mich aber auch gerne eines Besseren belehren.
Ginge es hier nicht um Arbeitszeiten, bei denen immer nur max. 2 Tage betroffen sein könnten, sondern bspw. um mehrtägige Wartungszyklen, zu denen dann die Nacht- Wochend- und Feiertagszeiten ermittelt werden müssten, oder um Zeiträume mit unterschiedlichen Preisen, ginge dies mit der Technik, dass die Zeiträume mit einem ..-Befehl in die einzelnen Tage erweitert werden, um dann die entsprechenden Zeiten, Preise, etc. ermitteln zu können.
Ein Problem bleibt allerdings noch. Wenn ein Fahrer vor Mitternacht mit der Arbeit beginnt, die 1. Fahrt aber nach Mitternacht gestochen wird (Beispiel Demo, Klaus 13.5. und 14.5.), dann wird alles nach Mitterancht nicht mehr dem Tag zugerechnet, an dem die Arbeit begonnen wurde. Mit entsprechend klaren Vorgaben sollte es aber möglich sein, auch dieses Problem zu lösen.
Um die Nachtzeiten (23:00 – 6:00) bei Mitternachtsüberschreitenden mit weniger Verrenkungen ermitteln zu können, wird für die Berechnungen auf Anfang und Ende jeweils 1 Stunde aufgeschlagen und anschließend in Dezimalwerte umgewandelt. Dabei wird für "von_dec" nur die Uhrzeit verwendet und für "bis_dec" eine 1 addiert, wenn das Datum vom Datum "von" abweichende ist. Dabei hätte ich innerhalb der Abfrage auf die Spalten "von" und "bis" verzichten können, aber diese machen den Ablauf transparenter. Die Umwandlung in Dezimalwerte habe ich vorgenommen, da ich den Eindruck hatte, dass sich so die if-Abfrage zur Ermittlung der Nachtzeiten einfacher und übersichtlicher gestalten lässt. Hier lasse ich mich aber auch gerne eines Besseren belehren.
Ginge es hier nicht um Arbeitszeiten, bei denen immer nur max. 2 Tage betroffen sein könnten, sondern bspw. um mehrtägige Wartungszyklen, zu denen dann die Nacht- Wochend- und Feiertagszeiten ermittelt werden müssten, oder um Zeiträume mit unterschiedlichen Preisen, ginge dies mit der Technik, dass die Zeiträume mit einem ..-Befehl in die einzelnen Tage erweitert werden, um dann die entsprechenden Zeiten, Preise, etc. ermitteln zu können.
Ein Problem bleibt allerdings noch. Wenn ein Fahrer vor Mitternacht mit der Arbeit beginnt, die 1. Fahrt aber nach Mitternacht gestochen wird (Beispiel Demo, Klaus 13.5. und 14.5.), dann wird alles nach Mitterancht nicht mehr dem Tag zugerechnet, an dem die Arbeit begonnen wurde. Mit entsprechend klaren Vorgaben sollte es aber möglich sein, auch dieses Problem zu lösen.