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).

Datum/Uhrzeit Warnung für erweiterten Bereich Wenn Sie in Access Ausdrücke erstellen und Datum/Uhrzeit-Funktionen basierend auf dem Datentyp "Erweitertes Datum/Uhrzeit" verwenden, kann die Genauigkeit der Berechnungen verloren gehen oder andere Probleme mit den Ergebnissen auftreten. 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 mit höherer Genauigkeit zu nutzen, können Sie ein Feld zu einer Access-Tabelle 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 Das Eingeben von Datums- und Uhrzeitwerten ähnelt dem Datentyp "Datum/Uhrzeit", mit dem Unterschied, dass Sie auch Bruchteile von Nanosekunden 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 und in der Gruppe Formatierung die Schaltflächendarstellung"Dezimalstellen erhöhen" oder "Dezimalstellen verringern.

Formatierung Sowohl die Datentypen "Datum/Uhrzeit" als auch "Datum/Uhrzeit erweitert" verwenden ähnliche Standardformatierungszeichenfolgen ( Standarddatum), langes Datum, mittleres Datum, kurzes Datum, lange Zeit, mittlere Zeit 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 zu Datenbanken mit einem entsprechenden Datentyp erstellen oder aus Datenbanken importieren, beispielsweise mit dem Datentyp SQL Server datetime2. 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-Treiber 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 erweiterter Datums- und Uhrzeitfeatures (OLE DB).

Formulare und Berichte Sie können einem Formular oder Bericht den Datentyp "Erweitertes Datum/Uhrzeit" 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.

Unterstützung von Ausdrücken Der Datentyp "Datum/Uhrzeit erweitert" 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 Access-Versionen, die das Feature nicht enthalten, die Datenbank nicht öffnen.

Sie können den Datentyp "Erweitertes Datum/Uhrzeit" zum Verknüpfen und Importieren von Vorgängen mit der Option "Aktueller Datenbankzugriff" aktivieren oder deaktivieren. Unterstützung des erweiterten Datentyps "Datum/Uhrzeit" für verknüpfte/importierte Tabellen. 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: DTETfähig
ID-Datentyp: AutoNumber-
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 Access wird angezeigt: 01/01/0002 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 Access zeigt Folgendes an:

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

Funktionen, die in Abfrageausdrücken mit "Erweitertes Datum/Uhrzeit" verwendet werden

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

Darüber hinaus gibt es erweiterte Versionen einiger Funktionen, die nicht den Typ des Arguments verwenden können, um zu bestimmen, dass die Berechnung einen erweiterten Wert für Datum/Uhrzeit erzeugen soll. Dies sind:

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

Diese Funktionen funktionieren genauso wie die Funktion ohne "Extended" am Ende, geben jedoch einen erweiterten Datum/Uhrzeit-Wert anstelle eines Datum/Uhrzeit-Werts 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 erweiterten Datums-/Uhrzeitwerten 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 Formatfunktion für erweiterte Spalten für Datum/Uhrzeit nicht verarbeitet. Sie können einfach die Format-Eigenschaft für die Spalte festlegen.

Wenn Sie daher Folgendes verwenden:


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

FROM Table1;

Und setzen Sie die Format-Eigenschaft für die zweite Spalte auf "Kurzes Datum", um die gewünschten Ergebnisse zu erhalten.

Seitenanfang

Siehe auch

Einführung in Datentypen und Feldeigenschaften

Formatieren von Datums- und Uhrzeitfeldern

Erstellen oder Löschen von Datums- und Uhrzeitfeldern