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

ЗабележкаТази функция все още не е издадена, но Очаквайте скоро.

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

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

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

Сравняване на данни за дата/час и по-дълъг период от време

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

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. Можете също да преобразувате дата/час на разширен тип данни за дата и час в изглед за проектиране на таблица. Използването на този тип данни като поле за първичен ключ се поддържа и. За повече информация вижте Създаване на таблица и добавяне на полета.

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

  • Формат на въвеждане: мм/дд/гггг чч: мм: СС. nnnnnnn

  • Пример: 06/15/1215 09:25:3.234

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

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

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

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

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

Задача

Пример

Резултат

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

Min (LoggedDateTime)

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

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

Month (LoggedDateTime)

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

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

[LoggedDateTime] + 1

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

Обратна съвместимост    Разширеният тип данни за дата и час не е съвместим с версиите на Microsoft Access, които не са абонаменти. В резултат на това, ако типът данни се изпълнява в таблица за локален достъп и базата данни на Access се използва с версия на Access, която не е абонамент, не можете да отворите базата данни.

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

Следните примери за VBA използват методите ДАО за показване, въвеждане и оценка на типа на разширените данни за дата/час на базата на таблицата по-долу.

ID

DTEData

DTData

1

1/1/2 1:01:03.1234567 Ч.

1.1.2001

Име на таблица:    Тип данни DTETable
ИД:    автономериране на
DTEData тип данни:    дата/час, удължен
тип данни DTData:    дата и час

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

Следващият пример показва дата и час. Използваният формат е мм/дд/гггг чч: мм: СС. 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 Ч.

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

Вижте също

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

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

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

Забележка:  Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас? Ето статията на английски за справка.

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

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

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

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×