Applies ToAccess для Microsoft 365 Access 2024 Access 2021

Тип данных Date/Time Extended предназначен для хранения информации о дате и времени, он аналогичен типу данных Date/Time, но обеспечивает более широкий диапазон дат, более высокую точность дробных значений, а также совместимость с типом дат datetime2 SQL Server. При импорте или связывании данных Access с SQL Server можно непосредственно размещать данные из поля Date/Time Extended в Access в столбце datetime2 в SQL Server. Дополнительные сведения см. в datetime2 (Transact-SQL).

Диапазон типа данных "Дата и время (расширенный)"

Предупреждение    При создании выражений и использовании функций date/time на основе типа данных Date/Time Extended в Access возможна потеря точности вычислений или возникновение других проблем с результатами. Нам известна эта проблема, и мы планируем улучшить поддержку выражений и функций в предстоящем выпуске. В качестве временного решения проблемы можно создать запрос к внешнему источнику для использования эквивалентного выражения и функций date/time SQL Server. Дополнительные сведения см. в статье Сравнение языков Access SQL и SQL Server TSQL.

В этой статье

Сравнение типов данных Date/Time и Date/Time Extended

Использование типа данных "Дата и время (расширенный)"

Рекомендации по обратной совместимости

Использование типа данных Date/Time Extended в качестве строки в VBA

Сравнение типов данных Date/Time и Date/Time Extended

В нижеприведенных таблицах перечислены важные различия между двумя типами данных.

Атрибут

Date/Time

Date/Time Extended

Минимальное значение

100-01-01 00:00:00

0001-01-01 00:00:00

Максимальное значение

9999-12-31 23:59:59.999

9999-12-31 23:59:59.9999999

Точность

0,001 секунды

1 наносекунда

Размер

Двойная точность числа с плавающей запятой

Строка кодировки из 42 байтов

К началу страницы

Использование типа данных Date/Time Extended

Ниже приведены важные практические рекомендации.

Режим конструктора таблиц    Чтобы использовать преимущества большего диапазона данных и их более высокой точности, можно добавить поле в таблицу Access. Кроме того, вы можете преобразовать тип данных Date/Time в Date/Time Extended в режиме конструктора таблиц. Поле этого типа данных также можно использовать в качестве поля первичного ключа. Дополнительные сведения см. в статье Создание таблицы и добавление полей.

Ввод даты и времени   Ввод значений даты и времени производится так же, как в типе данных Date/Time, за исключением того, что дробную часть теперь можно ввести в наносекундах. Например:

  • Формат записи: дд/мм/гггг чч:мм:сс,ннннннн

  • Пример: 15/06/1215 09:25:3,234

Если количество десятичных разрядов в долях секунды превышает 7, число округляется до 7 разрядов. Чтобы изменить формат отображения дробной части, откройте таблицу, на ленте выберите Поля, а затем в группе Форматирование выберите Увеличить разрядность Значок кнопки или Уменьшить разрядность Изображение кнопки.

Форматирование    Типы данных Date/Time и Date/Time Extended используют одинаковые стандартные строки форматирования: Общий формат даты, Длинный формат даты, Средний формат даты, Короткий формат датыДлинный формат времени, Средний формат времении Короткий формат времени. Оба типа данных поддерживают пользовательское форматирование. Для типа данных Date/Time Extended стандартные форматы, основанные на времени, также поддерживают точность дробных значений в наносекундах. При форматировании типа данных Date/Time Extended по умолчанию используются Общий формат даты и Длинный формат времени, а также параметры, заданные в Региональных параметрах Windows. Кроме того, можно управлять форматированием округления с помощью параметра Разрядность, указав количество цифр справа от десятичной запятой (1–7).

Связывание и импорт     Кроме того, можно создать связь с данными или импортировать их из баз данных, содержащих соответствующий тип данных, например тип данных datetime2 в SQL Server. Поддерживаются базы данных SQL Server версии 2014 и более поздних версий. Для типа данных Date/Time Extended необходимо использовать драйвер Microsoft ODBC for SQL Server 11 или более поздней версии. Рекомендуем использовать Microsoft ODBC Driver 13.1 для SQL Server. Также поддерживается использование OLE DB. Дополнительные сведения см. в статьях Поддержка типов данных для улучшений, касающихся даты и времени в ODBC и Использование расширенных функций даты и времени (OLE DB).

Формы и отчеты    В форму или отчет можно добавлять данные типа Date/Time Extended. В форме можно использовать элемент управления "Выбор даты" и маску ввода, чтобы указать дату с более широким диапазоном, но точность дробных значений в наносекундах не поддерживается.

Поддержка выражений   Тип данных Date/Time Extended поддерживает агрегатные функции SQL и оценку выражений. Например, использование LoggedDateTime в качестве поля типа данных Date/Time Extended:

Задача

Пример

Результат

Поиск минимального значения

Min(LoggedDateTime)

Самые ранние значения даты и времени в диапазоне.

Извлечение месяца

Month(LoggedDateTime)

Название месяца, например январь

Добавление одного дня

[LoggedDateTime]+1

Вторник становится средой

К началу страницы

Обратная совместимость

Тип данных Date/Time Extended несовместим с предыдущими версиями Microsoft Access. Если тип используется в локальной таблице Access, версии Access, которые не включают эту функцию, не смогут открыть базу данных.

Вы можете включить или отключить расширенный тип данных даты и времени для операций связывания и импорта с помощью параметра Текущий доступ к базе данныхПоддержка расширенных типов данных даты и времени для связанных или lmported таблиц. Дополнительные сведения см. в статье Настройка пользовательских параметров текущей базы данных.

К началу страницы

Использование типа данных Date/Time Extended в качестве строки в VBA

В следующих примерах VBA для просмотра, ввода и оценки типа данных Date/Time Extended из приведенной ниже таблицы используются методы DAO.

ID

DTEData

DTData

1

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

1/1/2001

Имя таблицы:    DTETableтип данных ID:    Autonumberтип данных DTEData:    Date/Time Extendedтип данных DTData:    Date/Time

Пример: Отображение даты и времени

В приведенном ниже примере отображаются дата и время. Используется формат дд/мм/гггг чч:мм:сс,ннннннн для 24-часового представления времени. Формат не настраивается.

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

Результат    Представление Access: 01/01/0002 01:01:03,1234567.

Пример: Ввод даты и времени

В приведенном ниже примере дата и время вводятся с использованием строкового формата. Поддерживаются все стандартные форматы даты и времени.

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

Результат    Access добавит новую строку (ИД = 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

Пример: Оценка выражения запроса

В приведенном ниже примере функция Day используется для извлечения числового значения дня из полей даты и времени.

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

Результат    Представление Access:

День месяца: 1 День месяца: 1

К началу страницы

См. также

Введение в использование типов данных и свойств полей

Форматирование поля даты и времени

Создание и удаление поля даты и времени

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.