Hallo Stefan Am Dienstag, den 24.07.2007, 12:51 +0200 schrieb Stefan Weigel: > Hallo Michael, > > Michael Reichow schrieb: > > > Beipiel: > > Mitarbeiter 140-10002 > > Tag1 von 07:30 bis 23:30 (ergibt 16 Std) > > Tag2 von 08:30 bis 20:30 (ergibt 12 Std) > > Tag3 von 08:30 bis 00:15 (ergibt 15,75 Std) > > > > SQL-Abfrage: SELECT "ID", "Mitarb_Nr", ROUND( DateDiff( 'mi', "Beginn", > > "Ende" ), 2 ) / 60 FROM "Std_Arbeitplatz" > > führt zu folgendem Ergebnis: > > Tag1 16 Std > > Tag2 12 Std > > Tag3 -8,25 Std > > Die datentechnisch sauberste Lösung wird IMO sein, dass Du in den > Feldern "von" und "bis" nicht nur Uhrzeiten eingibst, sondern die > komplette Zeitpunktangabe mit Datum und Uhrzeit. Dann liefert Deine > obige Abfrage auch immer das richtige Ergebnis.
Ich hatte bereits mit Datumfeldern getestet und die Formatierung der Spalten auf "TT.MM.JJ HH:MM" gesetzt. Das Ergebnis war ernüchternd, da die Zeitangaben bei Eingabe eines neuen Datensatzes auf "TT.MM.JJ 00:00" zurückgesetzt wurden. > Es ist ja nicht wahr, dass der Mitarbeiter am Tag 3 bis 00:15 > gearbeitet hat. Er hat von Tag 3 08:30 bis Tag 4 00:15 gearbeitet. Dieer Umstand ist mir bewusst, hat aber buchhaltungtechnische Gründe (Überstundenberechnung). > Ansonsten wäre Deine Lösung von zwei auf eine Abfrage reduzierbar, > wenn Du die erste Abfrage so modifizierst: > > SELECT "ID", "Mitarb_Nr", ROUND( DateDiff( 'mi', "Beginn", "Ende" ), > 2 ) / 60 + 12 * (1 - SIGN( DateDiff( 'mi', "Beginn", "Ende" ))) FROM > "Std_Arbeitsplatz" Hier erhalte ich folgende Fehlermeldung: Warning! Die Spalte 'SELECT "ID", "Mitarb_Nr", ROUND( DateDiff( 'mi', "Beginn", "Ende" ), 2 ) / 60 + 12 * (1 - SIGN( DateDiff( 'mi', "Beginn", "Ende" ))) FROM "Std_Arbeitsplatz" ist unbekannt > Aber Achtung, wenn über mehr als eine Datumsgrenze hinweg gearbeitet > wird, ist Deine Lösung nicht mehr zulässig. > Keine Angst! 24 Stunden durchmachen - Ja. Aber Arbeiten? ;-) > Gruß > > Stefan Gruß Michael --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]