Applies ToAccess pro Microsoft 365 Access 2024 Access 2021

Datový typ Rozšířené datum a čas ukládá informace o datu a času a je podobný datovému typu Datum a čas, ale nabízí větší rozsah kalendářních dat, vyšší desetinnou přesnost a kompatibilitu s datovým typem datetime2 SQL Serveru. Po importu nebo propojení dat z Accessu se SQL Serverem můžete konzistentně namapovat pole Rozšířené datum a čas v Accessu na sloupec datetime2 SQL Serveru. Další informace najdete v článku datetime2 (Transact-SQL).

Rozsah rozšířeného data a času

Upozornění    Když vytváříte výrazy a používáte funkce data a času založené na datovém typu Rozšířené datum a čas v Accessu, můžete přijít o přesnost ve výpočtech nebo může dojít k jiným problémům s výpočty. O tomto problému víme a v nadcházející verzi plánujeme vylepšit podporu výrazů a funkcí. Tento problém můžete obejít tak, že vytvoříte předávací dotaz, aby bylo možné použít odpovídající výraz a funkce data a času SQL Serveru. Další informace najdete v článku Porovnání Accessového SQL s SQL Serverem TSQL.

V tomto článku

Porovnání datových typů Datum a čas a Rozšířené datum a čas

Používání datového typu Rozšířené datum a čas

Aspekty zpětné kompatibility

Používání datového typu Rozšířené datum a čas jako řetězce ve VBA

Porovnání datových typů Datum a čas a Rozšířené datum a čas

V následující tabulce najdete souhrn důležitých rozdílů mezi těmito dvěma datovými typy.

Atribut

Datum a čas

Rozšířené datum a čas

Minimální hodnota

100-01-01 00:00:00

0001-01-01 00:00:00

Maximální hodnota

9999-12-31 23:59:59,999

9999-12-31 23:59:59,9999999

Přesnost

0,001 sekundy

1 nanosekunda

Velikost

Číslo s plovoucí desetinnou čárkou s dvojitou přesností

Kódovaný řetězec 42 bajtů

Začátek stránky

Používání datového typu Rozšířené datum a čas

Následující informace popisují důležité aspekty používání.

Návrhové zobrazení tabulky    Abyste mohli využít větší rozsah dat a vyšší přesnost, můžete přidat pole do tabulky Accessu. Můžete také převést datový typ Datum a čas na Rozšířené datum a čas v návrhovém zobrazení tabulky. Tento datový typ také můžete použít jako pole primárního klíče. Další informace najdete v článku Vytvoření tabulky a přidání polí.

Zadání data a času   Zadávání hodnot data a času je podobné jako u datového typu Datum a čas s výjimkou toho, že můžete v desetinné části uvést nanosekundy. Příklad:

  • Formát zadávání: dd/mm/rrrr hh: mm:ss,nnnnnnn

  • Příklad: 15/06/1215 09:25:3,234

Pokud počet desetinných míst u nanosekund přesahuje 7, zaokrouhlí se na 7 číslic. Pokud chcete nastavit zobrazení desetinných míst u nanosekund, otevřete tabulku, na pásu karet vyberte Pole a ve skupině Formátování vyberte Zvýšit počet desetinných míst Vzhled tlačítka nebo Snížit počet desetinných míst Obrázek tlačítka.

Formátování    Datové typy Datum a čas a Rozšířené datum a čas používají stejné standardní formátovací řetězce Datum (obecné), Datum (dlouhé), Datum (střední), Datum (krátké), Čas (dlouhý), Čas (střední) a Čas (krátký). Oba typy podporují vlastní formátování. U datového typu Rozšířené datum a čas standardní formáty založené na čase také podporují desetinnou přesnost pro nanosekundy. Při formátování datového typu Rozšířené datum a čas se ve výchozím nastavení používají formáty Datum (obecné) a Čas (dlouhý) a také možnosti zadané v místním nastavení Windows. Můžete také nastavit formátování desetinné přesnosti pomocí vlastnosti Počet desetinných míst, která umožňuje zadat počet číslic napravo od desetinné čárky (1–7).

