Typ údajov Date/Time Extended obsahuje informácie o dátume a čase a podobá sa typu údajov Date/Time, ale poskytuje väčší rozsah dátumov, vyššiu zlomkovú presnosť a kompatibilitu s typom údajov datetime2 SQL Servera. Keď importujete alebo prepájate údaje Accessu na SQL Server môžete konzistentne mapovať pole Accessu Date/Time Extended k stĺpcu datetime2 SQL Servera. Ďalšie informácie nájdete v téme datetime2 (Transact-SQL).
Upozornenie Keď vytvoríte výrazy a použijete funkcie dátumu a času na základe typu údajov Date/Time Extended v Accesse, môžete prísť o presnosť vo výpočtoch alebo naraziť na iné problémy s výsledkami. O tomto probléme vieme a plánujeme lepšiu podporu výrazov a funkcií v nadchádzajúcom vydaní. Ako alternatívne riešenie môžete vytvoriť odovzdávajúci dotaz pomocou ekvivalentného výrazu SQL Servera a funkcií dátumu a času. Ďalšie informácie nájdete v téme Access SQL a SQL Server TSQL – porovnanie.
Obsah tohto článku
Používanie typu údajov Date/Time Extended ako reťazca vo VBA |
Porovnanie typov údajov Date/Time a Date/Time Extended
V nasledujúcich tabuľkách sú uvedené dôležité rozdiely medzi týmito dvomi typmi údajov.
Atribút |
Date/Time |
Date/Time Extended |
---|---|---|
Minimálna hodnota |
100-01-01 00:00:00 |
0001-01-01 00:00:00 |
Maximálna hodnota |
9999-12-31 23:59:59.999 |
9999-12-31 23:59:59.9999999 |
Presnosť |
0,001 sekundy |
1 nanosekunda |
Veľkosť |
Pohyblivá desatinná čiarka s dvojitou presnosťou |
Kódovaný reťazec 42 bajtov |
Používanie typu údajov Date/Time Extended
Nasledujúce informácie popisujú dôležité veci pri používaní.
Návrhové zobrazenie tabuľky Ak chcete využiť väčší rozsah údajov a vyššiu presnosť, môžete pridať pole do tabuľky Accessu. V návrhovom zobrazení tabuľky môžete tiež skonvertovať typ údajov Date/Time na Date/Time Extended. Použitie tohto typu údajov ako poľa hlavného kľúča sa tiež podporuje. Ďalšie informácie nájdete v téme Vytvorenie tabuľky a pridanie polí.
Zadanie dátumu a času Zadávanie hodnôt dátumu a času sa podobá na typ údajov Date/Time s výnimkou toho, že môžete zadať aj zlomkové nanosekundy. Napríklad:
-
Formát položky: mm/dd/rrrr hh:mm:ss.nnnnnnn
-
Príklad: 06/15/1215 09:25:3.234
Ak je zlomkových nanosekúnd viac ako 7, zaokrúhlia sa na 7 číslic. Ak chcete ovládať zobrazenie zlomkových nanosekúnd, otvorte tabuľku, na páse s nástrojmi vyberte položku Polia a v skupine Formátovanie vyberte, či chcete zvýšiť počet desatinných miest , alebo znížiť počet desatinných miest .
Formátovanie Oba typy údajov Date/Time a Date/Time Extended používajú podobné štandardné reťazce formátovania pre všeobecný dátum, dlhý dátum, stredný dátum, krátky dátum, dlhý čas, stredný čas a krátky čas a oba podporujú vlastné formátovanie. V prípade typu údajov Date/Time Extended sa na základe časových štandardných formátov podporuje aj zlomková presnosť nanosekúnd. Formátovanie typu údajov Date/Time Extended je predvolene nastavené na formáty Všeobecný dátum a Dlhý čas a používa možnosti zadané v miestnych nastaveniach Windowsu. Môžete tiež ovládať formátovanie zlomkovej presnosti pomocou vlastnosti Decimal Places a určením počtu číslic napravo od desatinnej čiarky (1 – 7).
Prepojenie a import Môžete ho tiež prepojiť s databázou alebo ho importovať z databázy so zodpovedajúcim typom údajov, ako je napríklad typ údajov datetime2 SQL Servera. Podporuje sa SQL Server verzie 2014 alebo novšie databázy. Typ údajov Date/Time Extended vyžaduje použitie ovládača Microsoft ODBC Driver pre SQL Server 11 alebo novšej verzie. Odporúčame použiť Microsoft ODBC Driver 13.1 pre SQL Server. Podporuje sa aj používanie OLE DB. Ďalšie informácie nájdete v témach Vylepšenia podpory typov údajov pre dátum a čas ODBC a Použitie rozšírených funkcií dátumu a času (OLE DB).
Formuláre a zostavy Typ údajov Date/Time Extended môžete pridať do formulárov alebo zostáv. Vo formulári môžete pomocou výberu dátumu a vstupnej masky zadať dátum s väčším rozsahom, ale bez zlomkovej presnosti nanosekúnd.
Podpora výrazov Typ údajov Date/Time Extended podporuje agregačné funkcie SQL a vyhodnocovanie výrazov. Môžete napríklad použiť LoggedDateTime ako pole s typom údajov Date/Time Extended:
Úloha |
Príklad |
Výsledok |
---|---|---|
Vyhľadanie minimálnej hodnoty |
Min(LoggedDateTime) |
Najskorší dátum a čas v rámci rozsahu |
Extrahovanie mesiaca |
Month(LoggedDateTime) |
Názov mesiaca, napríklad január |
Pridanie 1 dňa |
[LoggedDateTime]+1 |
Utorok by sa stal stredou |
Požiadavky na spätnú kompatibilitu
Typ údajov Date/Time Extended nie je kompatibilný s predchádzajúcimi verziami Microsoft Accessu. Ak sa tento typ používa v lokálnej accessovej tabuľke, verzie Accessu, ktoré túto funkciu neobsahujú, nebudú môcť otvoriť databázu.
Typ údajov Date/Time Extended môžete povoliť alebo zakázať pre operácie prepojenia a importu pomocou možnosti Prístup k aktuálnej databáze, ktorá podporuje typ údajov Date/Time Extended pre prepojené/lmportované tabuľky. Ďalšie informácie nájdete v téme Nastavenie používateľských možností pre aktuálnu databázu.
Používanie typu údajov Date/Time Extended ako reťazca vo VBA
V nasledujúcich príkladoch jazyka VBA sa používajú metódy DAO na zobrazenie, zadanie a vyhodnotenie typu údajov Date/Time Extended na základe tabuľky uvedenej nižšie.
ID |
DTEData |
DTData |
1 |
1/1/2 1:01:03.1234567 AM |
1/1/2001 |
Názov tabuľky: Typ údajov DTETable
ID: Typ údajov Autonumber DTEData: Typ údajov Date/Time Extended DTData: Date/TimePríklad: Zobrazenie dátumu a času
V nasledujúcom príklade sa zobrazuje dátum a čas. Použitý je formát mm/dd/rrrr hh:mm:ss.nnnnnnn v 24-hodinovom režime. Formát nie je možné prispôsobiť.
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
Výsledok Access zobrazí: 01/01/0002 01:01:03.1234567.
Príklad: Zadanie dátumu a času
V nasledujúcom príklade sa zadá dátum a čas pomocou formátu reťazca. Podporované sú všetky štandardné formáty dátumu a času.
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
Výsledok Access pridá nový riadok (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 |
Príklad: Vyhodnotenie výrazu dotazu
V nasledujúcom príklade sa používa funkcia Day na extrahovanie čísla dňa z polí dátumu a času.
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
Výsledok Access zobrazí:
Deň v mesiaci je: 1
Deň v mesiaci je: 1Pozrite tiež
Úvodné informácie o typoch údajov a vlastnostiach polí