Приклади використання дат як умов у запитах 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()) і 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. < #2/2/2012# Повертає елементи з датою до 2 лютого 2012 року.
Щоб переглянути елементи з датою 2 лютого 2012 р. або раніше, замість < оператора використовуйте <оператор =.
Містять значення після певної дати, наприклад 02.02.2012. > #2/2/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# або >#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 Повертає елементи з датою в першому кварталі будь-якого року.
Відфільтровані за Null-значеннями. Is Null Повертає елементи, для яких дату не вказано.
Відфільтровані за значеннями, відмінними від Null. Is Not Null Повертає елементи, для яких дату було введено.

Приклади, які фільтрувати за null-значеннями (відсутніми) або не null-датами

Елементи, які буде включено Використання цієї умови Результат запиту
Відфільтровані за Null-значеннями. Is Null Повертає елементи, для яких дату не вказано.
Відфільтровані за значеннями, відмінними від Null. Is Not Null Повертає елементи, для яких дату було введено.

Виникли проблеми з умовами дати, наприклад не отримуєте потрібні результати? Див. статтю Умови дати не працюють у моєму запиті.