Propojení a import     Můžete také propojit databáze s odpovídajícím datovým typem, jako je datový typ datetime2 SQL Serveru, nebo z těchto databází provést import. Podporují se databáze SQL Serveru verze 2014 nebo novější. Datový typ Rozšířené datum a čas vyžaduje používání ovladače Microsoft ODBC pro SQL Server 11 nebo novější. Doporučujeme používat ovladač Microsoft ODBC 13.1 pro SQL Server. Podporuje se také technologie OLE DB. Další informace najdete v článku o podpoře datového typu pro zlepšení data a času ODBC a o vylepšených funkcích data a času (OLE DB).

Formuláře a sestavy     Do formuláře nebo sestavy můžete přidat datový typ Rozšířené datum a čas. Ve formuláři můžete použít výběr data a vstupní masku k zadání data s větším rozsahem, ale není možné použít desetinnou přesnost pro nanosekundy.

Podpora výrazů   Datový typ Rozšířené datum a čas podporuje agregační funkce SQL a vyhodnocování výrazů. Například použití LoggedDateTime jako pole s datovým typem Rozšířené datum a čas:

Úloha

Příklad

Výsledek

Vyhledání minimální hodnoty

Min(LoggedDateTime)

Nejdřívější datum a čas v rozsahu

Extrahování měsíce

Month(LoggedDateTime)

Název měsíce, například leden

Přidání jednoho dne

[LoggedDateTime]+1

Úterý se změní na středu.

Začátek stránky

Důležité informace o zpětné kompatibilitě

Datový typ Rozšířené datum a čas není kompatibilní s předchozími verzemi Microsoft Accessu. Pokud se typ používá v místní tabulce Accessu, verze Accessu, které tuto funkci neobsahují, nebudou moct databázi otevřít.

Můžete povolit nebo zakázat datový typ Rozšířené datum a čas pro operace propojení a importu s možností aktuálního přístupu k databáziPodpora rozšířeného datového typu datum a čas pro propojené nebo propojené tabulky. Další informace najdete v článku Nastavení možností uživatele pro aktuální databázi.

Začátek stránky

Používání datového typu Rozšířené datum a čas jako řetězce ve VBA

V následujících příkladech jazyka VBA se používají metody DAO, které slouží k zobrazení, zadání a vyhodnocení datového typu Rozšířené datum a čas podle následující tabulky.

ID

DTEData

DTData

1

1/1/2 1:01:03,1234567

1/1/2001

Název tabulky:    DTETableDatový typ ID:    AutonumberDatový typ DTEData:    Rozšířené datum a časDatový typ DTData:    Datum a čas

Příklad: Zobrazení data a času

V následujícím příkladu se zobrazuje datum a čas. Používá se dd/mm/yyyy hh:mm:ss,nnnnnnn ve 24hodinovém formátu. Tento formát se nedá přizpůsobit.

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ýsledek    Access zobrazuje: 01/01/0002 01:01:03,1234567.

Příklad: Zadání data a času

V následujícím příkladu se k zadání data a času používá řetězcový formát. Podporují se všechny standardní formáty data 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ýsledek    Access přidá nový řádek (ID = 2):

ID

DTEData

DTData

1

1/1/2 1:01:03,1234567

1/1/2001

2

1/1/9999 1:01:01,0123000

1/1/2001

Příklad: Vyhodnocení výrazu dotazu

V následujícím příkladu se funkce Day použije k extrahování čísla dne z polí data 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ýsledek    Access zobrazuje:

Den v měsíci: 1 Den v měsíci: 1

Začátek stránky

Viz také

Úvod k datovým typům a vlastnostem pole

Formátování pole data a času

Vytvoření nebo odstranění pole data a času

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.