Wie rechnet man mit Zeitangaben in Microsoft Access

Einen wunderschönen guten Morgen!

Ich bin gerade etwas am verzweifeln beim Versuch mit Zeitangaben in Microsoft Access zu rechnen. Ich habe in einer Tabelle die Spalten Zeit(Anfang), Zeit(Ende) und die berechnete Spalte „Zeitdifferenz“ (Zeit(E)-Zeit(A)). Soweit funktioniert das ganze auch, nun will ich aber eine weitere Spalte berechnen die, in diesem Fall ein Ja/Nein-Feld dass aktiviert sein soll wenn die Zeitdifferenz mehr als 8 Stunden beträgt, das funktioniert aber weder mit den Funktionen „Stunde“, „ZDate“ noch „ZeitSeriell“ ich hoffe jemand hier kann mir helfen.

Vielen Dank

Hallo und guten Tag,

zunächst die Frage, warum solche Berechnungen in einer Tabelle (um welche Access-Version handelt es sich?) durchgeführt und gespeichert werden sollen…

Für Zeitdifferenzen ist die Datediff()-Funktion zu verwenden, etwa so beim Vergleich mit Stunden:

=datediff(„h“;[Anfang];[Ende]) >8

Allgemein ist von der Speicherung berechneter Werte in Tabellen abzuraten.

Gruß
Franz, DF6GL

Hallo,

datediff gibt es nach wie vor, siehe dazu in die VBA-Hilfe,

Eingedeutscht (macht Access normalerweise von selber) heißt die Funktion DatDiff(). Allerdings sind diese Zeitfunktionen in einer „berechneten Tabellenspalte“ (Tabellentrigger) nicht verwendbar.

Wenn die Stundendifferenz in einer Tabellenspalte („DiffHours“) schon vorliegt, so kann in einem Tabellenfeld („HoursGT8“) von „Datentyp“ „berechnet“ dieses stehen, um einen entspr. Ja/Nein-Wert zu erhalten;

=[DiffHours] >8

Abzuraten deswegen, weil sehr unflexibel/intransparent und bei Nicht-Verwendung von Tabellentriggern keine Aktualität gewährleistet ist.
Zudem sind VBA-Funktionen, wie oben schon gesagt, nicht verwendbar und damit die Trigger sehr eingeschränkt.

Gruß
Franz,DF6GL

Vielen Dank für deine schnelle Antwort. Zu deinen Fragen: Es handelt sich um MS Access 2013, die Funktion datediff scheint es hier nicht (mehr) zu geben. Ich habe die Zeitdifferenz aber bereits berechnet, es handelt sich um eine zusätzlich berechnete Ja/Nein Spalte die nur aktiviert sein soll wenn die Spalte Zeitdifferenz 8 Stunden übersteigt.
Desweiteren wäre ich sehr dankbar wenn du mir erklären könntest warum von der Speicherung von berechneten Werten abzuraten ist.

Ich habe das Problem mittlerweile selbst gelößt, durch eine weitere Spalte in der der Standardwert 8 (Stunden) im selben Format wie die Zeitdifferenz angegeben ist, die Lösung lag wohl zu nah, auch wenn sie nicht sehr schön ist… trotzdem wäre ich noch interessiert an der Erklärung zu meiner oben gestellten Frage.

Vielen Dank. Frage beantwortet.