Prošireni 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, veću preciznost u izračunavanju decimalnih vrednosti i kompatibilnost sa datumskim tipom datuma SQL Server datum/vreme2. Kada uvezete ili povežete Access podatke sa sistemom SQL Server, možete dosledno da mapirate polje Access "Datum/vreme prošireno" u SQL Server kolonu "Datum/vreme2". Više informacija potražite u članku datetime2 (Transact-SQL).
Upozorenje Kada kreirate izraze i koristite funkcije datuma/vremena zasnovane na proširenom tipu podataka "Datum/vreme" u programu Access, možete izgubiti preciznost u izračunavanjima ili možete 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 napravite prolazni upit da biste koristili ekvivalentne SQL Server izraze i funkcije datuma/vremena. Više informacija potražite u članku "Poređenje Access SQL sa sistemom SQL Server TSQL.
U ovom članku
Poređenje datuma/vremena i datuma/vremena Prošireni tipovi podataka
Sledeće tabele rezimiraju važne razlike između dva tipa podataka.
| Atribut | Datum/vreme | Datum / vreme je prošireno |
|---|---|---|
| Minimalnu 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 |
| Tačnost | 0,001 sekundi | 1 nanosekunda |
| Veličina | Dvostruka preciznost sa pokretnim zarezom | Šifrovana niska od 42 bajta |
Korišćenje proširenog tipa podataka "Datum/vreme"
Sledeće informacije opisuju važna razmatranja upotrebe.
Table Design View 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 datum/vreme u prošireni tip podataka "Datum/vreme" u prikazu dizajna tabele. Korišćenje ovog tipa podataka kao polja primarnog ključa je takođe podržano. Više informacija potražite u članku Kreiranje tabele i dodavanje polja.
Unos datuma i vremena Unos vrednosti datuma i vremena je sličan tipu podataka Datum/vreme, osim što možete da unesete i razlomljene nanosekunde. Na primer:
- Format prijave: mm/dd/gggg hh:mm:ss.nnnnnnn
- Na primer: 15.06.1215. 09:25:3.234
Ako ima više od 7 razlomljenih nanosekundi, one se zaokružuju na 7 cifara. Da biste kontrolisali prikaz nanosekundi izraženih u razlomcima, otvorite tabelu, na traci izaberite stavku "Polja" i u grupi "Oblikovanje " izaberite stavku "Povećaj broj decimala
" ili "Smanji broj decimala
".
Oblikovanje Prošireni tipovi podataka "Datum/vreme" i "Datum/vreme" koriste slične standardne niske za oblikovanje opšteg datuma, dugačkog oblika datuma, srednjeg oblika datuma, kratkog oblika datuma, dugačkog oblikavremena, srednjeg oblika vremena i kratkog oblika vremena i obe podržavaju prilagođeno oblikovanje. Za prošireni tip podataka "Datum/vreme", standardni formati zasnovani na vremenu takođe podržavaju preciznost razlomka za nanosekunde. Oblikovanje proširenog tipa podataka "Datum/vreme" podrazumevano se koristi na opšti format datuma i dugački format vremena i prati opcije navedene u regionalnim postavkama operativnog sistema Windows. Takođe možete kontrolisati oblikovanje preciznosti razlomka pomoću svojstva Decimal 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, kao što je SQL Server datetime2, ili da uvozite iz njih. Podržane su baze podataka SQL Server verzije 2014 ili novije. Tip podataka Date/Time Extended 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. Podržana je i upotreba OLE DB-a. Više informacija potražite u članku 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 "Prošireni datum/vreme" možete dodati u obrazac ili izveštaj. U obrascu možete da koristite birač datuma i masku unosa da biste uneli datum sa većim opsegom, ali ne i preciznošću za razlomke za nanosekunde.
Podrška za izraze Tip podataka Date/Time Extended podržava SQL agregatne funkcije i procenu izraza. Na primer, ako koristite polje "LoggedDateTime" kao polje sa proširenim tipom podataka "Datum/vreme":
| Zadatak | Primer | Rezultat |
|---|---|---|
| Pronalaženje minimalne vrednosti | Min(LoggedDateTime) | Najraniji datum i vreme u okviru opsega |
| Izdvajanje meseca | Month(LoggedDateTime) | Ime meseca, kao što je januar |
| Dodaj jedan dan | [LoggedDateTime]+1 | Utorak će postati sreda |
Kompatibilnost sa prethodnim verzijama
Tip podataka Date/Time Extended nije kompatibilan sa prethodnim verzijama programa Microsoft Access. Ako se tip koristi u okviru lokalne Access tabele, verzije programa Access koje ne uključuju tu funkciju neće moći da otvore bazu podataka.
Možete da omogućite ili onemogućite tip podataka "Datum/vreme prošireno" za operacije povezivanja i uvoza pomoću opcije " Trenutna baza podataka " podržava prošireni tip podataka "Datum/vreme" za povezane/lmported tabele. Više informacija potražite u članku Postavljanje korisničkih opcija za trenutnu bazu podataka.
Korišćenje tipa podataka Date/Time Extended kao niske u VBA modulu
Sledeći primeri VBA koriste DAO metode za prikazivanje, unos i procenu proširenog tipa podataka "Datum/vreme" na osnovu dolenavedene tabele.
| ID | OMILjENO | OMILjENO |
|---|---|---|
| 1 | 1/1/2 1:01:03.1234567 AM | 1/1/2001 |
Ime tabele: DTETable
ID tip podataka: Automatsko numerisanje
DTEData tip podataka: Datum / vreme je prošireno
DTData tip podataka: Datum/vreme
Primer: Prikazivanje datuma i vremena
Sledeći primer prikazuje datum i vreme. Korišćeni format je mm/dd/yyyy hh:mm:ss.nnnnnnnnn u 24-časovnom satu. Format nije moguće prilagoditi.
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 prikazi: 01/01/0002 01:01:03.1234567.
Primer: Unos datuma i vremena
Sledeći primer unosi datum i vreme pomoću oblikovanja 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 | OMILjENO | OMILjENO |
|---|---|---|
| 1 | 1/1/2 1:01:03.1234567 AM | 1/1/2001 |
| 2 | 1.1.9999 01:01:01.0123000 pre podne | 1/1/2001 |
Primer: Procena izraza upita
Sledeći primer koristi funkciju Day za izdvajanje broja dana iz polja za datum i vreme.
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:
Godina, mesec, radni dan, dan, sat, minut, sekunda, tabela "DateAdd", "DateDiff" i "DatePart".
Pored toga, postoje proširene verzije nekih funkcija koje ne mogu da koriste taj tip argumenta da bi odredile da izračunavanje treba da proizvede proširenu vrednost datuma/vremena. To su:
DateValueExtended, TimeValueExtended, DateSerialExtended, TimeSerialExtended, NowExtended, DateExtended, DateTimeExtended, i TimeExtended.
Te funkcije funkcionišu na isti način kao funkcija bez nastavka "Prošireno" na kraju, ali vraćaju vrednost proširenog datuma/vremena, a ne vrednosti datuma/vremena.
Imajte na umu da VBA nije izmenjen, nove funkcije neće biti prepoznate u VBA kodu i postojeće funkcije neće raditi sa proširenim vrednostima datuma/vremena.
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 proširene kolone "Datum/vreme"; možete jednostavno da postavite svojstvo "Format" za kolonu.
Stoga, ako koristite:
SELECT DateValueExtended([OrderDate]) AS OrderDateOnly_DateValue, Table1.OrderDate
FROM Table1;
I postavite svojstvo Format za drugu kolonu na "Kratki format datuma" i dobićete željene rezultate.
Takođe pogledajte
Uvod u tipove podataka i svojstva polja