Verwenden des erweiterten Datum/Uhrzeit-Datentyps
Der Datentyp „Date/Time Extended" speichert Datums- und Uhrzeitinformationen und ähnelt dem Datentyp „Date/Time", bietet jedoch einen größeren Datumsbereich, eine höhere Bruchzahl und Kompatibilität mit dem Datumstyp „datetime2" von SQL Server. Wenn Sie Zugriffsdaten in SQL Server importieren oder verknüpfen, können Sie ein erweitertes Feld für Zugriffsdatum/-zeit konsistent einer datetime2-Spalte von SQL Server zuordnen. Weitere Informationen finden Sie unter datetime2 (Transact-SQL) .
Warnung Wenn Sie Ausdrücke erstellen und Datums-/Uhrzeitfunktionen basierend auf dem erweiterten Datums-/Uhrzeitdatentyp in Access verwenden, verlieren Sie möglicherweise die Genauigkeit der Berechnungen oder andere Probleme mit den Ergebnissen. Wir sind uns dieses Problems bewusst und planen, Ausdrücke und Funktionen in einer kommenden Version besser zu unterstützen. Als Problemumgehung können Sie eine Pass-Through-Abfrage erstellen, um den entsprechenden SQL Server-Ausdruck und die Datums-/Uhrzeitfunktionen zu verwenden. Weitere Informationen finden Sie unter Vergleichen von Access SQL mit SQL Server TSQL .
In diesem Artikel
Verwenden des erweiterten Datum/Uhrzeit-Datentyps als Zeichenfolge in VBA |
Vergleich der Datentypen Date/Time und Date/Time Extended
Die folgenden Tabellen fassen wichtige Unterschiede zwischen den beiden Datentypen zusammen.
Attribut | Terminzeit | Datum/Uhrzeit verlängert |
---|---|---|
Mindestwert | 100-01-01 00:00:00 | 0001-01-01 00:00:00 |
Höchster Wert | 9999-12-31 23:59:59.999 | 9999-12-31 23:59:59.9999999 |
Genauigkeit | 0,001 Sekunden | 1 Nanosekunde |
Größe | Gleitkommazahl mit doppelter Genauigkeit | Codierte Zeichenfolge von 42 Bytes |
Verwenden des erweiterten Datum/Uhrzeit-Datentyps
Die folgenden Informationen beschreiben wichtige Überlegungen zur 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 in der Tabellenentwurfsansicht auch einen Datum/Uhrzeit-Datentyp in einen erweiterten Datum/Uhrzeit-Datentyp konvertieren. Die Verwendung dieses Datentyps als Primärschlüsselfeld wird ebenfalls unterstützt. Weitere Informationen finden Sie unter Tabelle erstellen und Felder hinzufügen .
Eingabe von Datum und Uhrzeit Die Eingabe von Datums- und Uhrzeitwerten ähnelt dem Datentyp „Datum/Uhrzeit", außer dass Sie auch Bruchteile von Nanosekunden eingeben können. Zum Beispiel:
Eingabeformat: mm/tt/jjjj hh:mm:ss.nnnnnnn
Beispiel: 15.06.1215 09:25:3.234
Wenn mehr als 7 Bruchteile von Nanosekunden vorhanden sind, werden sie auf 7 Stellen 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 Option Dezimalstellen erhöhen aus oder Dezimalstellen verringern .
Formatierung Sowohl die Datentypen Date/Time als auch Date/Time Extended verwenden ähnliche Standardformatierungszeichenfolgen von General Date , Long Date , Medium Date , Short Date , Long Time , Medium Time und Short Time und beide unterstützen benutzerdefinierte Formatierungen. Für den Datentyp Date/Time Extended unterstützen die zeitbasierten Standardformate auch die gebrochene Genauigkeit für Nanosekunden. Die Formatierung des Datentyps „Date/Time Extended" entspricht standardmäßig den allgemeinen Datums- und Long Time -Formaten und folgt den Optionen, die in den Ländereinstellungen von Windows angegeben sind. Sie können die Formatierung der Nachkommastellen auch steuern, indem Sie die Dezimalstellen -Eigenschaft verwenden, um die Anzahl der Stellen rechts vom Dezimalkomma (1-7) anzugeben.
Verknüpfen und Importieren Sie können auch Datenbanken mit einem entsprechenden Datentyp, z. B. dem Datentyp datetime2 von SQL Server, verknüpfen oder aus Datenbanken importieren. SQL Server-Datenbanken der Version 2014 oder höher werden unterstützt. Der erweiterte Datentyp „Date/Time" erfordert die Verwendung des Microsoft ODBC-Treibers für SQL Server 11 oder höher. Wir empfehlen die Verwendung des Microsoft ODBC-Treibers 13.1 für SQL Server . Auch die Verwendung von OLE DB wird unterstützt. Weitere Informationen finden Sie unter Datentypunterstützung für ODBC-Datums- und Zeitverbesserungen und Verwenden erweiterter Datums- und Zeitfunktionen (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 Bereich einzugeben, jedoch nicht mit der Bruchgenauigkeit für Nanosekunden.
Ausdrucksunterstützung Der erweiterte Datums-/Uhrzeit-Datentyp unterstützt SQL-Aggregatfunktionen und Ausdrucksauswertung. Verwenden Sie beispielsweise LoggedDateTime als Feld mit dem Datentyp Date/Time Extended:
Aufgabe | Beispiel | Ergebnis |
---|---|---|
Finden Sie den Mindestwert | Min (ProtokolliertesDatumUhrzeit) | Das früheste Datum und die früheste Uhrzeit innerhalb des Bereichs |
Extrahieren Sie den Monat | Monat(ProtokolliertesDatumUhrzeit) | Der Monatsname, z. B. Januar |
Fügen Sie einen Tag hinzu | [LoggedDateTime]+1 | Dienstag würde Mittwoch werden |
Überlegungen zur Abwärtskompatibilität
Der Datentyp Date/Time Extended ist nicht mit früheren Versionen von Microsoft Access 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 erweiterten Datentyp „Datum/Uhrzeit" für Verknüpfungs- und Importvorgänge mit der Option „ Aktueller Datenbankzugriff" „ Erweiterten Datentyp „Datum/Uhrzeit" für verknüpfte/importierte Tabellen unterstützen" aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Festlegen von Benutzeroptionen für die aktuelle Datenbank .
Verwenden des erweiterten Datum/Uhrzeit-Datentyps als Zeichenfolge in VBA
Die folgenden VBA-Beispiele verwenden DAO-Methoden zum Anzeigen, Eingeben und Auswerten des erweiterten Datentyps „Datum/Uhrzeit" basierend auf der folgenden Tabelle.
AUSWEIS | DTEDaten | DTDaten |
1 | 1/1/2 1:01:03.1234567 AM | 1.1.2001 |
Tabellenname: DTETable
ID-Datentyp: Autonumber
DTEData-Datentyp: Date/Time Extended
DTData-Datentyp: Datum/Uhrzeit
Beispiel: Anzeige von Datum und Uhrzeit
Das folgende Beispiel zeigt das Datum und die Uhrzeit an. Das verwendete Format ist mm/tt/jjjj hh:mm:ss.nnnnnnn im 24-Stunden-Format. Das Format ist nicht anpassbar.
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
Ergebniszugriff zeigt: 01.01.0002 01:01:03.1234567.
Beispiel: Eingabe von Datum und Uhrzeit
Im folgenden Beispiel werden Datum und Uhrzeit in einem Zeichenfolgenformat eingegeben. Alle gängigen Datums- und Zeitformate werden 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
Ergebniszugriff fügt eine neue Zeile hinzu (ID = 2):
AUSWEIS | DTEDaten | DTDaten |
1 | 1/1/2 1:01:03.1234567 AM | 1.1.2001 |
2 | 1.1.9999 1:01:01.0123000 AM | 1.1.2001 |
Beispiel: Auswertung eines Abfrageausdrucks
Im folgenden Beispiel wird die Day-Funktion verwendet, um die Tageszahl aus den Datums- und Uhrzeitfeldern 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
Ergebniszugriff zeigt:
Der Tag des Monats ist: 1
Der Tag des Monats ist: 1
Siehe auch
Einführung in Datentypen und Feldeigenschaften
No comments:
Post a Comment