Abfragen: Datum und Zeit

Wenn Sie Datum- und Zeitangaben in einer Tabelle speichern, werden Sie auch in Abfragen über diese Informationen auf Datensätze zugreifen wollen. Damit beantworten Sie dann Fragen wie “Wieviele Artikel wurden in einem bestimmten Zeitraum verkauft”. Beim Zusammenstellen der Vergleichskriterien gibt es jedoch einiges zu beachten.

Beispiele

Die Beispiele dieses Artikels finden Sie in der Beispieldatenbank Access_Basics_2011_04.mdb.

Einfache Vergleiche mit Datumswerten

Bereits beim einfachen Vergleichen bestehender Werte mit Datumskriterien fällt auf, dass Access als Kriterium angegebene Datums- und Zeitangaben gleich ändert. Wenn Sie etwa wie in Bild 1 ein einfaches Datum eingeben, wandelt Access dieses Kriterium in den Ausdruck #17.05.2011# um.

Eingabe eines einfachen Datums als Kriterium

Bild 1: Eingabe eines einfachen Datums als Kriterium

Für die folgenden Beispiele haben wir eine kleine Tabelle namens tblTermine angelegt, die schlicht einige Datensätze mit verschiedenen Terminen enthält (siehe Bild 2). Das Ergebnis der Abfrage nach Terminen mit dem Datum 17.5.2011 liefert erstaunlicherweise nur den Termin mit der ID 1 zurück, obwohl der folgende Datensatz als Datum auch den 17.5.2011 enthält (siehe Bild 3).

Tabelle mit einigen Terminen

Bild 2: Tabelle mit einigen Terminen

Sind das alle Termine am 17.5.2011

Bild 3: Sind das alle Termine am 17.5.2011

Der Grund erschließt sich, wenn Sie sich die Natur eines Datumsfeldes ansehen: Es enthält intern einen Double-Wert, dessen Stellen vor dem Komma die Anzahl der Tage nach dem 30.12.1899 darstellen und deren Nachkommastellen die Uhrzeit repräsentieren. Der erste Datensatz enthält also eigentlich den Wert 40680 im Feld Termin, während dieser Wert im zweiten Datensatz 40680,7155787037 lautet. Und genau diese beiden Werte vergleicht die Abfrage auch: Sie sind nicht gleich, und deshalb zeigt die Abfrage nur den ersten Wert an.

Zeiträume abfragen

Wie also erhalten wir alle Datensätze, deren Termin auf den 17.5.2011 fällt Access liefert für Abfragen die Zwischen-Klausel. Probieren wir es also mit dem Ausdruck Zwischen #17.05.2011# Und #18.05.2011# als Kriterium für das Feld Termin (siehe Bild 4). Das Ergebnis liefert diesmal zwar beide Termine, die am 17.5.2011 stattfinden, aber auch den vom 18.5.2011.

Abfrage mit einem Zwischen-Kriterium

Bild 4: Abfrage mit einem Zwischen-Kriterium

Klar: Das Kriterium lautete ja prinzipiell auch Zwischen 40680 Und 40681, und dort fällt der 18.5.2011 mit einem Zahlenwert von 40681 genau hinein. Das Zwischen-Schlüsselwort ist also nur auf den ersten Blick praktisch. Einfacher ist es hier, mit den herkömmlichen Operatoren wie Größer (>), Kleiner (<), Größer/Gleich (>=), Kleiner/Gleich (<=) oder Gleich (=) zu arbeiten. Dies sieht für unseren Fall wie in Bild 5 aus.

Eingrenzen des Datums mit anderen Mitteln

Bild 5: Eingrenzen des Datums mit anderen Mitteln

Alle Datumsangaben zu einem Tag ermitteln

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar