Типът данни "Разширена дата/час" съхранява информация за дата и час и е подобен на типа данни "Дата/час", но предоставя по-голям диапазон от дати, по-висока дробна точност и съвместимост с типа дата на SQL Server дата и час2. Когато импортирате или свързвате данни на Access с SQL Server, можете последователно да съпомените поле За дата/час на Access Extended към SQL Server datetime2 колона. За повече информация вж. дата и час2 (Transact-SQL).

Дата/час Разширен диапазон

Предупреждение    Когато създавате изрази и използвате функции за дата/час въз основа на типа данни "Разширена дата/час" в Access, може да загубите точност в изчисленията или да срещнете други проблеми с резултатите. Наясно сме с този проблем и планираме по-добра поддръжка на изрази и функции в предстоящо издание. Като заобиколно решение можете да създадете пропускана заявка, за да използвате еквивалентните SQL Server и функциите за дата/час. За повече информация вижте Сравняване на access SQL с SQL Server TSQL.

В тази статия

Сравняване на типове данни "Дата/час" и "Дата/час"

Използване на типа данни "Разширена дата/час"

Съображения за обратна съвместимост

Използване на типа данни "Разширена дата/час" като низ във VBA

Сравняване на типове данни "Дата/час" и "Дата/час"

Следващите таблици обобщават важните разлики между двата типа данни.

Attribute

Дата/час

Разширена дата/час

Минимална стойност

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 байта

Най-горе на страницата

Използване на типа данни "Разширена дата/час"

Следната информация описва важни съображения за използване.

Изглед за проектиране на таблица    За да се възползвате от по-големия диапазон от данни и по-високата точност, можете да добавите поле към таблица на Access. Можете също да преобразувате тип данни "Дата/час" в тип данни "Разширена дата/час" в изглед "Проектиране на таблица". Използването на този тип данни като поле за първичен ключ също се поддържа. За повече информация вижте Създаване на таблица и добавяне на полета.

Въвеждане на датата и часа   Въвеждането на стойности за дата и час е подобно на типа данни "Дата/час", с изключение на това, че можете също да въведете дробна наносекунда. Например:

  • Формат на въвеждане: mm/dd/yyyy hh:mm:ss.nnnnnnn

  • Пример: 15.06.1215 09:25:3.234

Ако има повече от 7 дробни наносекунди, те се закръгляват до 7 цифри. За да управлявате показването на дробните наносекунди, отворете таблицата, на лентата изберете Полета ив групата Форматиране изберете Увеличаване на десетичния знак Изображение на бутон или Намаляване на десетичния знак Изображение на бутон.

Форматиране    Както типовете данни "Дата/час", така и "Разширена дата/час" използват подобни стандартни низове за форматиране на "Общадата", "Дълга дата", "Средна дата", "Краткадата", "Дълго време", "Средно време" и "Кратък час", и двете поддържат форматиране по избор. За типа данни Date/Time Extended стандартните формати, базирани на време, също поддържат дробна точност за наносекунди. Форматирането на типа данни "Дата/час" е по подразбиране с формати "Обща дата" и "Дълго време" и следва опциите, зададени в Windows регионални настройки. Можете също да управлявате форматирането на дробната точност с помощта на свойството Decimal Places, за да зададете броя на цифрите отдясно на десетичната точка (1–7).

Свързване и импортиране     Можете също да свържете или импортирате от бази данни със съответен тип данни, като например типа данни SQL Server datetime2. SQL Server бази данни от версия 2014 или по-нова версия се поддържат. Типът данни "Разширена дата/час" изисква използването на odbc драйвер на Microsoft за SQL Server 11 или по-нова версия. Препоръчваме да използвате odbc драйвера на Microsoft 13.1 за SQL Server. Използването на OLE DB също се поддържа. За повече информация вижте Поддръжка на типа данни за подобрения на дата и час на ODBC и Използване на подобрени функции за дата и час (OLE DB).

Формуляри и отчети     Можете да добавите типа данни "Разширена дата/час" към формуляр или отчет. Във формуляр можете да използвате програмата за избор на дата и маската за въвеждане, за да въведете дата с по-големия диапазон, но не и дробната точност за наносекунди.

Поддръжка на изрази   Типът данни "Разширена дата/час" поддържа SQL агрегатни функции и оценка на изрази. Например използването на LoggedDateTime като поле с тип данни "Разширена дата/час":

Задача

Пример

Резултат

Намиране на минималната стойност

Min(LoggedDateTime)

Най-ранната дата и час в диапазона

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

Месец(LoggedDateTime)

Името на месеца, като например януари

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

[LoggedDateTime]+1

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

Най-горе на страницата

Съображения за обратна съвместимост

Типът данни "Разширена дата/час" не е съвместим с предишните версии на Microsoft Access. Ако типът се използва в локална таблица на Access, версиите на Access, които не включват функцията, няма да могат да отворят базата данни.

Можете да разрешите или забраните типа данни "Разширена дата/час" за операции за свързване и импортиране с опцията "Достъп до текуща база данни" Поддържа "Дата/час разширен тип данни" за свързани/импортирани таблици. За повече информация вижте Задаване на потребителски опции за текущата база данни.

Най-горе на страницата

Използване на типа данни "Разширена дата/час" като низ във VBA

Следващите примери за VBA използват методи на DAO, за да показват, въвеждат и оценяват типа данни "Разширена дата/час" въз основа на таблицата по-долу.

ID

DTEData

DTData

1

1.1.2 1:01:03.1234567 AM

1.1.2001

Име на таблица:    Тип данни DTETable
ID:    Тип данни
"Автономериране на DTEData":    тип данни "Дата/час, разширен
DTData":    Дата/час

Пример: Показване на датата и часа

Примерът по-долу показва датата и часа. Използваният формат е mm/dd/yyyy hh:mm:ss.nnnnnnn в 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 AM

1.1.2001

2

1.1.9999 1:01:01.0123000 AM

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

Най-горе на страницата

Вж. също

Въведение в типовете данни и свойствата на полетата

Форматиране на поле за дата и час

Създаване или изтриване на поле за дата и час

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединяване към Microsoft Office участници в Insider

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×