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

Tabellen [basics]: Datum/Zeit oder Datum und Zeit

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

Microsoft Access bietet verschiedene Möglichkeiten, um Datums- und Uhrzeitangaben zu speichern. Da der entsprechende Datentyp im Tabellenentwurf Datum/Uhrzeit heißt, gehen wir erst einmal von der Intention aus, das beides im gleichen Feld gespeichert wird. Deshalb hat Microsoft auch eine spezielle Art vorgesehen, wie es Datums- und Uhrzeitangaben intern speichert – nämlich als Double-Wert, bei dem der ganzzahlige Anteil angibt, wie viele Tage seit dem 30.12.1899 vergangen sind und bei dem der Teil hinter dem Komma die Uhrzeit definiert. Nun stellt sich allerdings eine Frage: Kann man eigentlich Datum und Uhrzeit auch in jeweils einem eigenen Feld speichern und wann macht das im Vergleich zum Speichern beider Informationen in einem einzigen Feld überhaupt Sinn

Beispieldatenbank

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

Die Beispieldatenbank enthält eine Tabelle namens tblDatumUndZeit, die ein Feld namens DatumUndZeit zum Speichern von Datums- und Zeitangabe in einem Feld sowie zwei Felder namens NurDatum und NurZeit, die jeweils für das Speichern von Datum und Uhrzeit vorgesehen sind (siehe Bild 1).

Tabelle mit Feldern für Datum/Uhrzeit, Datum und Uhrzeit

Bild 1: Tabelle mit Feldern für Datum/Uhrzeit, Datum und Uhrzeit

Aktuelles Datum und Uhrzeit schnell eintragen

Falls Du diesen Trick noch nicht kennst: Es gibt zwei Tastenkombinationen, mit denen Du das aktuelle Datum und die aktuelle Uhrzeit in Access-Elemente wie Tabellenfelder oder Steuerelemente einfügen.

Mit der Tastenkombination Strg + Umschalt + Komma fügst Du das Datum zu dem Element hinzu, das aktuell den Fokus hat.

Mit der Tastenkombination Strg + Umschalt + Punkt fügst Du die aktuelle Uhrzeit zum Element mit dem Fokus hinzu.

Wenn wir schnell das aktuelle Datum und die aktuelle Uhrzeit in ein Feld einfügen wollen, könnten wir versucht sein, diese beiden Tastenkombinationen hintereinander auszuführen. Das führt allerdings zum folgenden Ergebnis:

30.11.202310:54:06

Wir müssen also dazwischen noch ein Leerzeichen einfügen. Eine Tastenkombination zum gleichzeitigen Einfügen von Datum und Uhrzeit gibt es unseres Wissens nach nicht. Außerdem funktionieren die Tastenkombinationen nicht in anderen Ansichten wie der Entwurfsansicht – hier müssen wir Datum und Uhrzeit manuell eingeben.

Datum/Zeit, Datum und Zeit in eigene Felder

Wenn wir nun Daten und Zeiten in die Tabelle tblDatumUndZeit eingeben, in der wir eigentlich ein Feld für Datum und Uhrzeit und jeweils eines für das Datum und die Uhrzeit vorgesehen haben, stellen wir schnell fest: Unsere Beschriftungen werden den Benutzer nicht davon abhalten, seine Daten und Zeiten auch mal in das falsche Feld zu füllen (siehe Bild 2).

Tabelle mit Feldern für Datum/Uhrzeit, Datum und Uhrzeit in der Datenblattansicht

Bild 2: Tabelle mit Feldern für Datum/Uhrzeit, Datum und Uhrzeit in der Datenblattansicht

Ein Datumsfeld hat eben intern den Datentyp Double und zeigt seine Daten nur in der entsprechenden Formatierung an. Noch einmal kurz zur Erinnerung die Art, wie Access Datum- und Zeit intern speichert: Dort landet das, was wir als 1.1.2024 12:00:00 eingeben, in einer Double-Zahl. Der Teil vor dem Komma entspricht der Anzahl der Tage zwischen dem eingegebenen Datum und dem 30.12.1899 und der Teil nach dem Komma entspricht dem Anteil der eingegebenen Uhrzeit an 24 Stunden. 12:00 Uhr entspricht also 0,5, 6:00 Uhr ist 0,25 und 18:00 Uhr wäre 0,75. Bei den Tagen würde das Datum 30.11.2023 dem Zahlenwert 45.260 entsprechen – also sind vom 30.12.1899 bis zum 30.11.2023 genau 45.260 Tage vergangen.

Und der 30.11.2023, 12:00 Uhr würde folgerichtig dem Zahlenwert 45.260,5 entsprechen – und dieser Wert wird in der Tabelle intern abgespeichert. Dadurch können wir nun nur scheinbar Informationen wie reine Datumsangaben ohne Uhrzeit und reine Uhrzeiten ohne Datum speichern. Wenn wir beispielsweise das Datum 30.11.2023 in einem Datum/Uhrzeit-Feld speichern, landet dort der intern der Wert 45.260,0 – also eigentlich 30.11.2023 0:00:00.

Und wenn wir in einem Datum/Uhrzeit-Feld den Wert 12:00:00 eingeben, dann landet zwar intern der Wert 0,5 in diesem Feld. Allerdings entspricht dies eigentlich dem Datum 30.11.1899 12:00:00.

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