Applies ToAccess dla Microsoft 365 Access 2024 Access 2021

Typ danych rozszerzonej daty/godziny przechowuje informacje o dacie i godzinie i jest podobny do typu danych data/godzina, ale oferuje większy zakres daty, większą precyzję ułamkową, a także zgodność z typem danych datetime2 programu SQL Server. Po zaimportowaniu lub połączeniu danych programu Access z programem SQL Server możesz regularnie mapować pole Rozszerzona data/godzina w programie Access do kolumny typu danych datetime2 programu SQL Server. Aby uzyskać więcej informacji, zobacz datetime2 (Transact-SQL).

Zakres rozszerzonej daty/godziny

Ostrzeżenie    W przypadku tworzenia wyrażeń i używania funkcji daty/godziny na podstawie typu danych rozszerzonej daty/godziny w programie Access, możesz utracić precyzję obliczeń lub możesz napotkać inne problemy dotyczącymi uzyskiwanych wyników. Wiemy o tym problemie i planujemy zapewnić lepsze wsparcie dla wyrażeń i funkcji w najbliższej wersji. Aby obejść ten problem, możesz utworzyć zapytanie przekazujące w celu użycia równoważnego wyrażenia programu SQL Server oraz funkcji daty/godziny. Aby uzyskać więcej informacji, zobacz Porównanie języka SQL programu Access z językiem TSQL programu SQL Server.

W tym artykule

Porównywanie typów danych daty/godziny oraz rozszerzonej daty/godziny

Używanie typu danych rozszerzonej daty/godziny

Zagadnienia dotyczące zgodności z poprzednimi wersjami

Używanie typu danych rozszerzonej daty/godziny jako ciągu znaków w VBA

Porównywanie typów danych daty/godziny oraz rozszerzonej daty/godziny

W poniższej tabeli zestawiono istotne różnice między tymi dwoma typami danych.

Atrybut

Data/godzina

Rozszerzona data i godzina

Wartość minimalna

100-01-01 00:00:00

0001-01-01 00:00:00

Wartość maksymalna

9999-12-31 23:59:59.999

9999-12-31 23:59:59.9999999

Dokładność

0,001 sekundy

1 nanosekunda

Rozmiar

Wartość zmiennoprzecinkowa o podwójnej precyzji

Zakodowany ciąg o długości równej 42 bajty

Początek strony

Używanie typu danych rozszerzonej daty/godziny

Poniższe informacje opisują istotne zagadnienia dotyczące użycia.

Widok Projekt tabeli    Aby uzyskać korzyść ze stosowania większego zakresu danych oraz większej precyzji, możesz dodać odpowiednie pole do tabeli programu Access. Możesz również przekonwertować typ danych data/godzina na typ danych rozszerzonej daty/godziny w widoku Projekt tabeli. Używanie tego typu danych jako pola klucza podstawowego jest także obsługiwane. Aby uzyskać więcej informacji, zobacz Tworzenie tabeli i dodawanie pól.

Wprowadzanie daty i godziny   Wprowadzanie wartości daty i godziny jest podobne do wprowadzania typu danych data/godzina, z wyjątkiem tego, że możesz również wprowadzić ułamki nanosekundy. Na przykład:

  • Format wpisu: mm/dd/rrrr gg:mm:ss.nnnnnnn

  • Przykład: 06/15/1215 09:25:3.234

Jeśli istnieje więcej niż 7 ułamków nanosekundy, są one zaokrąglone do postaci siedmiocyfrowej. Aby kontrolować wyświetlanie ułamków nanosekundy, otwórz pozycję Tabela na wstążce, wybierz pozycję Pola, a następnie w grupie Formatowanie zaznacz pole wyboru Zwiększ liczbę miejsc po przecinku Button image lub Zmniejsz liczbę miejsc po przecinku Obraz przycisku.

Formatowanie    Oba typy danych, data/godzina oraz rozszerzona data/godzina, używają identycznych ciągów standardowego formatowania Daty ogólnej, Daty długiej, Daty średniej, Daty krótkiej, Godziny długiej, Godziny średniej oraz Godziny krótkiej i oba te typy obsługują formatowania niestandardowe. W przypadku rozszerzonego typu danych daty/godziny standardowe formaty oparte na czasie również obsługują precyzję ułamkową dla nanosekund. Formatowanie typu danych rozszerzonej daty/godziny to domyślne formaty Daty ogólnej oraz Godziny długiej, a także formatowanie to jest zgodne z opcjami wymienionymi w obszarze Ustawienia regionalne systemu Windows. Możesz również kontrolować formatowanie precyzji ułamkowej przy użyciu właściwości Miejsca dziesiętne w celu określenia liczby cyfr po prawej stronie separatora dziesiętnego (1-7).

