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).
Warnung Wenn Sie Ausdrücke erstellen und Datums- und Uhrzeitfunktionen basierend auf dem Datentyp "Datum/Uhrzeit erweitert" in Access verwenden, könnte es zu einer geringeren Genauigkeit bei Berechnungen oder anderen Problemen mit den Ergebnissen kommen. 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" |
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 |
Verwendung des Datentyps "Datum/Uhrzeit erweitert"
Die folgenden Informationen umfassen wichtige Überlegungen bei der Verwendung.
Tabellenentwurfsansicht Um den größeren Datumsbereich 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.
Eingabe von Datum und Uhrzeit Die Eingabe von Datums- und Zeitwerten erfolgt ähnlich wie bei dem Datentyp "Datum/Uhrzeit", mit dem Unterschied, dass Sie auch Sekundenbruchteile 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. Wenn Sie die Anzeige der Sekundenbruchteile festlegen möchten, öffnen Sie die Tabelle, und wählen Sie im Menüband Felder aus, und dann in der Gruppe Formatierung die Option Dezimalstellen hinzufügen oder Dezimalstellen verringern .
Formatierung Sowohl für den Datentyp "Datum/Uhrzeit" als auch für "Datum/Uhrzeit erweitert" werden ähnliche Standardformatierungszeichenfolgen verwendet für Allgemeines Datumsformat, langes Datumsformat, mittleres Datumsformat, kurzes Datumsformat, langes Zeitformat, mittleres Zeitformat und kurzes Zeitformat, und beide unterstützen benutzerdefinierte Formate. 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 (z. B. "datetime2" in SQL Server) herstellen oder Daten aus diesen Datenbanken importieren. 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. Wir empfehlen die Verwendung von Microsoft ODBC-Treiber 13.1 für SQL Server. Die Verwendung von OLE DB wird ebenfalls unterstützt. Weitere Informationen hierzu finden Sie unter Datentypunterstützung für ODBC-Verbesserungen bei Datum und Uhrzeit und Verwenden von erweiterten Datums- und Uhrzeitfunktionen (OLE DB).
Formulare und Berichte Sie können den Datentyp "Datum/Uhrzeit erweitert" 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.
Unterstützung von Ausdrücken Der Datentyp "Datum/Uhrzeit erweitert" unterstützt SQL-Aggregatfunktionen sowie die Ausdrucksauswertung. 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 |
Ü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.
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
Datentyp-ID: AutoWert DTEData-Datentyp: Datum/Uhrzeit erweitert DTData-Datentyp: Datum/UhrzeitBeispiel: 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 Anzeige in Access: 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 (ID = 2) hinzu:
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 Anzeige in Access:
Der Tag des Monats lautet: 1
Der Tag des Monats lautet: 1Siehe auch
Einführung in Datentypen und Feldeigenschaften