Uporaba podatkovnega tipa »Razširjeni datum/čas«

Velja za
Access za Microsoft 365 Access 2024 Access 2021

Podatkovni tip »Date/Time Extended shranjuje podatke o datumu in času« ter je podoben podatkovnemu tipu »Date/Time«, vendar zagotavlja večji časovni obseg, večjo natančnost delkov in združljivost z vrsto datuma »»Datetime« strežnika SQL Server datetime2. Ko uvozite ali povežete Accessove podatke s strežnikom SQL Server, lahko dosledno preslikate polje Accessov datum/čas razširjeno v stolpec SQL Server datetime2. Če želite več informacij, glejte datetime2 (Transact-SQL).

Razširjeni obseg datuma/časa Opozorilo Ko ustvarite izraze in uporabljate funkcije datuma/časa, ki temeljijo na podatkovnem tipu Razširjeno datum/čas v Accessu, lahko izgubite natančnost izračunov ali naletite na druge težave z rezultati. Zavedamo se te težave in načrtujemo boljšo podporo izrazom in funkcijam v prihodnji izdaji. Kot nadomestno rešitev lahko ustvarite posredno poizvedbo za uporabo enakovrednih izrazov SQL Server in funkcij datuma/časa. Če želite več informacij, glejte Primerjava programa Access SQL s strežnikom SQL Server TSQL.

V tem članku

Primerjava razširjenih podatkovnih tipov »Datum/čas« in »Datum/čas« Uporaba podatkovnega tipa »Razširjeni datum/čas« Premisleki o združljivosti za nazaj Uporaba podatkovnega tipa Date/Time Extended kot niza v VBA

Primerjava razširjenih podatkovnih tipov »Datum/čas« in »Datum/čas«

V spodnjih tabelah so povzete pomembne razlike med obema podatkovnima tipoma.

Atribut Datum/čas Podaljšan datum/čas
Najmanjša vrednost 100-01-01 00:00:00 0001-01-01 00:00:00
Največja vrednost 9999-12-31 23:59:59.999 9999-12-31 23:59:59.9999999
Natančnost 0,001 sekunde 1 nanosekunda
Size Dvojna natančnost plavajoča vejica Kodirani niz 42 bajtov

Na vrh strani

Uporaba podatkovnega tipa »Razširjeni datum/čas«

V spodnjih informacijah so opisani pomembni pomisleki glede uporabe.

Pogled načrta tabele Če želite izkoristiti večji obseg podatkov in večjo natančnost, lahko dodate polje v Accessovo tabelo. Podatkovni tip »Datum/čas« lahko pretvorite tudi v podatkovni tip »Datum/ura razširjen« v pogledu načrta tabele. Podprta je tudi uporaba tega podatkovnega tipa kot polja primarnega ključa. Če želite več informacij, glejte Ustvarjanje tabele in dodajanje polj.

Vnos datuma in časa Vnos vrednosti datuma in časa je podoben podatkovnemu tipu Datum/čas, le da lahko vnesete tudi delček nanosekunde. Primer:

  • Oblika vnosa: mm/dd/llllh hh:mm:ss.nnnnnnn
  • Primer: 15.06.1215 09:25:3.234

Če je več kot 7 delnih nanosekund, se zaokrožijo na 7 števk. Če želite nadzorovati prikaz delnih nanosekund, odprite tabelo, na traku izberite Polja in v skupini Oblikovanje izberite Povečaj decimalke ali Zmanjšaj decimalke .

Oblikovanje Podatkovni vrsti »Datum/čas« in »Date/Time Extended uporabljata podobne standardne nize oblikovanja« »Splošni datum«, »Dolgi datum«, »Srednji datum«, »Srednji datum«, »Kratek datum«, »Kratek datum«, »Dolg čas«, »Kratek čas« in »Kratek čas«, oba pa podpirata oblikovanje po meri. Za podatkovni tip Date/Time Extended standardni formati, ki temeljijo na času, podpirajo tudi delno natančnost za nanosekunde. Pri oblikovanju podatkovnega tipa »Date/Time Extended so privzeto oblikovane oblike zapisa » Splošni datum « in »Dolgi čas « ter sledijo možnostim, določenim v področnih nastavitvah sistema Windows. Oblikovanje natančnosti ulomkov lahko nadzirate tudi tako, da z lastnostjo Decimal Places določite število števk desno od decimalne vejice (1–7).

Povezovanje in uvoz Prav tako lahko povežete z zbirkami podatkov z ustreznim podatkovnim tipom, kot je podatkovni tip SQL Server datetime2, ali jih uvozite iz njih. Podprte so zbirke podatkov SQL Server različice 2014 ali novejše. Podatkovni tip »Date/Time Extended »Date/Time« zahteva uporabo gonilnika Microsoft ODBC za SQL Server 11 ali novejšo različico. Priporočamo uporabo gonilnika Microsoft ODBC 13.1 za SQL Server. Podprta je tudi uporaba OLE DB. Če želite več informacij, glejte Podpora za podatkovne tipe za izboljšave datuma in časa ODBC in Uporaba izboljšanih funkcij datuma in časa (OLE DB).