Połączenia i importowanie     Można również tworzyć połączenia z bazami danych zawierającymi odpowiedni typ danych, na przykład typ danych datetime2 programu SQL Server, oraz importować dane z takich baz. Obsługiwane są bazy danych programu SQL Server w wersji 2014 lub nowszej. Typ danych rozszerzonej datay/godziny wymaga użycia sterownika ODBC firmy Microsoft dla programu SQL Server 11 lub nowszego. Zalecamy używanie sterownika ODBC 13.1 firmy Microsoft dla programu SQL Server. Obsługiwane jest również korzystanie z bazy danych OLE. Aby uzyskać więcej informacji, zobacz Obsługa typu danych w celu ulepszenia daty i godziny ODBC i Używanie funkcji rozszerzonej daty i godziny (OLE DB).

Formularze i raporty    Do formularzy i raportów możesz dodać typ danych rozszerzonej daty/godziny. W formularzu możesz używać selektora daty i maski wprowadzania, aby wprowadzać datę w większym zakresie — nie dotyczy to jednak precyzji ułamkowej dla nanosekund.

Obsługa wyrażeń   Typ danych rozszerzonej daty/godziny obsługuje Funkcje agregujące w języku SQL oraz ocenę wyrażeń. Przykładowo, używanie LoggedDateTime jako pola z typem danych rozszerzonej daty/godziny:

Zadanie

Przykład

Wynik

Znajdowanie wartości minimalnej

Min(LoggedDateTime)

Najwcześniejsza data i godzina objęta zakresem

Wyodrębnianie miesiąca

Month(LoggedDateTime)

Nazwa miesiąca, na przykład styczeń

Dodawanie jednego dnia

[LoggedDateTime]+1

Wtorek zmieniłby się na środę

Początek strony

Uwagi dotyczące zgodności z poprzednimi wersjami

Typ danych rozszerzonej daty/godziny nie jest zgodny z poprzednimi wersjami programu Microsoft Access. Jeśli typ jest używany w lokalnej tabeli programu Access, wersje programu Access, które nie zawierają tej funkcji, nie będą mogły otworzyć bazy danych.

Typ danych Rozszerzona data/godzina można włączyć lub wyłączyć na potrzeby operacji łączenia i importowania za pomocą opcji Bieżący dostęp do bazy danychObsługuj rozszerzony typ danych data/godzina dla tabel połączonych/lmportowanych. Aby uzyskać więcej informacji, zobacz Ustawianie opcji użytkownika dla bieżącej bazy danych.

Początek strony

Używanie typu danych rozszerzonej daty/godziny jako ciągu znaków w VBA

W poniższych przykładach języka VBA są używane metody obiektu DAO w celu wyświetlania, wprowadzania i oceniania typu danych rozszerzonej daty/godziny na podstawie tabeli przedstawionej poniższej.

ID

DTEData

DTData

1

1/1/2 1:01:03.1234567

1/1/2001

Nazwa tabeli:    DTETableTyp danych ID:    AutonumberTyp danych DTEData:    Rozszerzona data/godzinaTyp danych DTData:    Data/godzina

Przykład: Wyświetlanie daty i godziny

Poniższy przykład wyświetla datę i godzinę. Używanym formatem jest mm/dd/rrrr gg:mm:ss.nnnnnnn w systemie 24-godzinnym. Formatu nie można dostosowywać.

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

Wynik    Program Access wyświetla : 01/01/0002 01:01:03.1234567.

Przykład: Wprowadzanie daty i godziny

Poniższy przykład zapewnia wprowadzenie daty i godziny przy użyciu formatu ciągu znaków. Obsługiwane są wszystkie standardowe formaty daty i godziny.

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

Wynik    Program Access dodaje nowy wiersz (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

Przykład: Ocenianie wyrażenia zapytania

W poniższym przykładzie jest używana Funkcja Day, aby wyodrębnić numer dnia z pól daty i godziny.

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

Wynik    Program Access wyświetla :

Dniem miesiąca jest: 1 Dniem miesiąca jest: 1

Początek strony

Zobacz też

Wprowadzenie do typów danych i właściwości pól

Formatowanie pola daty i godziny

Tworzenie lub usuwanie pola daty i godziny

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.