Datoen og tidspunktet for udvidede datatype gemmer oplysninger om dato og klokkeslæt og svarer til datatypen Dato/klokkeslæt, men det giver et større datoområde, en højere decimalpræcisionen og kompatibilitet med SQL Server-datetime2-datotype. Når du importerer eller sammenkæder Access-data til SQL Server, kan du på en ensartet måde knytte et udvidet dato og klokkeslæt-felt i Access Dato og klokkeslæt til en SQL Server-datetime2-kolonne. Få flere oplysninger i datetime2 (Transact-SQL).
Advarsel Når du opretter udtryk og bruger dato-og klokkeslætsfunktioner ud fra den udvidede dato og klokkeslæt-datatype dato/klokkeslæt i Access, kan du miste præcision i beregninger eller opleve andre problemer med resultaterne. Vi er opmærksomme på dette problem og planlægger at forbedre udtryk og funktioner i en kommende version. Som en midlertidig løsning kan du Opret en pass-through-forespørgsel for at bruge en tilsvarende SQL Server-udtryk og Dato og klokkeslætsfunktioner. Du kan finde flere oplysninger i Sammenligning af Access SQL og SQL Server TSQL.
I denne artikel
Sammenligning af dato/klokkeslæt- og udvidede dato/klokkeslæt-datatyper |
Brug udvidet dato og klokkeslæt-datatype som en streng i VBA |
Sammenligning af dato/klokkeslæt- og udvidede dato/klokkeslæt-datatyper
De følgende tabeller opsummerer vigtige forskelle mellem de to datatyper.
Attribut |
Dato og klokkeslæt |
Udvidet dato og klokkeslæt |
---|---|---|
Minimumværdi |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
Maksimumværdi |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
Nøjagtighed |
0,001 sekunder |
1 nanosekund |
Størrelse |
Dobbelt præcision flydende punkter |
Kodet streng på 42 byte |
Brug udvidet dato og klokkeslæt-datatype
Følgende oplysninger beskriver vigtige brugsovervejelser.
Tabel i designvisning Hvis du vil have fordel af det større dataområde og den højere præcision, kan du føje et felt til en Access-tabel. Du kan også konvertere en dato og et klokkeslæt til den udvidet dato og klokkeslæt-datatype i Tabel i designvisning. Brug af denne datatype som en primær nøglefelt understøttes også. Få mere at vide under Opret en indholdsfortegnelse og tilføj felter.
Indtastning af dato og klokkeslæt Indtastning af dato og klokkeslæt-værdier svarende til Dato og klokkeslæt-datatypen, bortset fra at du også kan indtaste en brøkdel af en nanosekund.. F.eks.:
-
Indtastningsformat: mm/dd/yyyy hh:mm:ss.nnnnnnn
-
Eksempel: 06/15/1215 09:25:3.234
Hvis der er mere end 7 decimale nanosekunder, bliver de afrundet til 7 cifre. Hvis du vil styre visningen af de decimale nanosekunder, skal du åbne Tabellen og på båndet vælge Felter, og i gruppen Formatering skal du vælge Forøg decimaler eller Formindsk decimaler .
Formatering Datatyperne for dato og klokkeslæt og udvidet dato og klokkeslæt anvendes på samme måde som almindelige formateringsstrenge for Standarddatoformat, Langt datoformat, Mellemlangt datoformat, Kort datoformat, Langt klokkeslætsformat, Mellemlangt klokkeslætsformat og Kort klokkeslætsformat og begge understøtter brugerdefineret formatering. For den udvidede dato og klokkeslæt-datatype understøtter de tidsbaserede standardformater også decimalpræcisionen for nanosekunder. Formatering af den udvidede dato og klokkeslæt -datatype er som standard angivet til Standarddatoformat og Langt klokkeslætsformat formater og følger de indstillinger, der er angivet i Windows internationale indstillinger i. Du kan også styre formateringen af decimalpræcisionen ved at bruge egenskaben Antal decimaler til at angive antallet af cifre til højre for decimaltegnet (1-7).
Sammenkæd og importér Du kan også oprette et link til eller importere fra databaser med en tilsvarende datatype, f.eks. datatypen SQL Server datetime2. SQL Server-versionen 2014 eller senere understøttes. Udvidet Dato og klokkeslæt-datatype kræver brugen af Microsoft ODBC-driver til SQL Server 11 eller nyere. Vi anbefaler, at du bruger Microsoft ODBC-driver 13,1 til SQL Server. Brugen af OLE DB understøttes også. Du kan finde flere oplysninger i Forbedringer i understøttelse af datatype for ODBC dato og klokkeslæt og Brug forbedrede funktioner for dato og klokkeslæt (OLE DB).
Formularer og rapporter Du kan tilføje den udvidede dato og klokkeslæt-datatype til en formular eller en rapport. I en formular kan du bruge datovælgeren og inputmasken til at angive en dato med det større område, men ikke den decimalpræcision på nanosekunder.
Understøttelse af udtryk Den udvidede dato og klokkeslæt-datatype SQL-aggregeringsfunktioner og evaluering af udtryk. Brug f. eks. LoggedDateTime som et felt med Udvidet dato og klokkeslæt-datatype:
Opgave |
Eksempel |
Resultat |
---|---|---|
Find minimumsværdien |
Min(LoggedDateTime) |
Den tidligste dato og klokkeslæt, der er inden for intervallet |
Udtræk måneden |
Month(LoggedDateTime) |
Månedens navn, såsom januar |
Tilføj en dag |
[LoggedDateTime]+1 |
Tirsdag ville blive onsdag |
Overvejelser angående bagudkompatibilitet
Udvidet dato og klokkeslæt-datatype er ikke kompatibel med tidligere versioner af Microsoft Access. Hvis typen bruges i en lokal Access-tabel, vil versioner af Access, der ikke indeholder funktionen, ikke kunne åbne databasen.
Du kan aktivere eller deaktivere den udvidede dato/klokkeslæt-datatype for sammenkædning og import med indstillingen Aktuel databaseadgangUnderstøtter udvidet dato og klokkeslæt-datatype for sammenkædede/lmporterede tabeller. Få mere at vide under Angiv brugerindstillinger for den aktuelle database.
Brug udvidet dato og klokkeslæt-datatype som en streng i VBA
Følgende VBA-eksempler bruger DAO-metoder til at få vist, angive og evaluere Udvidet dato og klokkeslæt-datatype, der er baseret på tabellen nedenfor.
ID |
DTEData |
DTData |
1 |
1/1/2 1:01:03.1234567 AM |
1/1/2001 |
Tabelnavn: DTETable
ID-datatype: Autonumber DTEData-datatype: Udvidet dato og klokkeslæt DTData-datatype: Dato og klokkeslætEksempel: Visning af dato og klokkeslæt
Følgende eksempel viser dato og klokkeslæt. Formatet er mm/dd/yyyy hh:mm:ss.nnnnnnn i 24-timers format. Formatet kan ikke tilpasses.
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
Resultat Access viser: 01/01/0002 01:01:03.1234567.
Eksempel: Indtastning af dato og klokkeslæt
Følgende eksempel angiver dato og klokkeslæt ved hjælp af strengformatet. Alle standarddato-og klokkeslætsformater understøttes.
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
Resultat Access tilføjer en ny række (ID = 2):
ID |
DTEData |
DTData |
1 |
1/1/2 1:01:03.1234567 AM |
1/1/2001 |
2 |
1/1/9999 1:01:01.0123000 AM |
1/1/2001 |
Eksempel: Evaluering af et forespørgselsudtryk
I følgende eksempel bruges Funktionen Dag til at udtrække dato-og klokkeslætsfelter.
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
Resultat Access viser:
Dag i måneden er: 1
Dag i måneden er: 1Se også
Introduktion til datatyper og feltegenskaber