Майстер простих запитів з успіхом можна використовувати для виконання деяких операцій, проте при цьому можливості запитів Access розкриваються не повною мірою. Для отримання більшого ефекту слід звернутися до режиму конструктора. Як ви знаєте з розділу 5, існує два формати відображення таблиць — режим таблиці і режим конструктора (у останньому відображається структура таблиці). Запити також підтримують цих два режими. Проглядання запиту в режимі конструктора дозволяє змінити структуру запиту, вживану при роботі в режимі таблиці. Крім того, режим конструктора більше підходить для зміни тих, що існують або створення абсолютно нових запитів. Наступний розділ розділу присвячений створенню нових запитів з нуля в режимі конструктора.
Інформація, введена при створенні зв'язків, використовується Access для вибору поля при підстановці даних із зв'язаної таблиці. Тому, перш ніж створювати запити, бажано спочатку організувати зв'язки!
Додавання таблиць і запитів
Насамперед при створенні запиту в режимі конструктора слід визначити таблицю або запит, в якій міститимуться необхідні дані. От як це можна зробити.
1. Виберіть посилання Запити у вікні Рослини: база даних.
2. Двічі клацніть на посиланні Створення запиту в режимі конструктора. Відкриються новий запит і діалогове вікно Додавання таблиці (мал. 7.9).
Мал. 7.9. Створення нового запиту в режимі конструктора
3. На вкладці Таблиці діалогового вікна Додавання таблиці виберіть значення Рослини і клацніть на кнопці Додати. Тепер таблиця додана в запит.
4. Клацніть на кнопці Закрити і проглянете запит в режимі конструктора (мал. 7.10). У верхній панелі відображається таблиця, що містить дані для запиту, а в ніжней — поля запиту.
Отже, таблиця в запит додана, проте робота на цьому не завершена. Виберіть команду Від>режім таблиці і з'явиться повідомлення з попередженням про те, що для запиту необхідно виділити, принаймні, одне поле. Іншими словами, поля для відображення запиту ще не визначені. Процес додавання полів описується в наступному розділі.
Мал. 7.10. Таблиця запиту в режимі конструктора
Додавання полів
Для того, щоб отримати дані за допомогою запиту, необхідно визначити їх місцезнаходження. Таблиця була вказана раніше, а зараз займемося визначенням окремих полів, для чого потрібно виконати наступні дії.
1. Двічі клацніть на полі Ім'я у таблиці Рослини розташованою у верхній панелі вікна запиту. В результаті поле Ім'я буде додано як перше поле для запиту (див. перший стовпець ніжней в панелі вікна запиту).
2. У верхній панелі вікна запиту клацніть на полі Латінськоєімя таблиці Рослини. Тепер перетягнете це поле вниз і помістите його в другий стовпець нижньої панелі вікна запиту.
3. Клацніть на першому рядку третього стовпця в нижній панелі вікна запиту і виберіть із списку доступних полів, що розкривається, значення Імякаталога. Вікно запиту в режимі конструктора з трьома вибраними полями показане на мал. 7.11.
Мал. 7.11. Визначення полів для запиту в режимі конструктора
Як бачите, поля для запиту можна визначати різними способами. Зокрема, це можна зробити уручну, вказавши ім'я поля в нижній панелі вікна запиту. Після додавання поля в таблиці задається його ім'я і назва таблиці, що містить поле.
Сортування результатів
Всі описані дії в режимі конструктора можна виконати і за допомогою майстра. Проте режим конструктора володіє і рядом оригінальних можливостей. Наприклад, при його використанні результати створеного запиту сортуються по імені в алфавітному порядку; не є проблемою і сортування по латинському імені. Режим конструктора дає можливість упорядкувати отримувані результати з урахуванням значень одного або декількох полів.
1. Виберіть команду Вигляд> Конструктор.
2. Клацніть на третьому рядку другого стовпця в нижній панелі вікна запиту. Цей рядок, що розташовується під стовпцем Латінськоєімя називається Сортування. В результаті клацання на осередку з'явиться список, що розкривається.
3. Клацніть на значку стрілки і виберіть із списку значення За збільшенням.
4. Клацніть на кнопці Вигляд у лівій області панелі інструментів Access і виберіть опцію Режим таблиці (мал. 7.12).
Мал. 7.12. Вибір методу сортування для запиту
5. Запит отримує ті ж дані, що і раніше, але тепер вони будуть відсортовані по латинських іменах. Ще раз клацніть на кнопці Вигляд для переходу в режим конструктора.
6. Відміните сортування вмісту стовпця Латінськоєімяклацнувши на осередку і вибравши в списку, що розкривається, опцію (Відсутній).
7. Перейдіть у верхню область стовпця Імякаталога і перемістите покажчик миші трохи нижче, так щоб він перетворився на направлену вниз стрілку. Клацніть лівою кнопкою миші для виділення всього стовпця.
8. Утримуючи кнопку миші натиснутою, перетягнете стовпець Імякаталога вліво, щоб він став першим стовпцем запиту.
9. Встановите для стовпця Імякаталога тип сортування По убуванню.
10. Для стовпця Ім'я встановите тип За збільшенням.
11. Перейдіть в режим таблиці. Як видно з мал. 7.13, вміст стовпця Імякаталога відсортовано в зворотному алфавітному порядку, а вміст стовпця Ім'я — в звичайному.
Мал. 7.13. Сортування двох стовпців запиту
Сортування даних запитів можна здійснювати самими різними способами. Зокрема, допускається сортування будь-якого поля, будь-якій комбінації полів в порядку зростання або убування. При збереженні запиту тип сортування зберігається як елемент запиту, тому при повторному відкритті запиту указувати його наново не доведеться. Сортування застосовується з урахуванням розташування стовпців в режимі конструктора. Як було показано раніше, стовпець у будь-який момент можна перетягнути на нову позицію.
Якщо в запиті не буде визначений тип сортування, Access вибере його самостійно. Як правило, сортування проводиться відповідно до вмісту першого поля першої таблиці запиту.
Фільтрація результатів
Режим конструктора дозволяє набудувати фільтр для обробки результатів запиту. Використання фільтрів — дуже ефективний спосіб сортування великих об'ємів даних. При налаштуванні фільтру необхідно вказати деякі характеристики даних, що обробляються запитом, після чого Access відобразить тільки відповідні правилам фільтрації рядка. Фільтри настроюються так, як описується нижчим.
1. Перейдіть в режим конструктора.
2. У рядку Умова відбору першого стовпця запиту введіть значення Городник як показано на мал. 7.14
3. Перейдіть в режим таблиці. Як бачите, на екрані тепер відображаються тільки рядки, в яких поле Імякаталога містить значення Городник (мал. 7.15).
Мал. 7.14. Додавання фільтру до запиту
Мал. 7.15. Результати фільтрації запиту
4. Перейдіть в режим конструктора. Введіть значення Квітникарство у наступному рядку першого стовпця, безпосередньо під осередком фільтру.
5. Перемкнетеся в режим таблиці. Тепер в таблиці відображаються рядки з іменами каталога Квітникарство і Городник. Якщо ви введете більш за одну умову фільтрації в декількох рядках нижньої панелі таблиці запиту, в режимі таблиці відображатимуться тільки рядки, відповідні вказаним критеріям.
6. Перейдіть в режим конструктора і видалите умову відбору «Квітникарство», виділивши його і натиснувши клавішу <Delete>.
7. Введіть значення Деревій у рядку Умова відбору стовпця Імякаталога розташованою праворуч від рядка із значенням Городник.
8. Перейдіть в режим таблиці. Запит відобразить один рядок, в якому буде вказано значення Деревій з каталога Городник. При використанні декількох фільтрів в одному рядку таблиці конструктора цей рядок відображається тільки у разі відповідності її вмісту критеріям всіх вказаних фільтрів.
9. Клацніть на кнопці Зберегти розташованою на панелі завдань Access. Введіть Фільтррастеній як ім'я запиту, а потім клацніть на кнопці ОК.
10. Закрийте таблицю запиту.
Іноді Access модифікує введені критерії фільтрації. Наприклад, при переході в режим конструктора значення «Деревій» було поміщене в лапки. Не варто турбуватися, оскільки таким чином Access лише проявляє свою турботу про розробника бази даних.
У Access прийнято використовувати спеціальні вирази, в яких описуються умови і критерії фільтрації (таблиця. 7.1). Повнішу інформацію про них можна отримати, звернувшись до довідкової системи Access.
Таблиця 7.1. Вирази, підтримувані фільтрами
Вираз
Опис
«Блакитний»
Значення «Блакитний»
«Блакитний» or «Рожевий»
Або «Блакитний» або «Рожевий»
Like «Б*»
Будь-яке слово, що починається з букви «Б». Знак зірочки (*) — це символ, що означає будь-яку кількість символів
Like «Би??»
«Бій», «Буй», «Біг» — будь-яке слово з трьох букв, «Б», що починається з букви. Знак питання відповідає одному символу
< «Н»
Перед буквою «Н» в алфавіті
Числове значення 333
>=333
Більше або рівне 333
Between 5 and 100
Щонайменше 5, але не більш ніж 100
#3/5/2000#
Дата 5 березня 2000 р. (застосовується тільки в полі Дата/час)
Not «Зелений»
Будь-яке інше значення, але не «Зелений»
In («Зелений», «Червоний», «Блакитний»)
Значення «Зелений», «Червоний» «Блакитний»
Is Null
Поле не містить значення
Is Not Null
Поле містить будь-яке значення (тобто не порожнє)
Додавання другої таблиці
У Access існує можливість створювати запити, в які поступають дані з декількох таблиць. У наступному прикладі створюється запит на отримання даних про всі лікувальні рослини з російських каталогів.
1. У вікні Рослини: база даних клацніть на посиланні Запити.
2. Клацніть на кнопці Створити на панелі інструментів.
3. У діалоговому вікні Новий запит виберіть опцію Конструктор і клацніть на кнопці ОК.
4. У діалоговому вікні Додавання таблиці виберіть таблицю Каталоги і клацніть на кнопці Додати.
5. У цьому ж діалоговому вікні виберіть таблицю Рослини і клацніть на кнопці Додати.
6. Клацніть на кнопці Закрити.
7. Розташуєте вікна Рослини: база даних і Запит: запит на вибірку так, щоб вони не накладалися один на одного.
8. Виберіть посилання Таблиці у вікні Рослини: база даних.
9. Перетягнете таблицю Типи з вікна Рослини: база даних у верхню панель вікна запиту в режимі конструктора. Тепер до запиту буде додана таблиця Типияк показано на мал. 7.16. Звернете увагу, що Access автоматично відображає зв'язки, що існують між таблицями.
Мал. 7.16. Декілька таблиць у вікні створення запиту
10. Додайте в нижню панель запиту поля Ім'я і Країна з таблиці Каталоги, Ім'я і Латінськоєімя з таблиці Рослини і Опис з таблиці Типи.
11. Зніміть прапорець Вивід на екран для поля Країна.
12. Вкажіть значення Росія як умова відбору для поля Країна.
13. Вкажіть значення Лікувальне як умова відбору для поля Опис. Переконаєтеся, що обидва значення фільтрів знаходяться в одному рядку.
14. Для сортування поля Ім'я виберіть опцію По зростанню. Останнє вікно розробки запиту показане на мал. 7.17.
Мал. 7.17. Вікно для створення складного запиту
15. Перейдіть в режим таблиці для проглядання запиту.
16. Збережете запит під ім'ям Лекарствароссия.
17. Закрийте вікно запиту.
Сортування, фільтрування і пошук даних в таблицях
Найпростішим cпособом пошуку потрібних записів у таблицях є сортування даних. Упорядкованість записів дозволяє користувачам переглядати та знаходити потрібні дані, не переглядаючи всі дані.
Записи в таблиці, запиті, формі або звіті можна сортувати за одним або кількома полями. Вибір способу сортування записів у звіті або формі не потребує виконання складних дій зі структурою.
Сортування за декількома полями дозволяє пришвидчити процес пошуку потрібної інформації та її обробку. Збільшення кількості полів сортування має сенс лише до тих пір, поки дані в попередніх полях сортування не є унікальними, тобто повторюються.
Фільтр змінює дані, які відображаються у таблиці, формі або звіті, без змінення ії структури. Фільтр можна розглядати як критерій або правило, визначене для поля. Цей критерій визначає значення полів, які слід переглянути. У разі застосування фільтра відображаються лише ті записи, які містять потрібні значення. Решта записів приховується до видалення фільтра.
Типи фільтрів:
· загальні фільтри;
· фільтр на основі виділеного фрагмента;
· фільтрування за формою:
· розширені фільтри.
Загальні фільтри доступні як команди контекстного меню, тому не потрібно витрачати час на побудову правильних критеріїв фільтра. Щоб отримати доступ до цих команд, слід клацнути правою кнопкою миші поле, яке потрібно відфільтрувати.
Наприклад, створено базу даних із використанням одного з нових шаблонів, наданих у програмі Microsoft Office Access 2007 - Українська версія. Уявімо, що це база даних контактів і до неї імпортовано контактні дані із програми Microsoft Office Outlook 2007 - Українська версія. У певний момент ця база буде містити таку кількість даних, що для пошуку певного запису буде недостатньо просто переглянути її.
Існує чотири способи знайти певний запис:
Перехід Перехід — це переміщення серед записів, зазвичай по черзі, у таблиці або поданні.
Примітка Подання — це об’єкт бази даних, що відображає дані, які зберігаються в таблицях. Поданнями можуть бути форми, запити або звіти.
Пошук Пошук — це визначення критеріїв (умов пошуку) і операторів порівняння (таких як «дорівнює» або «містить») і перегляд записів, які відповідають указаним умовам. Записи, які відповідають умовам, виділяються, а дані, які не відповідають умовам, не виділяються.
Фільтрування Подібно до пошуку, фільтрування також передбачає визначення критеріїв і операторів порівняння. На відміну від пошуку, фільтрування лише визначає, які записи потрібно відображати. Фільтр можна увімкнути або вимкнути для простішого переключення між відфільтрованим і невідфільтрованим поданнями тих самих даних.
Запит Запити є дуже потужним і гнучким способом пошуку певних
записів. Запит дає змогу виконувати настроюваний пошук, застосовувати настроювані фільтри та сортувати записи. Запити можна зберігати та використовувати знову, їх можна використовувати для створення форм і
звітів.
Усі шаблони Office Access 2007 містять запити, які можна одразу використовувати. Можна побудувати власний запит для відображення лише потрібних записів і для відповіді на певні питання.
У цій статті описані методи переходу, пошуку та фільтрування даних. Ця стаття також надає приклад використання запиту для пошуку певних записів і містить посилання на інші статті довідки для отримання додаткових відомостей про використання запитів.