Verwendung des Datentyps "Datum/Uhrzeit erweitert"

Gilt für
Access für Microsoft 365 Access 2024 Access 2021

Der Datentyp "Datum/Uhrzeit erweitert" speichert Datums- und Uhrzeitinformationen und ähnelt dem Datentyp "Datum/Uhrzeit", bietet jedoch einen größeren Datumsbereich, eine höhere Genauigkeit bei Teilwerten sowie Kompatibilität mit dem SQL Server-Datentyp "datetime2". Wenn Sie Access-Daten in SQL Server importieren oder damit verknüpfen, können Sie einer SQL Server datetime2-Spalte ein Access-Feld vom Typ "Datum/Uhrzeit erweitert" einheitlich zuordnen. Weitere Informationen finden Sie unter datetime2 (Transact-SQL).For more information, see datetime2 (Transact-SQL).

Datum/Uhrzeit Erweiterter Bereich Warnung Wenn Sie Ausdrücke erstellen und Datums-/Uhrzeitfunktionen basierend auf dem Datentyp Date/Time Extended in Access verwenden, verlieren Sie möglicherweise an Genauigkeit bei Berechnungen oder treten andere Probleme mit den Ergebnissen auf. Dieses Problem ist uns bekannt, und wir sind bestrebt, in einer zukünftigen Version Ausdrücke und Funktionen besser zu unterstützen. Zur Problemumgehung können Sie eine Pass-Through-Abfrage erstellen, um die entsprechenden SQL Server-Ausdrucks- und Datums-und Uhrzeitfunktionen zu verwenden. Weitere Informationen finden Sie unter Vergleich von Access SQL und SQL Server TSQL.

Inhalt dieses Artikels

Vergleich der Datentypen "Datum/Uhrzeit" und "Datum/Uhrzeit erweitert" Verwendung des Datentyps "Datum/Uhrzeit erweitert" Überlegungen zur Abwärtskompatibilität Verwenden des Datentyps "Datum/Uhrzeit erweitert" als Zeichenfolge in VBA

Vergleich der Datentypen "Datum/Uhrzeit" und "Datum/Uhrzeit erweitert"

In den folgenden Tabellen sind wichtige Unterschiede zwischen den beiden Datentypen zusammengefasst.

Attribut Datum/Uhrzeit Datum/Uhrzeit erweitert
Minimalwert 100-01-01 00:00:00 0001-01-01 00:00:00
Maximalwert 9999-12-31 23:59:59.999 9999-12-31 23:59:59.9999999
Genauigkeit 0,001 Sekunden 1 Nanosekunde
Größe Gleitkommawert doppelter Genauigkeit Codierte Zeichenfolge aus 42 Bytes

Seitenanfang

Verwendung des Datentyps "Datum/Uhrzeit erweitert"

Die folgenden Informationen umfassen wichtige Überlegungen bei der Verwendung.

Tabellenentwurfsansicht Um den größeren Datenbereich und die höhere Genauigkeit zu nutzen, können Sie einer Access-Tabelle ein Feld hinzufügen. Sie können auch einen Datentyp "Datum/Uhrzeit" in "Datum/Uhrzeit erweitert" in der Tabellenentwurfsansicht konvertieren. Die Verwendung dieses Datentyps als Primärschlüsselfeld wird ebenfalls unterstützt. Weitere Informationen finden Sie unter Erstellen einer Tabelle und Hinzufügen von Feldern.

Eingeben von Datum und Uhrzeit Die Eingabe von Datums- und Uhrzeitwerten ähnelt dem Datentyp Datum/Uhrzeit, mit der Ausnahme, dass Sie auch eine Bruchteil-Nanosekunde eingeben können. Beispiel:

  • Eingabeformat: tt/mm/jjjj hh:mm:ss.nnnnnnn
  • Beispiel: 15/06/1215 09:25:03.234

Bei mehr als sieben Dezimalstellen werden diese auf sieben gerundet. Um die Anzeige der Bruchteile von Nanosekunden zu steuern, öffnen Sie die Tabelle, wählen Sie im Menüband Felder aus, und wählen Sie in der Gruppe Formatierung die Option Bild Der Dezimalstellenschaltfläche erhöhen oder Bild der Dezimalstellenschaltfläche verkleinern aus.

