window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Abfragen [basics]: Mit Zeiträumen rechnen

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Im Artikel Eingebaute Funktionen: Rund um Datum und Uhrzeit (www.access-basics.de/632) haben wir uns die eingebauten Funktionen von Access zum Arbeiten mit Datums- und Uhrzeitwerten beschäftigt. Im vorliegenden Artikel nutzen wir diese, um verschiedene Zeiträume zu ermitteln. Tage, Wochen, Monate zwischen zwei Datumsangaben, das Gleiche für Stunden, Minuten und Sekunden, Berechnen des Alters von Personen, Tage seit und bis zu bestimmten Daten und vieles mehr untersuchen wir in diesem Artikel.

Beispieldatenbank

Die Beispiele dieses Artikels findest Du in der Datenbank AbfragenBasics_MitZeitraeumenRechnen.accdb.

Beispieltabellen

Im Rahmen der Beispiele zu diesem Artikel werden wir mit verschiedenen Tabellen arbeiten. Für die Beispiele, in denen es sich um das Berechnen von Abständen zwischen zwei Datumsangaben dreht, nutzen wir die Tabelle tblAbwesenheiten. Hier können wir mit den beiden Feldern AbwesenheitVon und AbwesenheitBis arbeiten, um verschiedenste Zeiträume zu berechnen. Die Tabelle enthält bereits einige Beispieldatensätze (siehe Bild 1).

Die Tabelle tblAbwesenheiten

Bild 1: Die Tabelle tblAbwesenheiten

Für andere Zwecke nutzen wir die Tabelle tblGeburtstage.

Anzahl Tage zwischen zwei Datumsangaben

Für die Berechnung von Abwesenheiten wie Fehlzeiten können wir die Anzahl der Tage zwischen zwei Datumsangaben mit der DatDiff-Funktion ermitteln.

Dazu nutzen wir den folgenden Ausdruck:

TageAbwesend: DatDiff("t";[AbwesenheitVon];[AbwesenheitBis]) + 1

Diesen fügen wir in eine Abfrage ein, die auf der Tabelle tblAbwesenheiten basiert und alle Felder dieser Tabelle enthält. Der Entwurf dieser Abfrage ist in Bild 2 dargestellt.

Die Abfrage qryTageAbwesend

Bild 2: Die Abfrage qryTageAbwesend

Warum verwenden wir nicht einfach nur DatDiff, sondern addieren noch den Wert 1 hinzu Weil DatDiff die Differenz liefert und nicht beide Tage mit in den Abwesenheitszeitraum einschließt.

Das Ergebnis liefert die erwarteten Werte (siehe Bild 3).

Die Abfrage qryTageAbwesend in der Datenblattansicht

Bild 3: Die Abfrage qryTageAbwesend in der Datenblattansicht

Anzahl Tage zwischen zwei Datumsangaben ohne Wochenenden

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar