PDA

Vollständige Version anzeigen : Stunden berechnen


Marcys
03.05.2011, 19:12
Hallo,

irgendwie stehe ich auf'm Schlauch.

In eine Tabelle gebe ich Uhrzeiten "von" bis "ein" (8:00 - 12:30)

In einer Abfrage möchte ich mir die Stundenanzahl ausgeben. Aber der Abfrage:




SELECT [uhrzeit_von]-[uhrzeit_bis] AS Std
FROM tbl_zeitdaten;


erhalte ich nicht das gewünschte Ergebnis von 4 sondern -0,166


Was habe ich denn falsch gemacht?

Gruß
Martin

Arne Dieckmann
03.05.2011, 19:14
Du solltest statt der einfachen Subtraktion lieber DateDiff() mit entsprechenden Parameter verwenden.

guenther_p
03.05.2011, 19:27
also ich bekomme bei der Datenkonstellation -0,1875. Dies entspricht dem Tagesanteil von 4,5 h (4,5/24) und ist negativ weil du mit von-bis rechnest anstatt bis-von

Gruß
Günther

Marcys
03.05.2011, 19:29
Aha ja, stimmt.

Also so in entwa:

a: DatDiff("h";[uhrzeit_von];[uhrzeit_bis])


Hier werden aber nur die ganzen Stunden berechnet. Ich möchte auch die Minuten ausgegeben haben. Wobei das alles als Dezimalzahl berechnet werden soll, da das Feld später mit einem EuroBetrag multipliziert wird.

Gruß
Martin

gpswanderer
03.05.2011, 19:32
Hallo,
Ich möchte auch die Minuten ausgegeben habendann nimm statt h(Stunden) n (n=Minuten) und teile durch 60.

a: DatDiff("n";[uhrzeit_von];[uhrzeit_bis])/60

oder:
SELECT ([uhrzeit_bis]-[uhrzeit_von]) * 24 AS Std
FROM tbl_zeitdaten;

Marcys
03.05.2011, 19:33
oder so:

a: DatDiff("s";[uhrzeit_von];[uhrzeit_bis])/3600

Arne Dieckmann
03.05.2011, 19:36
@Martin: Du solltest deine Beispiele das nächste Mal etwas besser anpassen. Warum schreibst du oben, dass du bei 08:00 bis 12:30 Uhr als Ergebnis die 4 erwartest?

Wenn's so genau sein soll, reicht auch Günthers Hinweis ...

Marcys
03.05.2011, 19:46
Hallo ARne,

sorry, das habe ich übersehen.

Gruß
Martin

ebs17
03.05.2011, 20:47
20:12 Uhr: Stundenanzahl
20:29 Uhr: auch die Minuten
Von 8:00 bis 12:30 sind es gewünscht 4 Stunden

=> Es gibt Leute, wie wissen genau, was sie wollen ...