Тема 22: Робота з запитами на вибірку даних.
Створення запиту на вибірку
При роботі з базою даних дуже часто виникає необхідність вичленувати з усієї маси інформації, що зберігається, що тільки цікавить. У таких випадках створюється запит на вибірку. Цей засіб формує результуючу таблицю, що містить тільки необхідні по умові запиту дані з вказаних базових таблиць. Його створення в Access, як і для усіх інших об'єктів, можливо в автоматичному режимі, в ручному режимі і за допомогою майстра.
Але спочатку невеликий відступ, з приводу використання мови запитів SQL.
Мова SQL (Structured Query Language - структурована мова запитів) - це стандартний набір слів англійської мови, вживаний для опису запиту до бази даних. Кидатися вивчати його в даний момент немає необхідності. Access автоматично транслює усі запити в послідовність символів свого власного діалекту мови SQL, іменованого Jet SQL. Але і його вивчення доки можна відкласти. Вся річ у тому, що для спрощення створення запитів є спеціальний засіб, що називається бланком запиту за зразком. З його допомогою можна в лічені хвилини побудувати запит, перетягуючи елементи запиту між відповідними вікнами. Робиться це таким чином:
Створення і налаштування простого запиту на вибірку розглянемо на прикладі визначення оцінки по кожній дисципліні у відомості успішності по конкретному студенту.
Рішення задачі включає п'ять етапів:
Створення запиту «ЗПВсіОцінкиДисц».
Копіювання запиту «ЗПВсіОцінкиДисц» в запит «ЗПОцінкиПоСтуд».
Налаштування запиту «ЗПОцінкиПоСтуд».
Перетворення запиту «ЗПОцінкиПоСтуд» на параметричний.
Завдання.
1. Щоб створити за допомогою майстра запит на вибірку даних з таблиці «Успішність» та пов'язаних з нею довідників, потрібно відкрити базу даних «Успішність студентів».
2. Перейти на вкладку «Создать» панелі інструментів MS Access.
3. В групі «Другие» на панелі інструментів натиснути кнопку «Мастер запросов» (рис. 6.1).
Рис. 6.1. Виклик майстра побудови запитів
4. У списку вікна, що з'явилося, «Новый запрос» вибрати елемент Простой запрос, який викликає майстра для створення запиту (рис. 6.2).
Рис. 6.2. Вибір типу створюваного запиту
5. У першому вікні майстра «Создание
простых запросов» з розкривного списку «Таблицы / Запросы» вибрати
потрібну таблицю, а зі списку «Доступные поля» переслати в список «Выбранные
поля» за допомогою кнопки ()
поля згідно із табл. 6.1 (рис. 6.3).
Таблиця 6.1
Поля для запиту «зпВсіОцінкиДисц»
Таблиця |
Поле |
Успішність |
Код студента |
Студенти |
ПІБ |
Студенти |
Шифр групи |
Успішність |
Код дисципліни |
Довідник дисциплін |
Назва дисципліни |
Успішність |
Оцінка |
Рис. 6.3. Вибір полів для побудови запиту
6. У другому вікні майстра вибрати вид запиту докладний. Оскільки він встановлений за умовчанням, то достатньо натиснути кнопку «Далі» (рис. 6.4).
Рис. 6.4. Вибір виду запиту
7. В останньому вікні майстра вказати ім'я запиту «ЗПВсіОцінкиДисц» і натиснути кнопку «Готово» (рис. 6.5 – 6.6).
Рис. 6.5. Визначення назви запиту
Рис. 6.6. Результат виконання запиту
8. Після перегляду результату
виконання запиту зберегти його, натиснувши на панелі інструментів кнопку «Сохранить» ().
9. Оскільки новий запит «ЗПОцінкиДисц» по структурі повністю збігається з вихідним «ЗПВсіОцінкиДисц» (в ньому потрібно тільки змінити деякі властивості і додати обчислюване поле), то його створення можна почати з копіювання вихідного. Для цього потрібно: У вікні БД виділити значок запиту «ЗПВсіОцінкиДисц», клацнувши на ньому. На панелі інструментів вікна Access натиснути кнопку «Копировать», щоб скопіювати запит в буфер. На панелі інструментів того ж вікна натиснути кнопку «Вставить», щоб вставити запит з буфера. У вікні ввести ім'я запиту «ЗПОцінкиПоСтуд» (рис. 6.7).
Рис. 6.7. Копіювання та перейменування запиту
10. Для того щоб за допомогою отриманого на попередньому етапі запиту «ЗПОцінкиПоСтуд» виводилися тільки потрібні дані (поля та записи) в алфавітному порядку ПІБ студентів, слід відкрити запит «ЗПОцінкиПоСтуд» в режимі конструктора (рис. 6.8). У рядку Условие отбора поля «Код студента» ввести цифру 5 для відбору оцінок по студентові з цим кодом. Щоб не виводилися поля «Код студента» і «Код дисципліни», досить послідовно клацнути в рядку Вывод на экран цих полів, прибравши в них прапорці (рис. 6.9).
Рис. 6.8. Відкриття запиту в режимі конструктора
Рис. 6.9. Встановлення умов відбору даних і параметрів відображення результатів запиту
11. Перейти в режим відображення
таблиці, натиснувши кнопку «Режим» ()
на панелі інструментів і переконатися, що виведені дані за оцінками для
студента з кодом 5 (рис. 6.10).
Рис. 6.10. Результати запиту «ЗПОцінкиПоСтуд»
12. Щоб назви дисциплін виводилися в алфавітному порядку, слід в режимі конструктора запиту клацнути в рядку «Сортировка» поля «Назва дисципліни» і з списку, що з'явився вибрати елемент «По убыванию». Після цього знову переглянути результат виконання запиту (рис. 6.11).
13. Для відбору даних по замовнику з кодом 6 потрібно повернутися в режим конструктора і в рядку Умови відбору поля «Код студента» замінити цифру 5 на цифру 6. Після цього знову перейти в режим таблиці.
Рис. 6.11. Сортування результатів запиту
13. Щоб постійно не перемикатися з режиму таблиці в режим конструктора і назад для введення нового коду замовника, слід скористатися параметричним запитом. Для цього потрібно у режимі конструктора замість конкретного значення в рядку Условия отбора поля «Код студента» ввести в квадратних дужках текст підказки, наприклад, [Код потрібного студента], зберегти запит і закрити його (рис. 6.12).
Рис. 6.12. Перетворення запиту на параметричний
14. Відкрити запит, виділивши його значок і натиснувши кнопку «Открыть». У діалоговому вікні ввести код потрібного студента, наприклад, 8 (рис. 6.13).
Рис. 6.13. Введення параметру запиту
15. Переглянути результат виконання запиту і закрити його вікно (рис. 6.14). При подальших відкриттях запиту можна вводити коди інших студентів.
Рис. 6.14. Результат виконання параметричного запиту