Obrazci in poročila Podatkovni tip »Razširjeni datum/čas« lahko dodate v obrazec ali poročilo. V obrazcu lahko uporabite izbirnik datuma in vnosno masko, da vnesete datum z večjim obsegom, ne pa tudi z delno natančnostjo za nanosekunde.

Podpora za izraze Podatkovni tip »Date/Time Extended (Razširjeni datum/čas) podpira združevalne funkcije SQL in vrednotenje izrazov. Če na primer uporabite »LoggedDateTime« kot polje s podatkovnim tipom »Date/Time Extended «:

Opravilo Primer Rezultat
Iskanje najmanjše vrednosti Min(zabeleženDatumČas) Najzgodnejši datum in čas v obsegu
Izvlecite mesec Month(LoggedDateTime) Ime meseca, na primer januar
Dodaj en dan [DnevnikDatumČas]+1 Torek bi postal sreda

Na vrh strani

Pomisleki glede združljivosti s starejšimi različicami

Podatkovni tip »Date/Time Extended »Date/Time« ni združljiv s prejšnjimi različicami Microsoft Accessa. Če je vrsta uporabljena v lokalni Accessovi tabeli, različice Accessa, ki ne vključujejo te funkcije, ne bodo mogle odpreti zbirke podatkov.

Podatkovni tip »Date/Time Extended »Date/Time« za postopke povezovanja in uvoza lahko omogočite ali onemogočite z možnostjo »Trenutni dostop do zbirke podatkov « Podpora »Date/Time« Extended Data Type (Razširjeni datum/čas) za postopke povezovanja/uvoza podatkov. Če želite več informacij, glejte Nastavljanje možnosti uporabnika za trenutno zbirko podatkov.

Na vrh strani

Uporaba podatkovnega tipa Date/Time Extended kot niza v VBA

Naslednji primeri VBA uporabljajo metode DAO za prikaz, vnos in ovrednotenje podatkovnega tipa Date/Time Extended na podlagi spodnje tabele.

ID DTEData DTData
1 1/1/2 1:01:03.1234567 AM 1/1/2001

Ime tabele: DTETable
Podatkovni tip ID: Samodejno oštevilčenje
Podatkovni tip DTEData: Podaljšan datum/čas
Podatkovni tip DTData: Datum/čas

Primer: Prikaz datuma in časa

V tem primeru sta prikazana datum in čas. Uporabljena oblika je mm/dd/llll, hh:mm:ss.nnnnnnn v 24-urni uri. Oblike zapisa ni mogoč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 Dostopni zasloni: 01/01/0002 01:01:03.1234567.

Primer: Vnos datuma in časa

V tem primeru vnesete datum in uro z obliko niza. Podprte so vse standardne oblike zapisa datuma in časa.


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 doda novo vrstico (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

Primer: Vrednotenje izraza poizvedbe

V spodnjem primeru je uporabljena funkcija Dan za ekstrahiranje številke dneva iz polj datuma in časa.


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 Accessovi prikazi:

Dan v mesecu je: 1
Dan v mesecu je: 1

Funkcije, ki delujejo z razširjenim datumom/časom v izrazih poizvedbe

Te funkcije delujejo z razširjenim datumom/časom v izrazih poizvedbe:
​​​​​​​
Leto, mesec, delovni dan, dan, ura, minuta, sekunda, DateAdd, DateDiff in DatePart.

Poleg tega obstajajo razširjene različice nekaterih funkcij, ki ne morejo uporabiti vrste argumenta, da bi določile, ali naj izračun ustvari razširjeno vrednost datuma/časa. To so:

DateValueExtended, TimeValueExtended, DateSerialExtended, TimeSerialExtended, NowExtended, DateExtended, DateTimeExtended in TimeExtended.

Te funkcije delujejo na enak način kot funkcija brez možnosti »Razširjeno« na koncu, vendar vrnejo razširjeno vrednost »Date/Time« namesto vrednosti »Date/Time«.

Upoštevajte, da VBA ni bila spremenjena, nove funkcije ne bodo prepoznane v kodi VBA in obstoječe funkcije ne bodo delovale z razširjenimi vrednostmi datuma in časa.

Primer

Izvirna poizvedba:


Select DateValue([OrderDate]) AS OrderDateOnly_DateValue

, Format([OrderDate],"Short Date") AS OrderDateOnly_Format

From tblOrders

Zdaj spremenite DateValue([OrderDate]) v DateValueExtended([OrderDate]), kar bo popravilo prvi izraz.

Upoštevajte, da Access ne obravnava funkcije »Oblika« za stolpce »Date/Time Extended «. lahko preprosto nastavite lastnost Oblika za stolpec.

Torej, če uporabljate:


SELECT DateValueExtended([OrderDate]) AS OrderDateOnly_DateValue, Table1.OrderDate

FROM Table1;

In nastavite lastnost Oblika za drugi stolpec na »Kratek datum«, dobili boste želene rezultate.

Na vrh strani

Glejte tudi

Uvod v podatkovne tipe in lastnosti polj

Oblikovanje polja z datumom in uro

Ustvarjanje ali brisanje polja z datumom in uro