Uhrzeit berechnen lassen!

Hallo zusammen,

ich glaube meine Frage ist recht einfach zu lösen, leider komme ich aber nicht weiter!

Also benutze Access2003 und SQL. Kein Server oder sonstiges.

Ich habe eine Tabelle mit den Namen: Bestell_Archiv
In dieser Tabelle sind zwei Spalten (Datum/Uhrzeit) mit dem Namen:
Bestelluhrzeit und Auslieferungsuhrzeit.

Nun möchte ich die Differenz der zwei Spalten berechnen lassen.
Das heißt: Bestelluhrzeit ist z.B. 11:04 und die Auslieferungsuhrzeit: 11:20

Als Ergebniss der Abfrage soll dann erscheinen: 16
Also Auslieferungsuhrzeit - Bestelluhrzeit

Leider komme ich nicht weiter und hoffe auf Hilfe hier.

Vielen Dank schonmal.

Hallo Micha,

schau dir mal die Funktion DATEDIFF an.

Grüße aus Schwerin
Wolfgang
(Netwolf)

Hi Wolfgang,

ja den Befehl DATDIFF habe ich mir schon angeschaut, komme aber leider damit auch nicht weiter (bin noch echter Anfänger).

Wäre echt super wenn mir da jemand richtig auf die Sprünge helfen könnte.

Danke nochmal…

Ich habe eine Tabelle mit den Namen: Bestell_Archiv
In dieser Tabelle sind zwei Spalten (Datum/Uhrzeit) mit dem
Namen:
Bestelluhrzeit und Auslieferungsuhrzeit.

Nun möchte ich die Differenz der zwei Spalten berechnen
lassen.
Das heißt: Bestelluhrzeit ist z.B. 11:04 und die
Auslieferungsuhrzeit: 11:20

Als Ergebniss der Abfrage soll dann erscheinen: 16
Also Auslieferungsuhrzeit - Bestelluhrzeit

Access besitzt kein eingebautes Format, mit dem sich Zeiten von mehr als 24 Stunden darstellen ließen. Wenn Sie zum Beispiel die verstrichene Zeit von 8 Uhr morgens bis 9 Uhr morgens am nächsten Tag berechnen wollen, können Sie die Zeitangaben nicht einfach subtrahieren. Die Differenz würde Access im Zeitformat als „1:00“ und nicht als „25:00“ darstellen.
Um dennoch die korrekte Dauer auszugeben, müssen Sie die Zeitdifferenz mit der DatDiff-Funktion ermitteln.

Erstellen Sie eine Abfrage für die tabelle bestell_archiv.
Fügen Sie die benötigten felder ein.

Um die minuten zu ermitteln geben Sie in einem feld ein:
Minuten: DatDiff(„n“;[Auslieferungsuhrzeit];[Bestelluhrzeit])

Dann geben Sie in einem weiteren feld ein:
Zeit: [Minuten]\60 & „:“ & Format([Minuten] Mod 60;„00“)

Unter Funktion muss beide male „ausdruck“ aktiviert sein. (funktion wird sichtbar, wenn Sie es im menü ansicht aktiviert haben)

Die Formel greift auf das Ergebnis des ersten berechneten Feldes, „Minuten“, zurück. Der Operator „“ führt eine ganzzahlige Division durch, so dass Sie mit dem Divisor „60“ den Anteil an vollen Stunden erhalten. Demgegenüber ermitteln Sie im Rahmen des Format-Ausdrucks den Modulo, also den Rest der ganzzahligen Division. Das entspricht den Minuten, die in der angebrochenen letzten Stunde verbleiben. Die Format-Funktion dient lediglich dazu, das Ergebnis immer zweistellig auszugeben. Schließlich verketten Sie die beiden Formelergebnisse mit „&“-Operatoren, wobei Sie einen Doppelpunkt als Trennzeichen zwischen Stunden- und Minutenanteil einfügen.
So lautet das Ergebnis des berechneten Feldes „25:00“, wenn Sie wieder das Beispiel von 8:00 bis 9:00 am Folgetag zugrunde legen.

Gruß, Derek.

P.S.:
Ich gebe zu, ich habe abgeschrieben, aber wenns hilft, dann enschuldigt mich bitte.

Hallo,

also geholfen hat es nicht wirklich etwas, leider. Entweder stell ich mich einfach zu blöd an oder verstehe das ganze einfach nicht!

Habe hier jetzt mal den Code so wie ich es probiert habe, aber da stimmt etwas nicht, weis aber leider nicht weiter woran es liegt bzw. wie man es richtig macht.

SELECT Bestell_Archiv.Bestelluhrzeit, Bestell_Archiv.Auslieferungsuhrzeit

DatDiff(„n“;[Auslieferungsuhrzeit];[Bestelluhrzeit])
[Minuten]\60 & „:“ & Format([Minuten] Mod 60;„00“)

FROM Bestell_Archiv;

Vielleicht weis ja noch einer eine Lösung für mich, wöre echt super, denn ich verzweifel so langsam.

SELECT Bestell_Archiv.Bestelluhrzeit,
Bestell_Archiv.Auslieferungsuhrzeit

DatDiff(„n“;[Auslieferungsuhrzeit];[Bestelluhrzeit])
[Minuten]\60 & „:“ & Format([Minuten] Mod 60;„00“)

FROM Bestell_Archiv;

Mir schwahnt es, Du formulierst das in SQL? Meine anleitung war für die entwurfsansicht einer abfrage. Aber so müsste das mit SQL ausehen. Du has leider die „as“ befehle und die kommas vergessen.

SELECT Bestell_Archiv.Bestelluhrzeit, Bestell_Archiv.Auslieferungsuhrzeit,
DatDiff(„n“;[Auslieferungsuhrzeit];[Bestelluhrzeit]) as Minuten, [Minuten]\60 & „:“ & Format([Minuten] Mod 60;„00“) as Zeit
FROM Bestell_Archiv;