Formatierung Sowohl die Datentypen Date/Time und Date/Time Extended verwenden ähnliche Standardformatzeichenfolgen wie "Allgemeines Datum", " Langes Datum", " Mittleres Datum", " Kurzes Datum", " Lange Zeit", " Mittelzeit" und " Kurze Zeit ", und beide unterstützen benutzerdefinierte Formatierungen. Bei dem Datentyp "Datum/Uhrzeit erweitert" unterstützen die zeitbasierten Standardformate auch eine Angabe in Sekundenbruchteilen. Die Formatierung des Datentyps "Datum/Uhrzeit erweitert" ist standardmäßig auf allgemeines Datumsformat und langes Zeitformat festgelegt und spiegelt die in den regionalen Windows-Einstellungen festgelegten Optionen wieder. Sie können die Dezimalstellen-Genauigkeit steuern, indem Sie über die Dezimalstellen-Eigenschaft angeben, wie viele Dezimalstellen nach dem Dezimalkomma angezeigt werden sollen (1-7).

Verknüpfen und Importieren Sie können auch eine Verknüpfung mit Datenbanken mit einem entsprechenden Datentyp herstellen oder daraus importieren, z. B. den SQL Server datetime2-Datentyp. Es werden SQL Server, Version 2014 oder höher unterstützt. Für den Datentyp "Datum/Uhrzeit erweitert" ist die Verwendung von Microsoft ODBC-Treiber für SQL Server 11 oder höher erforderlich. Es wird empfohlen, microsoft ODBC Driver 13.1 für SQL Server zu verwenden. Die Verwendung von OLE DB wird ebenfalls unterstützt. Weitere Informationen finden Sie unter Datentypunterstützung für ODBC-Datums- und Uhrzeitverbesserungen und Verwenden von erweiterten Datums- und Uhrzeitfeatures (OLE DB).For more information, see Data Type Support for ODBC Date and Time Improvements and Use Enhanced Date and Time Features (OLE DB).

Formulare und Berichte Sie können den Datentyp Date/Time Extended zu einem Formular oder Bericht hinzufügen. In einem Formular können Sie die Datumsauswahl und die Eingabemaske verwenden, um ein Datum mit dem größeren Datumsbereich einzugeben, nicht jedoch mit der Genauigkeit von Sekundenbruchteilen.

Ausdrucksunterstützung Der Date/Time Extended-Datentyp unterstützt SQL-Aggregatfunktionen und die Auswertung von Ausdrücken. Z. B. die Verwendung von LoggedDateTime als ein Feld mit dem Datentyp "Datum/Uhrzeit erweitert":

Aufgabe Beispiel Ergebnis
Ermitteln des Minimalwerts Min(LoggedDateTime) Das früheste Datum und die früheste Uhrzeit innerhalb des Bereiches
Extrahieren des Monats Month(LoggedDateTime) Der Monatsname, z. B. "Januar"
Hinzufügen eines Tages [LoggedDateTime]+1 Dienstag würde zu Mittwoch

Seitenanfang

Überlegungen zur Abwärtskompatibilität

Der Datentyp "Datum/Uhrzeit erweitert" ist mit früheren Versionen von Microsoft Access nicht kompatibel. Wenn der Typ in einer lokalen Access-Tabelle verwendet wird, können Versionen von Access, die das Feature nicht enthalten, die Datenbank nicht öffnen.

Sie können den Datentyp Datum/Uhrzeit erweitert für verknüpfungs- und importvorgänge mit der Option Current Database Access Support Date/Time Extended Data Type for Linked/Lmported Tables (Datum/Uhrzeit erweiterter Datentyp für verknüpfte/lmportierte Tabellen) aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Festlegen von Benutzeroptionen für die aktuelle Datenbank.

Seitenanfang

Verwenden des Datentyps "Datum/Uhrzeit erweitert" als Zeichenfolge in VBA

In den folgenden VBA-Beispielen werden DAO-Methoden verwendet, um den Datentyp "Datum/Uhrzeit erweitert" basierend auf der nachstehenden Tabelle anzuzeigen, einzugeben und auszuwerten.

ID DTEData DTData
1 1.1.2 1:01:03.1234567 Uhr 1.1.2001

