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).
![Verwendung des Datentyps „Date/Time Extended“ (1) Verwendung des Datentyps „Date/Time Extended“ (1)](https://i0.wp.com/support.content.office.net/de-de/media/48293602-a7e3-4429-95e8-146440d15830.png)
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" | 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 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 UhrzeitDie 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
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ückenDer 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 |
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
Datentyp-ID: 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 DatabaseDim rs As RecordsetSet db = CurrentDbSet rs = db.OpenRecordset("DTETable")Do Until rs.EOF Debug.Print rs!DTETable rs.MoveNextLoop
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 DatabaseDim rs As RecordsetSet db = CurrentDbSet rs = db.OpenRecordset("DTETable")With CurrentDb.OpenRecordset("DTETable") .AddNew ![DTEData] = "1/1/9999 1:1:1.0123 AM" ![DTData] = #1/1/2001# .UpdateEnd 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 DatabaseDim rs As RecordsetSet db = CurrentDbSet 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.MoveNextLoop
Ergebnis Anzeige in Access:
Der Tag des Monats lautet: 1
Der Tag des Monats lautet: 1
Seitenanfang
Siehe auch
Einführung in Datentypen und Feldeigenschaften
Formatieren von Datums- und Uhrzeitfeldern
Erstellen oder Löschen von Datums- und Uhrzeitfeldern