Korišćenje tipa podataka "Datum/vreme prošireno"

Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021

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 o proširenom opsegu datuma/vremena Kada kreirate izraze i koristite funkcije datuma/vremena 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" Korišćenje tipa podataka "Datum/vreme prošireno" Kompatibilnost sa prethodnim verzijama Korišćenje tipa podataka "Datum/vreme" kao niske u VBA

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

Vrh stranice

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 sliku dugmeta za decimale ili Smanji dugme za decimale.

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

Vrh stranice

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.

Vrh stranice

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: DTE tabela
ID tip podataka: Automatsko numerisanje
Tip podataka DTEData: Datum/vreme prošireno
Tip podataka 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.

Vrh stranice

Takođe pogledajte

Uvod u tipove podataka i svojstva polja

Oblikovanje polja za datum i vreme

Kreiranje ili brisanje polja za datum i vreme