Докладні відомості про створення запитів див. в статті Загальні відомості про запити.
Нижче наведено деякі найпоширеніші приклади умов дати – від простих фільтрів дати до складніших обчислень діапазону дат. У деяких складніших прикладах використовуються функції дати у програмі Access, щоб виділити окремі частини дати та полегшити обчислення отримання потрібних результатів.
У цій статті
- Приклади, у яких в умовах використовується поточна дата
- Приклади, у яких використовується дата або діапазон дат, окрім поточної дати
- Приклади, які фільтрувати за null-значеннями (відсутніми) або не null-датами
Приклади, у яких в умовах використовується поточна дата
| Елементи, які буде включено | Використання цієї умови | Результат запиту |
|---|---|---|
| Містять сьогоднішню дату. | 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 | Повертає елементи, для яких дату було введено. |
Виникли проблеми з умовами дати, наприклад не отримуєте потрібні результати? Див. статтю Умови дати не працюють у моєму запиті.