Примеры использования дат в качестве условий в запросах Access
Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Подробнее о создании запросов см. в статье Знакомство с запросами.

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

В этой статье

Примеры использования текущей даты как части условия

Для выборки элементов, которые...

Используйте это условие

Результат запроса

Содержат текущую дату

Date()

Возвращает элементы с текущей датой. Если сегодняшняя дата — 02.02.2012, вы увидите элементы, в которых поле даты установлено на 2 февраля 2012 г.

Содержат вчерашнюю дату

Date()-1

Возвращает элементы со вчерашней датой. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за 1 февраля 2012 года.

Содержат завтрашнюю дату

Date() + 1

Возвращает элементы с завтрашней датой. Если сегодняшняя дата — 2 февраля 2012 года, вы увидите элементы за 3 февраля 2012 года.

Содержат даты, которые приходятся на текущую неделю

DatePart("ww"; [ДатаПродажи]) = DatePart("ww"; Date()) and Year([ДатаПродажи]) = Year(Date())

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

Содержат даты, которые приходятся на предыдущую неделю

Year([ДатаПродажи])* 53 + DatePart("ww"; [ДатаПродажи]) = Year(Date())* 53 + DatePart("ww"; Date()) - 1

Возвращает элементы с датами, которые приходятся на прошедшую неделю. Неделя в Access начинается в воскресенье и заканчивается в субботу.

Содержат даты, которые приходятся на следующую неделю

Year([ДатаПродажи])* 53+DatePart("ww"; [ДатаПродажи]) = Year(Date())* 53+DatePart("ww"; Date()) + 1

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

Содержат дату, которая приходится на один из последних 7 дней

Between Date() and Date()-6

Возвращает элементы с датами в течение последних 7 дней. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за период с 24 января 2012 г. по 2 февраля 2012 г.

Содержат дату, которая приходится на текущий месяц

Year([ДатаПродажи]) = Year(Now()) And Month([ДатаПродажи]) = Month(Now())

Возвращает элементы с датами текущего месяца. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за февраль 2012 года.

Содержат дату, которая приходится на предыдущий месяц

Year([ДатаПродажи])* 12 + DatePart("m"; [ДатаПродажи]) = Year(Date())* 12 + DatePart("m"; Date()) - 1

Возвращает элементы с датами предыдущего месяца. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за январь 2012 года.

Содержат дату, которая приходится на следующий месяц

Year([ДатаПродажи])* 12 + DatePart("m"; [ДатаПродажи]) = Year(Date())* 12 + DatePart("m"; Date()) + 1

Возвращает элементы с датами следующего месяца. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за март 2012 года.

Содержат дату, которая попадает в диапазон последних 30 дней или 31 дня

Between Date( ) And DateAdd("M", -1, Date( ))

Возвращает элементы за месяц. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за период с 2 января 2012 г. по 2 февраля 2012 г.

Содержат дату, которая приходится на текущий квартал

Year([ДатаПродажи]) = Year(Now()) And DatePart("q";[ДатаПродажи]) = DatePart("q"; Now())

Возвращает элементы за текущий квартал. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за первый квартал 2012 года.

Содержат дату, которая приходится на предыдущий квартал

Year([ДатаПродажи])*4+DatePart("q";[ДатаПродажи]) = Year(Date())*4+DatePart("q";Date())- 1

Возвращает элементы за предыдущий квартал. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за последний квартал 2011 года.

Содержат дату, которая приходится на следующий квартал

Year([ДатаПродажи])*4+DatePart("q";[ДатаПродажи]) = Year(Date())*4+DatePart("q";Date())+1

Возвращает элементы за следующий квартал. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за второй квартал 2012 года.

Содержат дату, которая приходится на текущий год

Year([ДатаПродажи]) = Year(Date())

Возвращает элементы за текущий год. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за 2012 год.

Содержат дату, которая приходится на предыдущий год

Year([ДатаПродажи]) = Year(Date()) - 1

Возвращает элементы за предыдущий год. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за 2011 год.

