Для пошуку інформації в базі даних формуються запити, по яких буде зроблений пошук необхідних відомостей.
Запит в Access – це спеціально підготовлене питання про інформацію в базі даних. Запитом може бути як найпростіший пошук інформації зі значення в якій-небудь одній таблиці, так і складний процес перетворення та представлення в певному виді взаємозалежних між собою даних з декількох таблиць. При цьому MS Access видає тільки ту інформацію, яку в нього запитували.
Після створення і запуску запиту MS Access може повернути та відобразити у вигляді рядків і стовпців безліч записів, які в нього запитують. Ці записи називаються динамічним набором записів. Динамічний набір записів виглядає як таблиця, хоча і не є нею. Він є тимчасовим (або віртуальним) набором записів і не зберігається в базі даних. Після закриття запиту динамічний набір записів цього запиту припиняє своє існування, хоча дані, які в ньому містилися, залишаються в базових таблицях. При збереженні запиту зберігається тільки структура запиту – перелік таблиць, список полів, порядок сортування, обмеження на записи, тип запиту та ін. При кожному виконанні запит звертається до базових таблиць, і знову створює динамічний набір записів. При цьому запит автоматично відображає будь-які зміни, що відбувся в базових таблицях з моменту останнього запуску запиту.
Складаючи запит, ми можемо вказати в ньому цікаві для нас таблиці, поля, записи і необхідні перетворення даних.
Для створення запитів до Access 2010 необхідно на вкладці Створення вибрати режим Майстер запитів або Конструктор запитів, використовуючи піктограми, які показані на рис. 1.
При створенні запиту необхідно визначити:
– поля в базі даних, по яких буде йти пошук інформації;
– предмет пошуку в базі даних;
– перелік полів у результаті виконання запиту.
У вікні бази даних вибрати вкладку Створення та двічі клацнути на піктограмі Створення запиту за допомогою майстра, з'явиться вікно Новий запит (Рис. 2). Обираємо команду Простий запит на натискаємо кнопку ОК. Після цього з'явиться вікно Створення простих запитів (Рис. 3)
У вікні майстра вибрати необхідну таблицю (таблицю – джерело) з опції Таблиці і запити та вибрати поля даних. Якщо запит формується на основі декількох таблиць, необхідно повторити дії для кожної таблиці – джерела. Потім клацнути на кнопці Далі.
На наступному кроці Майстра треба вибрати докладний або підсумковий запит (рис. 4) і клацнути на кнопці Далі. Після цього необхідно задати ім'я запиту (рис. 5) та вибрати один з варіантів подальшої дії: Відкрити запит для перегляду даних або Змінити макет запиту та нажати кнопку Готово. У результаті чого одержите готовий запит.
Щоб створити запит за допомогою Конструктора запитів, необхідно вибрати вкладку Створення та двічі клацнути на піктограмі Створення запиту в режимі конструктора. З'явиться активне вікно Додавання таблиці на фоні неактивного вікна «Запит: запит на вибірку» (Рис. 6).
У вікні Додавання таблиці слід вибрати таблицю – джерело або кілька таблиць із представленого списку таблиць, на основі яких буде проводитися вибір даних, і клацнути на кнопці Додати. Після цього закрити вікно Додавання таблиці, вікно «Запит: запит на вибірку» стане активним (Рис. 7).
Вікно Конструктора запитів має два режими: Конструктор і Режим таблиці. У режимі Конструктор створюється запит, а в режимі таблиці виводиться динамічний набір даного запиту.
Вікно конструктора запиту складається з двох частин (рис. 8):
- області таблиць запиту (місце, де розміщуються таблиці або запити і встановлюються зв'язки між ними);
- бланк запиту (призначений для визначення полів і умов, які будуть використовуватися для отримання динамічного набору даних).
За допомогою смуги розділу можна змінювати розмір кожної з цих областей.
Бланк побудови запиту містить 6 рядків:
– Поле – вказує імена полів, які беруть участь у запиті
– Ім'я таблиці – ім'я таблиці, з якої обрано це поле
– Сортування – вказує тип сортування
– Вивід на екран – встановлює прапорець перегляду поля на екрані
– Умови відбору – задаються критерії пошуку
– Умови відбору– задаються додаткові критерії відбору
Існує кілька способів додавання полів в запит.
Одне поле можна додати подвійним клацанням миші. При цьому поле з'явиться в першому вільному стовпці бланка запиту. Також можна мишею перетягнути поле з таблиці в потрібне місце бланка запиту. При цьому його можна вставляти між уже доданими полями.
Кілька полів виділяються в таблиці стандартними способами Windows (що йдуть підряд поля - утримуючи клавішу Shift, поля, розташовані не підряд - утримуючи клавішу Ctrl), а потім перетягуються в бланк запиту.
Іноді виникає необхідність внести зміни в бланк запиту (змінити порядок розташування полів, вставити нове поле або видалити існуюче). Також можна додати поле в бланк запиту без його відображення в динамічному наборі даних.
Над рядком Поле знаходиться вузький сірий рядок, який носить назву Область виділення стовпчика. З його допомогою можна вибрати один або декілька стовпців (полів). Для цього потрібно помістити покажчик миші в область виділення стовпця (покажчик прийме вигляд чорної стрілки, спрямованої вниз) і клацнути на ній. На рисунку 9 показано виділений стовпець і покажчик миші в області виділення. Утримуючи ліву кнопку миші можна виділити кілька полів.
Щоб перемістити поля потрібно виділити їх, а потім, взявшись мишею за область виділення цих стовпців перетягнути їх у потрібне місце.
Щоб видалити поля потрібно виділити їх і натиснути клавішу Del.
Щоб вставити поле потрібно перетягнути його з потрібною таблиці в області таблиць.
Щоб змінити ім'я поля, яке відображається в динамічному наборі даних потрібно натиснути правою кнопкою старе ім'я в бланку запиту, в контекстному меню вибрати команду Властивості і в полі Підпис набрати нове ім'я.
Щоб поле відображалося в динамічному наборі даних для нього потрібно встановити ознаку відображення, тобто включити прапорець Виведення на екран (рис. 10). Потрібно пам'ятати про те, що при збереженні і закриття запиту поля, які не були використані (тобто поля з вимкненим властивістю Виведення на екран) виключаються з бланка запиту.
Щоб відсортувати дані в динамічному наборі потрібно виконати такі дії:
- клацнути на клітинці Сортування потрібного поля;
- вибрати одне з наступних значень: за зростанням, за зменшенням, відсутне (якщо сортування проводити не треба) (рис. 11).
Часто виникає необхідність працювати не з усіма записами таблиці, а тільки з деякими з них. В Access можна відбирати записи, задаючи умова їх відбору.
Умови відбору записів - це набір визначених в Access або задаються користувачем правил. Вони вказують Access, які записи потрібно переглянути в динамічному наборі даних. Типовими умовами відбору є фрази «всі співробітники, чий стаж перевищує 10 років», або «тільки ті студенти, які проживають в Центральному районі». Тобто за допомогою умов відбору записів створюються обмежують фільтри, щоб вказати, які записи слід знайти, а які залишити за межами динамічного набору даних.
Умови задаються в рядку Умови відбору бланка запиту за допомогою виразу. Вираз може здаватися за зразком або використовувати складні функції вибору.
Для текстового поля можна вводити умови символьного типу. такі умови задаються за зразком. Наприклад, в списку співробітників в поле Прізвище в клітинці Умова відбору можна ввести прізвище Іванов. При переході в режим таблиці будуть відображені записи тільки про співробітників на прізвище Іванов. Причому ця умова відбору можна записати декількома способами:
Іванов, "Іванов", = Іванов, = "Іванов".
Причому, навіть якщо при введенні умови користувач не укладає текст в подвійні лапки, Access робить це автоматично. Можна використовувати спеціальні символи. Так * означає, що замість нього може бути будь яка кількість символів, а ? означає, що замість нього може бути лише один символ. Наприклад якщо записати умову таким чином: Іван*, то результатом запиту будуть люди з прізвищами Іванов, Іванський, Іваненко, Іванчик і т.д. Умова С??? означає, що поле містить назви, які починаються з літери С та містять 4 символи.
Для вибору числових даних можна використовувати умови типу: > 12; <= 23; = 10 і т.д.
Для вибору даних типу Дата / Час можна використовувати умови виду: > 1.10.96; <= # 20/06/1998 # і т.д. Причому, навіть якщо при введенні умови користувач не поміщає значення дати між роздільниками #, Access робить це автоматично.
Існує шість основних типів операторів відносини (також відомих під назвою оператори порівняння), які порівнюють дві величини або виразу.