Приклади використання дат як умов у запитах Access

Відомості про створення запитів див. в статті Основні відомості про запити.

Нижче наведено деякі найпоширеніші приклади умов дати – від простих фільтрів дати до складніших обчислень діапазону дат. У деяких складніших прикладах використовуються функції дати у програмі 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

Повертає елементи з датою в першому кварталі будь-якого року.

Відфільтровані за Null-значеннями.

Is Null

Повертає елементи, для яких дату не вказано.

Відфільтровані за значеннями, відмінними від Null.

Is Not Null

Повертає елементи, для яких дату було введено.

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

Елементи, які буде включено

Використання цієї умови

Результат запиту

Відфільтровані за Null-значеннями.

Is Null

Повертає елементи, для яких дату не вказано.

Відфільтровані за значеннями, відмінними від Null.

Is Not Null

Повертає елементи, для яких дату було введено.

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

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.