Содержат дату, которая приходится на следующий год

Year([ДатаПродажи]) = Year(Date()) + 1

Возвращает элементы с датой в следующем году. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за 2013 год.

Содержат дату, которая приходится на период с 1 января до текущей даты (элементы с начала года до настоящего момента)

Year([ДатаПродажи]) = Year(Date()) and Month([ДатаПродажи]) <= Month(Date()) and Day([ДатаПродажи]) <= Day (Date())

Возвращает элементы с датами между 1 января текущего года и текущей датой. Если сегодняшняя дата — 02.02.2012, вы увидите элементы за период с 1 января 2012 г. по 02.02.2012 г.

Содержат прошедшую дату

< Date()

Возвращает элементы с датами до текущей.

Содержат будущую дату

> Date()

Возвращает элементы с датами после текущей.

Примеры использования даты, отличной от текущей, или диапазона дат

Для выборки элементов, которые...

Используйте это условие

Результат запроса

Точно соответствуют значению, например 02.02.2012

#02.02.2012#

Возвращает только элементы с датой 2 февраля 2012 г.

Не соответствуют значению, например 02.02.2012

Not #02.02.2012#

Возвращает элементы с датой, отличающейся от 2 февраля 2012 г.

Содержат значения, которые предшествуют определенной дате, например 02.02.2012

< #02.02.2012#

Возвращает элементы с датой до 2 февраля 2012 г.

Чтобы просмотреть элементы с датой не позднее 2 февраля 2012 г., воспользуйтесь оператором <= вместо <.

Содержат значения, которые следуют за определенной датой, например 02.02.2012

> #02.02.2012#

Возвращает элементы с датой после 2 февраля 2012 г.

Чтобы просмотреть элементы с датой после 2 февраля 2012 г., воспользуйтесь оператором >= вместо >.

Содержат значения, которые входят в определенный диапазон дат

>#02.02.2012# and <#04.02.2012#

Возвращает элементы с датой между 2 февраля 2012 г. и 4 февраля 2012 г.

Примечание: Кроме того, для фильтрации по диапазону значений, включая конечные значения, вы можете использовать оператор Between. Например, выражение Between #02.02.2012# and #04.02.2012# идентично выражению >=#02.02.2012# and <=#04.02.2012#.

Содержат даты, которые не входят в определенный диапазон

<#02.02.2012# or >#04.02.2012#

Возвращает элементы с датой до 2 февраля 2012 г. или после 4 февраля 2012 г.

Содержат одну из двух дат, например 02.02.2012 или 03.02.2012

#02.02.2012# or #03.02.2012#

Возвращает элементы с датой 2 февраля 2012 г. или 3 февраля 2012 г.

Содержат по крайней мере одну из нескольких дат

In (#01.02.2012#, #01.03.2012#, #01.04.2012#)

Возвращает элементы с датами 1 февраля 2012 г., 1 марта 2012 г. или 1 апреля 2012 г.

Содержат любой день заданного месяца (вне зависимости от года), например декабря

DatePart("m"; [ДатаПродажи]) = 12

Возвращает элементы с датой в декабре любого года.

Содержат любую дату в пределах заданного квартала (вне зависимости от года), например первого

DatePart("q"; [ДатаПродажи]) = 1

Возвращает элементы с датой в первом квартале любого года.

Фильтр пустых (или отсутствующих) значений

Is Null

Возвращает записи, в которых дата не была введена.

Фильтр непустых значений

Is Not Null

Возвращает записи, в которых дата была введена.

Примеры фильтрации по значениям NULL (отсутствующие) или даты, отличные от NULL

Для выборки элементов, которые...

Используйте это условие

Результат запроса

Фильтр пустых (или отсутствующих) значений

Is Null

Возвращает записи, в которых дата не была введена.

Фильтр непустых значений

Is Not Null

Возвращает записи, в которых дата была введена.

Возникли проблемы с условиями для дат? Получаете не те результаты, которые ожидаете? См. статью В моем запросе не работают условия для дат.

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

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

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