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

Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021

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).

Datum/vreme Prošireni opseg 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 Korišćenje proširenog tipa podataka "Datum/vreme" Kompatibilnost sa prethodnim verzijama Korišćenje tipa podataka Date/Time Extended kao niske u VBA modulu

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

Vrh stranice

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

Vrh stranice

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.

Vrh stranice

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.

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