Tip podataka "Datum/vreme" skladišti informacije o datumu i vremenu i sličan je tipu podataka "Datum/vreme", ali pruža veći opseg datuma, višu razlomku i kompatibilnost sa tipom datuma SQL Server datuma2. Kada uvezete ili povežete Access podatke sa SQL Server, možete dosledno da mapirate Access polje Datum/vreme prošireno u kolonu SQL Server datum/vreme2. Više informacija potražite u članku datum/vreme2 (Transact-SQL).
Upozorenje Kada kreirate izraze i koristite funkcije datum/vreme na osnovu tipa podataka "Datum/vreme" u programu Access, možete izgubiti preciznost u izračunavanjima ili naići na druge probleme sa rezultatima. Svesni smo ovog problema i planiramo da bolje podržimo izraze i funkcije u predstojećem izdanju. Kao zaobilazno rešenje, možete da kreirate prolazni upit da biste koristili jednake SQL Server izraza i funkcije datuma/vremena. Više informacija potražite u članku Poređenje Access SQL-a sa SQL Server TSQL.
U ovom članku
Poređenje tipova podataka "Datum/vreme" i "Datum/vreme"
Sledeće tabele rezimira važne razlike između ova dva tipa podataka.
|
Atribut |
Datum/vreme |
Datum/vreme prošireno |
|---|---|---|
|
Minimalna vrednost |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
|
Maksimalna vrednost |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
|
Preciznost |
0,001 sekundi |
1 nanosekud |
|
Veličina |
Plutajuća tačka dvostruke preciznosti |
Kodirana niska od 42 bajta |
Korišćenje tipa podataka "Datum/vreme prošireno"
Sledeće informacije opisuju važna razmatranja korišćenja.
Prikaz dizajna tabele Da biste iskoristili veći opseg podataka i veću preciznost, možete da dodate polje u Access tabelu. Takođe možete da konvertujete tip podataka "Datum/vreme" u tip podataka "Datum/vreme" u prikazu dizajna tabele. Podržana je i upotreba ovog tipa podataka kao polja primarnog ključa. Više informacija potražite u članku Kreiranje tabele i dodavanje polja.
Unos datuma i vremena Unos vrednosti datuma i vremena sličan je tipu podataka "Datum/vreme", osim što možete da unesete i nanosekud razlomka. Na primer:
-
Format unosa: mm/dd/yyyy hh:mm:ss.nnnnnnn
-
Primer: 06/15/1215 09:25:3.234
Ako ima više od 7 razlomljenih nanosekdija, oni se zaokružuju na 7 cifara. Da biste kontrolisali prikaz nanosekuna razlomka, otvorite tabelu, na traci izaberite stavku Polja, a zatim u grupi Oblikovanje izaberite stavku Povećaj broj decimala
Oblikovanje Tipovi podataka "Datum/vreme" i "Datum/vreme" koriste slične standardne niske za oblikovanje opšteg datuma, dugog datuma, srednjeg datuma, kratkog oblika datuma, dugačkog vremena, srednjeg vremena i kratkog vremena i podržavaju prilagođeno oblikovanje. Za tip podataka "Datum/vreme" prošireni formati podataka, standardni formati zasnovani na vremenu takođe podržavaju razlomnu preciznost za nanosekude. Oblikovanje tipa podataka "Datum/vreme" podrazumevano je podrazumevano na opšte formate datuma i dugog vremena i prati opcije navedene u regionalnim postavkama operativnog sistema Windows. Oblikovanje preciznosti razlomka možete da kontrolišete i pomoću svojstva Decimalni Places da biste naveli broj cifara sa desne strane decimalnog zareza (1-7).
Povezivanje i uvoz Takođe možete da se povežete sa bazama podataka sa odgovarajućim tipom podataka ili da ih uvezete iz SQL Server datuma i vremena2. SQL Server verzije 2014 ili novije baze podataka su podržane. Tip podataka "Datum/vreme" zahteva upotrebu Microsoft ODBC upravljačkog programa za SQL Server 11 ili noviju verziju. Preporučujemo da koristite Microsoft ODBC upravljački program 13.1 za SQL Server. Korišćenje OLE DB-a je takođe podržano. Više informacija potražite u člancima Podrška za tip podataka za poboljšanja ODBC datuma i vremena i Korišćenje poboljšanih funkcija datuma i vremena (OLE DB).
Obrasci i izveštaji Tip podataka "Datum/vreme" možete dodati obrascu ili izveštaju. U obrascu možete da koristite birač datuma i masku unosa da biste uneli datum sa većim opsegom, ali ne i razlomka za nanosekunde.
Podrška za izraze Tip podataka "Datum/vreme" podržava SQL agregatne funkcije i procenu izraza. Na primer, korišćenje svojstva LoggedDateTime kao polja sa proširenim tipom podataka "Datum/vreme":
|
Zadatak |
Primer |
Rezultat |
|---|---|---|
|
Pronađi minimalnu vrednost |
Min(Vreme evidentiranja) |
Najraniji datum i vreme unutar opsega |
|
Izdvajanje meseca |
Month(EvidentggedDateTime) |
Ime meseca, kao što je januar |
|
Dodavanje jednog dana |
[Vreme evidentiranja]+1 |
Utorak će postati sreda |
Kompatibilnost sa prethodnim verzijama
Tip podataka "Datum/vreme" nije kompatibilan sa prethodnim verzijama programa Microsoft Access. Ako se tip koristi u okviru lokalne Access tabele, verzije programa Access koje ne sadrže ovu funkciju neće moći da otvore bazu podataka.
Možete da omogućite ili onemogućite prošireni tip podataka "Datum/vreme" za operacije povezivanja i uvoza sa opcijom trenutnog pristupa bazi podataka Podržava tip podataka "Datum/vreme" proširenog tipa podataka za povezane/lmported tabele. Više informacija potražite u članku Postavljanje korisničkih opcija za trenutnu bazu podataka.
Korišćenje tipa podataka "Datum/vreme" kao niske u VBA
Sledeći VBA primeri koriste DAO metode za prikazivanje, unos i procenu tipa podataka "Datum/vreme" na osnovu dolenavedene tabele.
|
ID |
DTEData |
DTData |
|
1 |
1/1/2 1:01:03.1234567 PRE PODNE |
1/1/2001 |
Ime tabele: Tip podataka DTETableID- a: tip podataka "Automatsko numerisanjeDTEData": Tip podataka "Datum/vremeprošireni DTData": Datum/vreme
Primer: prikazivanje datuma i vremena
Sledeći primer prikazuje datum i vreme. Korišćeni format je mm/dd/yyyy hh:mm:ss.nnnnnnn u 24-časovnom časovniku. Format nije prilagodljiv.
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
Rezultat Access prikazuje: 01/01/0002 01:01:03.1234567.
Primer: Unos datuma i vremena
Sledeći primer unosi datum i vreme pomoću formata niske. Podržani su svi standardni formati datuma i vremena.
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
Rezultat Access dodaje novi red (ID = 2):
|
ID |
DTEData |
DTData |
|
1 |
1/1/2 1:01:03.1234567 PRE PODNE |
1/1/2001 |
|
2 |
1/1/9999 1:01:01.0123000 PRE PODNE |
1/1/2001 |
Primer: procena izraza upita
Sledeći primer koristi funkciju Day za izdvajanje broja dana iz polja datuma i vremena.
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
Rezultat Access prikazuje:
Dan u mesecu je: 1 Dan u mesecu je: 1
Funkcije koje rade sa proširenim datumom/vremenom u izrazima upita
Sledeće funkcije rade sa proširenim datumom/vremenom u izrazima upita: Year, Month, Weekday, Day, Hour, Minute, Second, DateAdd, DateDiff i DatePart.
Pored toga, postoje proširene verzije nekih funkcija koje ne mogu da koriste tip argumenta da bi se utvrdilo da izračunavanje treba dati proširenu vrednost datuma/vremena. Ovo su:
DateValueExtended, TimeValueExtended, DateSerialExtended, TimeSerialExtended, NowExtended, DateExtended, DateTimeExtended i TimeExtended.
Ove funkcije rade na isti način kao funkcija bez opcije "Prošireno" na kraju, ali vraćaju vrednost "Datum/vreme" koja je proširena, a ne vrednost "Datum/vreme".
Imajte na umu da VBA nije izmenjen, da nove funkcije neće biti prepoznate u VBA kodu i da postojeće funkcije neće raditi sa proširenim vrednostima datum/vreme.
Primer
Originalni upit:
Select DateValue([OrderDate]) AS OrderDateOnly_DateValue
, Format([OrderDate],"Short Date") AS OrderDateOnly_Format
From tblOrders
Sada promenite DateValue([DatumPorudžbine]) u DateValueExtended([DatumPorudžbine]), što će popraviti prvi izraz.
Imajte na umu da Access ne rukuje funkcijom Format za kolone sa proširenim datumom/vremenom; možete jednostavno da podesite svojstvo Format za kolonu.
Stoga, ako koristite:
SELECT DateValueExtended([OrderDate]) AS OrderDateOnly_DateValue, Table1.OrderDate
FROM Table1;
A svojstvo Format za drugu kolonu postavite na "Kratki oblik datuma", dobijate željene rezultate.
Takođe pogledajte
Uvod u tipove podataka i svojstva polja