Paplašinātais datu tips Date/Time saglabā datuma un laika informāciju un ir līdzīgs datu tipam Date/Time, bet nodrošina lielāku datumu diapazonu, augstāku daļskaitļu precizitāti un saderību ar datu tipu SQL Server datetime2. Importējot vai saistot Access datus ar SQL Server, jūs varat konsekventi kartēt Access lauku Paplašinātais datums/laiks uz SQL Server datetime2 kolonnu. Papildinformāciju skatiet rakstā datetime2 (Transact-SQL)..
Brīdinājums Ja programmā Access izveidojat izteiksmes un izmantojat datuma/laika funkcijas, kuru pamatā ir datu tips Date/Time Extended, var tikt zaudēta aprēķinu precizitāte vai var rasties citas ar rezultātiem saistītas problēmas. Mēs zinām par šo problēmu un plānojam labāk atbalstīt izteiksmes un funkcijas gaidāmajā laidienā. Lai novērstu šo problēmu, varat Jaunrade tranzītvaicājumu, lai izmantotu ekvivalentās SQL Server izteiksmes un datuma/laika funkcijas. Papildinformāciju skatiet rakstā Access SQL un SQL Server TSQL.
Šajā rakstā
Datuma/laika un datuma/laika paplašināto datu tipu salīdzināšana |
Datuma/laika paplašinātā datu tipa izmantošana par virkni VBA |
Datuma/laika un datuma/laika paplašināto datu tipu salīdzināšana
Šajās tabulās apkopotas būtiskas atšķirības starp abiem datu tipiem.
Atribūts |
Datums/laiks |
Datums/laiks, kas pagarināts |
---|---|---|
Minimālā vērtība |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
Maksimālā vērtība |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
Precizitāte |
0,001 sekunde |
1 nanosekundē |
Lielums |
Double-precision floating point |
42 baitu kodēta virkne |
Paplašinātā datuma/laika datu tipa izmantošana
Tālāk sniegtā informācija apraksta svarīgus lietojuma apsvērumus.
Tabulas noformējuma skats Lai izmantotu lielāku datu diapazonu un augstāku precizitāti, varat pievienot lauku Access tabulai. Tabulas noformējuma skatā varat arī konvertēt datu tipu Date/Time uz Date/Time Extended. Tiek atbalstīts arī šis datu tips kā primārās atslēgas lauks. Papildinformāciju skatiet rakstā Jaunrade pievienošana un lauku pievienošana.
Datuma un laika ievadīšana Datuma un laika vērtību ievadīšana ir līdzīga datu tipam Date/Time, tikai varat ievadīt arī daļskaitļu nanosendu. Piemērs.
-
Ieraksta formāts: mm/dd/yyyy hh:mm:ss.nnnnnnn
-
Piemērs. 06/15/1215 09:25:3.234
Ja ir vairāk nekā 7 daļskaitļu nanosekundes, tās tiek noapaļotas līdz 7 cipariem. Lai kontrolētu daļskaitļu nanose tad, atveriet tabulu, lentē atlasiet Lauki un grupā Formatējums atlasiet Palielināt decimāldaļskaitļu vai Samazināt decimāldaļskaitļu .
Formatēšana Gan datu tips Datums/laiks, gan Paplašinātais datuma/laika tips izmanto līdzīgas standarta formatēšanas virknes: Vispārīgs datums, Garais datuma beigu datums, Vidējais datuma beigu datums, Īsais laika tips, Vidējais laika tips un Īsais laika laiks, un abas atbalsta pielāgotu formatējumu. Paplašinātā datuma/laika datu tipam laika standarta formāti atbalsta arī daļskaitļu precizitāti nanosendiem. Datu tipa Date/Time Extended formatējums pēc noklusējuma tiek lietots formātam Vispārīgs datums un Garais laika formāts, un tas atbilst Windows reģionālajos iestatījumos norādītajām opcijām. Varat arī kontrolēt daļskaitļu precizitātes formatējumu, izmantojot rekvizītu Decimāldaļskaitļu Places, lai norādītu ciparu skaitu pa labi no decimālzīmes (1-7).
Saistīšana un importēšana Varat arī izveidot saiti uz datu bāzēm ar atbilstošu datu tipu, piemēram, datu tipu SQL Server datetime2, vai importēt no tām. SQL Server atbalstīta versija 2014 vai jaunāka versija. Datu tips Date/Time Extended pieprasa izmantot Microsoft ODBC draiveri draiverim, kas paredzēts SQL Server 11 vai jaunāku versiju. Iesakām izmantot Microsoft ODBC draiveri 13.1 SQL Server. Tiek atbalstīta arī OLE DB lietošana. Papildinformāciju skatiet rakstā Datu tipu atbalsts ODBC datuma un laika uzlabojumiem un Uzlaboto datuma un laika līdzekļu (OLE DB) izmantošana.
Forms un atskaites Formai vai atskaitei varat pievienot datu tipu Date/Time Extended. Formā varat izmantot datuma atlasītāju un ievades masku, lai ievadītu datumu ar lielāku diapazonu, bet ne ar daļskaitļu precizitāti nanosekundēm.
Izteiksmju atbalsts Datuma/laika paplašinātais datu tips atbalsta SQL apkopošanas funkcijas un izteiksmju novērtēšanu. Piemēram, izmantojot LoggedDateTime kā lauku ar datu tipu Date/Time Extended:
Uzdevums |
Piemērs |
Rezultāts |
---|---|---|
Minimālās vērtības atrašana |
Min(LoggedDateTime) |
Agrākais datums un laiks diapazonā |
Izvilkt mēnesi |
Month(LoggedDateTime) |
Mēneša nosaukums, piemēram, Janvāris |
Pievienot vienu dienu |
[LoggedDateTime]+1 |
Otrdiena kļūs par trešdienu |
Atpakaļsaderības apsvērumi
Datu tips Date/Time Extended nav saderīgs ar iepriekšējām Microsoft Access versijām. Ja tips tiek lietots lokālajā Access tabulā, Access versijas, kurās šis līdzeklis nav iekļauts, nevarēs atvērt datu bāzi.
Varat iespējot vai atspējot datu tipu Date/Time Extended, lai saistītu un importētu operācijas ar opciju Pašreizējā datu bāze Piekļuve atbalsta datuma/laika paplašināto datu tipu saistītajām/lmportētajām tabulām. Papildinformāciju skatiet rakstā Lietotāja opciju iestatīšana pašreizējai datu bāzei.
Datuma/laika paplašinātā datu tipa izmantošana par virkni VBA
Tālāk norādītajos VBA piemēros tiek izmantotas DAO metodes, lai parādītu, ievadītu un novērtētu datu tipu Date/Time Extended, ņemot vērā tālāk norādīto tabulu.
ID |
DTEData |
DTData |
1 |
1/1/2 1:01:03.1234567 AM |
1/1/2001 |
Tabulas nosaukums: Datu tips DTETable
ID: datu tips Autonumber DTEData: Datu tips Date/Time Extended DTData: Date/TimePiemērs: Displaying the date and time
Šajā piemērā redzams datums un laiks. Izmantotais formāts ir mm/dd/gggg hh:mm:ss.nnnnnnn 24 stundu pulkstenī. Formātu nevar pielāgot.
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
Rezultāts Access parāda: 01/01/0002 01:01:03.1234567.
Piemērs: datuma un laika ievadīšana
Šajā piemērā datums un laiks tiek ievadīts, izmantojot virknes formātu. Tiek atbalstīti visi standarta datuma un laika formāti.
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
Rezultāts Programma Access pievieno jaunu rindu (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 |
Piemērs: vaicājuma izteiksmes novērtēšana
Šajā piemērā tiek izmantota funkcija Day, lai izvilktu dienu skaitu no datuma un laika laukiem.
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
Rezultāts Programma Access parāda:
Mēneša diena ir: 1
Mēneša diena ir: 1Skatiet arī
Iepazīšanās ar datu tipiem un lauku rekvizītiem