Duomenų tipas Data / laikas Išplėstinis saugo datos ir laiko informaciją ir yra panašus į datos / laiko duomenų tipą, bet suteikia didesnį datos diapazoną, didesnį trupmeninį tikslumą ir suderinamumą su „SQL Server“ datetime2" datos tipu. Kai importuojate arba susiejate "Access" duomenis su „SQL Server“, galite nuosekliai susieti lauką "Access" data / laikas išplėstinis su stulpeliu „SQL Server“ data ir laikas2. Daugiau informacijos žr. datetime2 (Transact-SQL).
Įspėjimas Kai kuriate reiškinius ir naudojate datos / laiko funkcijas pagal duomenų tipą Data / laikas išplėstinis programoje "Access", galite prarasti skaičiavimų tikslumą arba susidurti su kitomis rezultatų problemomis. Žinome apie šią problemą ir planuojame geriau palaikyti reiškinius ir funkcijas būsimame leidime. Norėdami išspręsti šią problemą, galite Create prieigą prie tiesioginės užklausos ir naudoti atitinkamas „SQL Server“ reiškinio ir datos / laiko funkcijas. Daugiau informacijos žr. "Access SQL" palyginimas su "„SQL Server“ TSQL".
Šiame straipsnyje
Datos / laiko ir datos / laiko išplėstinių duomenų tipų palyginimas |
Išplėstinio datos / laiko duomenų tipo naudojimas kaip VBA eilutės |
Datos / laiko ir datos / laiko išplėstinių duomenų tipų palyginimas
Toliau pateiktose lentelėse apibendrinami svarbūs šių dviejų duomenų tipų skirtumai.
Atributas |
Data / laikas |
Data / laikas pratęstas |
---|---|---|
Minimali reikšmė |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
Maksimali reikšmė |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
Tikslumas |
0,001 sek. |
1 nanosekundė |
Dydis |
Dvigubo tikslumo slankusis kablelis |
Užkoduota 42 baitų eilutė |
Duomenų tipo Išplėstinis datos / laiko naudojimas
Toliau pateiktoje informacijoje aprašomi svarbūs naudojimo aspektai.
Lentelės dizaino rodinys Norėdami pasinaudoti didesniu duomenų diapazonu ir didesniu tikslumu, galite įtraukti lauką į "Access" lentelę. Lentelės dizaino rodinyje taip pat galite konvertuoti datos / laiko duomenų tipą į duomenų tipą Data / laikas. Taip pat palaikomas šio duomenų tipo kaip pirminio rakto lauko naudojimas. Daugiau informacijos žr. lentelės Create ir laukų įtraukimas.
Datos ir laiko įvedimas Datos ir laiko reikšmių įvedimas yra panašus į datos / laiko duomenų tipą, išskyrus tai, kad galite įvesti ir trupmeninį nanosekundą. Pavyzdžiui:
-
Įrašo formatas: mm/dd/mmmm hh:mm:ss.nnnnnnn
-
Pavyzdys: 06/15/1215 09:25:3.234
Jei yra daugiau nei 7 trupmeninės nanosekundės, jos apvalinamos iki 7 skaitmenų. Norėdami valdyti trupmeninių nanosekunčių rodymą, atidarykite lentelę, juostelėje pasirinkite Laukai, tada grupėje Formatavimas pasirinkite Didinti dešimtainius skaitmenis arba Mažinti dešimtainius skaitmenis .
Formatavimas Tiek datos / laiko, tiek datos / laiko išplėstiniai duomenų tipai naudoja panašias standartines formatavimo eilutes : Bendra data, Ilgoji data, Vidutinė data, Trumpoji data, Ilgasis laikas, Vidutinis laikas ir Trumpasis laikas , ir palaiko pasirinktinį formatavimą. Datos / laiko išplėstinio duomenų tipo standartiniai formatai taip pat palaiko nanosekundų trupmeninį tikslumą. Datos / laiko išplėstinio duomenų tipo formatavimas pagal numatytuosius parametrus taikomas bendriesiems datos ir ilgojo laiko formatams ir atitinka parinktis, nurodytas "Windows" regiono parametruose. Taip pat galite valdyti trupmeninio tikslumo formatavimą naudodami ypatybę Dešimtainis Places, kad nurodytumėte skaitmenų skaičių dešimtainio skyriklio dešinėje (1–7).
Susiejimas ir importavimas Taip pat galite susieti arba importuoti iš duomenų bazių su atitinkamu duomenų tipu, pvz., „SQL Server“ datetime2 duomenų tipu. „SQL Server“ 2014 arba naujesnės versijos duomenų bazės yra palaikomos. Duomenų tipas Data / laikas pratęstas reikalauja naudoti "Microsoft ODBC" tvarkyklę „SQL Server“ 11" arba naujesnei versijai. „SQL Server“ rekomenduojame naudoti "Microsoft ODBC" tvarkyklę 13.1. OLE DB naudojimas taip pat palaikomas. Daugiau informacijos žr. ODBC datos ir laiko patobulinimų duomenų tipo palaikymas irPatobulintų datos ir laiko funkcijų (OLE DB) naudojimas.
Forms ir ataskaitos Į formą arba ataskaitą galite įtraukti duomenų tipą Data / laikas išplėstinis. Formoje galite naudoti datos parinkiklį ir įvesties šabloną, kad įvestumėte datą su didesniu diapazonu, bet ne nanosekundų trupmeninį tikslumą.
Išraiškos palaikymas Duomenų tipas Data / laikas išplėstinis palaiko SQL agregavimo funkcijas ir išraiškos įvertinimą. Pvz., naudojant LoggedDateTime kaip lauką, kurio duomenų tipas yra Išplėstinis datos / laiko tipas:
Užduotis |
Pavyzdys |
Rezultatas |
---|---|---|
Rasti mažiausią reikšmę |
Min(LoggedDateTime) |
Anksčiausia diapazono data ir laikas |
Išskleisti mėnesį |
Month(LoggedDateTime) |
Mėnesio pavadinimas, pvz., sausis |
Pridėti vieną dieną |
[LoggedDateTime]+1 |
Antradienis taptų trečiadieniu |
Atgalinio suderinamumo aspektai
Duomenų tipas Data / laikas išplėstinis nesuderinamas su ankstesnėmis "Microsoft Access" versijomis. Jei tipas naudojamas vietinėje "Access" lentelėje, "Access" versijos, kuriose nėra funkcijos, negalės atidaryti duomenų bazės.
Galite įjungti arba išjungti duomenų tipą Data / laikas išplėstinis susiejimo ir importavimo operacijoms su dabartinės duomenų bazės prieigos parinktimi Palaikyti susietų / lmported lentelių datos / laiko išplėstinių duomenų tipą. Daugiau informacijos rasite Vartotojo parinkčių dabartinei duomenų bazei nustatymas.
Išplėstinio datos / laiko duomenų tipo naudojimas kaip VBA eilutės
Tolesniuose VBA pavyzdžiuose naudojami DAO metodai norint rodyti, įvesti ir įvertinti duomenų tipą Data / laikas išplėstinis pagal toliau pateiktą lentelę.
ID |
"DTEData" |
"DTData" |
1 |
1/1/2 1:01:03.1234567 AM |
1/1/2001 |
Lentelės pavadinimas: "DTETable
" ID duomenų tipas: "Autonumber DTEData" duomenų tipas: datos / laiko išplėstinio "DTData" duomenų tipas: data / laikasPavyzdys: datos ir laiko rodymas
Toliau pateiktame pavyzdyje rodoma data ir laikas. Naudojamas formatas mm/dd/mmmm hh:mm:ss.nnnnnnn 24 valandų laikrodžiu. Formatas nėra tinkinamas.
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
Rezultatas "Access" ekranai: 01/01/0002 01:01:03.1234567.
Pavyzdys: datos ir laiko įvedimas
Toliau pateiktame pavyzdyje įvedama data ir laikas naudojant eilutės formatą. Palaikomi visi standartiniai datos ir laiko formatai.
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
Rezultatas "Access" įtraukia naują eilutę (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 |
Pavyzdys: užklausos išraiškos vertinimas
Toliau pateiktame pavyzdyje naudojama funkcija Day, kad būtų galima išskleisti dienos numerį iš datos ir laiko laukų.
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
Rezultatas "Access" rodo:
Mėnesio diena yra: 1
Mėnesio diena yra: 1Taip pat žr.
Įvadas į duomenų tipus ir laukų ypatybes