Datatypen utökad Datum och tid lagrar information om datum och tid och liknar Datum/tid-datatyp, men den ger ett större datumintervall, en högre fraktionell precision och kompatibilitet med datatypen SQL Server datetime2. När du importerar eller länkar Access-data till SQL Server kan du på ett konsekvent sätt mappa ett Access Datum och tid utökad fält till en SQL Server-datetime2. Mer information finns under datetime2 (Transact-SQL).
Varning När du skapar uttryck och använder datum/tid-funktioner baserat på Datum och tid utökad datatyp i Access kan du förlora precisionen i beräkningar eller stöta på andra problem med resultatet. Vi är medvetna om problemet och planerar att förbättra supportuttryck och funktioner i en kommande version. Som en lösning kan du Skapa en direktfråga om du vill använda motsvarande SQL Server-uttryck och datum/tid-funktioner. Mer information finns i Jämförelse av SQL i Access med T-SQL för SQL Server.
I den här artikeln
Jämför datatyperna datum/tid och datum och tid utökad
I följande tabeller sammanfattas viktiga skillnader mellan de två datatyperna.
Attribut |
Datum/tid |
Datum och tid utökad |
---|---|---|
Minvärde |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
Maxvärde |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
Noggrannhet |
0.001 sekunder |
1 nanosekund |
Storlek |
Flytande punkt med dubbel precision |
Kodad sträng med 42 byte |
Använd den utökade datatypen Datum/Tid
Följande information beskriver viktiga användningsfaktorer.
Designvy för tabell Du kan lägga till ett fält i en Access-tabell för att dra nytta av större dataområde och högre precision. Du kan också konvertera ett datum/tid till datum/tid utökad för datum/tid i designvy för tabell. Du kan också använda den här datatypen som ett primärt nyckelfält. Mer information finns på Skapa en tabell och lägg till fält.
Ange till datum och tid Att ange värden för datum och tid liknar datatypen Datum/tid, förutom att du också kan ange en fraktionell nanosekund. Till exempel:
-
Format: mm/dd/åååå hh:mm:ss.nnnnnnn
-
Exempel: 06/15/1215 09:25:3.234
Om det finns fler än sju fraktionella nanosekunder avrundas de till sju siffror. Välj Öka antalet decimaler och Minska antalet decimaler för att styra visningen av uppdelade fraktionella nanosekunder, öppna tabellen i menyfliksområdet och välj Fält och i gruppen väljer du Formatering.
Formatering Både datatyperna Datum/tid och Datum och tid utökad liknar standardsträngar för Allmänt datum, Långt datum, Medellångt datum, Kort datumLång tidMedellång tid och Kort tid och båda har stöd för anpassad formatering. För datatypen Datum/tid utökad stöds även tidsbaserade standardformatering av decimal precision för nanosekunder. Formatering av den datum och tid utökad används som standard för formaten Allmänt datum och Lång tid och följer de alternativ som anges i Windows nationella inställningar. Du kan också kontrollera formateringen av decimaltal genom att använda egenskapen Antal decimaler för att ange antalet siffror till höger om decimaltecknet (1-7).
Länka och importera Du kan även länka till eller importera från databaser med en motsvarande datatyp, till exempel datetime2-datatypen för SQL Server. SQL Server version 2014 eller senare databaser stöds. Den datatypen Datum och tid utökad Datum/tid kräver användningen av Microsoft ODBC-drivrutin för SQL Server 11 eller senare. Vi rekommenderar att du använder Microsoft ODBC-drivrutin 13,1 för SQL Server. Det går också att använda OLE DB. Mer information finns i Datatypstöd för förbättringar av datum och tid för ODBC och Använd utökade funktioner för datum och tid (OLE DB).
Formulär och rapporter Du kan lägga till den datatypen Datum och tid utökad i ett formulär eller en rapport. I ett formulär kan du använda datumväljaren och indatamasken för att ange ett datum med det större området, men inte decimalprecisionen för nanosekunder.
Stöd för uttryck Den datatypen Datum och tid utökad har stöd för SQL-mängdfunktioner och uttrycksutvärdering. Om du till exempel använder LoggedDateTime som ett fält med den datatypen Datum och tid utökad:
Uppgift |
Exempel |
Resultat |
---|---|---|
Hitta det minsta värdet |
Min(LoggedDateTime) |
Tidigaste datum och tid inom intervallet |
Extrahera månaden |
Månad(LoggedDateTime) |
Månadsnamnet, t. ex. januari |
Lägg till en dag |
[LoggedDateTime]+1 |
Tisdag blir onsdag |
Överväganden för bakåtkompatibilitet
Den datatypen Datum och tid utökad är inte kompatibel med tidigare versioner av Microsoft Access. Om typen används i en lokal Access-tabell kommer versioner av Access som inte innehåller funktionen inte att kunna öppna databasen.
Du kan aktivera eller inaktivera den utökade datatypen Datum/tid för länknings- och importåtgärder med alternativet Aktuell databasåtkomstSupportdatum/tid utökad datatyp för länkade/lmporterade tabeller. Mer information finns i artikeln för att ange användaralternativ för den aktuella databasen.
Använd den utökade datatypen Datum/Tid som en sträng i VBA
I följande VBA-exempel används DAO-metoder för att visa, ange och utvärdera den utökade datatypen Datum/Tid baserat på tabellen nedan.
ID |
DTEData |
DTData |
1 |
1/1/2 1:01:03.1234567 AM |
1/1/2001 |
Tabellnamn DTETable
ID datatyp: Räknare DTEData datatyp: Datum och tid utökad datatyp DTData datatyp: Datum/tidExempel: Visa datum och tid
I följande exempel visas datum och tid. Formatet som används är åååå-mm-dd tt: mm: SS. nnnnnnn i 24-timmarsformat. Formatet är inte anpassningsbart.
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 visar: 01/01/0002 01:01:03.1234567.
Exempel: Ange till datum och tid
Följande exempel anger datum och tid i ett strängformat. Alla standard datum-och tidsformat stöds.
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 lägger till en ny rad (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 |
Exempel: Utvärdera ett frågeuttryck
I följande exempel används funktionen Dag för att extrahera dagnumret från fälten datum och tid.
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 visar:
Månadens dag är: 1
Månadens dag är: 1Se även
Introduktion till datatyper och fältegenskaper