Tabellenname: DTETable
ID-Datentyp: Autowert
DTEData-Datentyp: Datum/Uhrzeit erweitert
DTData-Datentyp: Datum/Uhrzeit

Beispiel: Anzeigen von Datum und Uhrzeit

Im folgenden Beispiel werden das Datum und die Uhrzeit angezeigt. Das verwendete Format ist "tt/mm/jjjj hh:mm:ss.nnnnnnn" im 24-Stunden-Format. Das Format kann nicht angepasst werden.


Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
Do Until rs.EOF
    Debug.Print rs!DTETable
    rs.MoveNext
Loop

Ergebnis Zugriffsanzeigen: 01.01.002 01:01:03.1234567.

Beispiel: Eingabe von Datum und Uhrzeit

Im folgenden Beispiel wird das Datum und die Uhrzeit in einem Zeichenfolgenformat eingegeben. Es werden alle Standardformate für Datum und Uhrzeit unterstützt.


Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
With CurrentDb.OpenRecordset("DTETable")
    .AddNew
    ![DTEData] = "1/1/9999 1:1:1.0123 AM"
    ![DTData] = #1/1/2001#
    .Update
End With

Ergebnis Access fügt eine neue Zeile hinzu (ID = 2):

ID DTEData DTData
1 1.1.2 1:01:03.1234567 Uhr 1.1.2001
2 1.1.9999 1:01:01.0123000 UHR 1.1.2001

Beispiel: Auswerten eines Abfrageausdrucks

Im folgenden Beispiel wird die Day-Funktion verwendet, um die Tageszahl aus den Feldern "Datum" und "Uhrzeit" zu extrahieren.


Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT Day(DTEData) as day FROM DTETable")
Do Until rs.EOF
    Debug.Print "The day of the month is: "&rs!day
    rs.MoveNext
Loop

Ergebnis Zugriffsanzeigen:

Der Tag des Monats ist: 1
Der Tag des Monats ist: 1

Funktionen, die mit "Datum/Uhrzeit erweitert" in Abfrageausdrücken funktionieren

Die folgenden Funktionen funktionieren mit "Datum/Uhrzeit erweitert" in Abfrageausdrücken:
​​​​​​​
Year, Month, Weekday, Day, Hour, Minute, Second, DateAdd, DateDiff und DatePart.

Darüber hinaus gibt es erweiterte Versionen einiger Funktionen, die den Argumenttyp nicht verwenden können, um zu bestimmen, dass die Berechnung einen Date/Time Extended-Wert erzeugen soll. Dies sind:

DateValueExtended, TimeValueExtended, DateSerialExtended, TimeSerialExtended, NowExtended, DateExtended, DateTimeExtended und TimeExtended.

Diese Funktionen funktionieren auf die gleiche Weise wie die Funktion ohne "Erweitert" am Ende, geben jedoch anstelle eines Datums-/Uhrzeitwerts einen Wert vom Typ "Datum/Uhrzeit erweitert" zurück.

Beachten Sie, dass VBA nicht geändert wurde, die neuen Funktionen im VBA-Code nicht erkannt werden und die vorhandenen Funktionen nicht mit Datum/Uhrzeit erweiterten Werten funktionieren.

Beispiel

Ursprüngliche Abfrage:


Select DateValue([OrderDate]) AS OrderDateOnly_DateValue

, Format([OrderDate],"Short Date") AS OrderDateOnly_Format

From tblOrders

Ändern Sie nun DateValue([OrderDate]) in DateValueExtended([OrderDate]), wodurch der erste Ausdruck korrigiert wird.

Beachten Sie, dass Access die Format-Funktion für Datum/Uhrzeit erweiterte Spalten nicht verarbeitet. Sie können einfach die Format-Eigenschaft für die Spalte festlegen.

Wenn Sie folgendes verwenden:


SELECT DateValueExtended([OrderDate]) AS OrderDateOnly_DateValue, Table1.OrderDate

FROM Table1;

Legen Sie die Format-Eigenschaft für die zweite Spalte auf "Short Date" fest. Sie erhalten die gewünschten Ergebnisse.

Seitenanfang

Siehe auch

Einführung in Datentypen und Feldeigenschaften

Formatieren von Datums- und Uhrzeitfeldern

Erstellen oder Löschen von Datums- und Uhrzeitfeldern