Створення запитів

Запит – це команда, яку користувач дає БД і повідомляє, що в пам’ять комп’ютера із таблиці буде виведена конкретна інформація.

Запит складається з однієї команди.

У СУБД MS Access залежно від задачі, яка розв’язується, може бути створено кілька видів запитів:

· запит на вибірку, що забезпечує вибір даних із пов’язаних таблиць і таблиць, побудованих під час реалізації інших запитів;

· запит на створення таблиці, який ґрунтується на запиті на вибірку і забезпечує формування та заповнення нової таблиці;

· запит на оновлення, що дає змогу вносити зміни в групу записів, які відбираються за допомогою запиту на вибірку;

· запит на видалення, що забезпечує виключення записів з однієї або кількох зв’язаних таблиць.

Створення запиту розпочинається командою Создать з вкладки Запросы. У діалоговому вікні Новый запрос(рис.8), що відкривається, необхідно вибрати засіб створення запиту. Це може бути Конструктор або один із Мастеров (Простой запрос, Перекрестный запрос, і т.ін.)

Команда Простой запрос активізує вікно Создание простых запросов, за допомогою якого вибираються базова таблиця зі списку ТаблицыÞЗапросы і поля зі списку Доступные поля, що використовуються в запиті.

Імена потрібних полів для запиту передаються у вікно Выбранные поля: за допомогою кнопок , .

У вікні можуть бути вибрані поля для формування запиту з кількох таблиць або раніше створених запитів. Після вибору таблиць та їхніх полів необхідно клацнути лівою клавішею миші на кнопці Далее, активізувавши таким чином вікно Создание простых Рисунок 8 – Вікно створення нового запиту

запросов з перемикачами типів запитів: подробный та итоговый. На наступному кроці роботи Мастеразнову відкривається вікно Создание простых запросов, за допомогою якого задається ім’я запиту і встановлюється режим роботи системи.

Далі виставити перемикач открытие результатов выполнения запросов і клацнути лівою клавішею миші на кнопці Готово. На екрані з’явиться вікно з результатами запиту. Після вмикання перемикача изменение структуры запроса забезпечується перехід до режиму Конструктор із метою зміни створеного запиту.

Для активізації Конструктора досить вибрати рядок Конструктор вікна Новый запрос (рис.8). При цьому відкривається вікно Добавление таблицы, за допомогою якого послідовно відкриваються вкладки Таблицы, Запросы та Таблицы и запросы, вибираються потрібні з них для запиту і формується таблиця клацанням лівою клавішею миші на кнопці Добавить. Потім необхідно клацнути на кнопці Закрыть, на екрані відобразиться вікно Запрос N: запрос на выборку (рис. 9).

Вікно запиту на вибірку має дві частини. Верхня містить схему даних запиту, яка включає вибрані таблиці зі списком полів. Нижня частина вікна є бланком запиту за зразком. Кожний стовпець бланка стосується одного поля.

Для заповнення бланка запиту необхідно виконати такі дії (рис.10):

· у рядок Поле включити імена полів, що застосовуються, “буксуванням” імені поля з відповідної таблиці верхньої частини вікна. Передачу всіх полів таблиці можна зробити за допомогою символу “*”. У рядку Имя таблицы автоматично відображається ім’я таблиці, з якої вибираються необхідні поля;

 

Рисунок 9 – Вікно конструктора запитів

 

· в рядку Сортировка зазначається порядок сортування відібраних записів у підсумковій таблиці (по возрастанию або по убыванию);

· у рядку Вывод на экран указати поля, що включаються в підсумкову таблицю, встановивши позначку;

· у рядку Условие отбора сформувати логічні умови (критерії) відбирання записів, які можуть містити метасимволи (*, #, !, ? та ін.), а також логічні функції И та ИЛИ.

Рисунок 10 – Заповнення вікна запиту

 

У разі необхідності непотрібні поля після їх виділення вилучаються за допомогою клавіші <Delete>. Вилучення всіх полів з бланка запиту виконується за командою ПравкаÞОчистить бланк.

Для формування нових полів можуть використовуватися арифметичні вирази і вбудовані функції.

Вираз вводиться в порожню комірку рядка Поле вільного стовпця бланка запиту і має такий вигляд:

Выражение 1: Int(Date()-[Сотрудники])(![Дата рождения]) (/365),

де Int() – ціла частина аргументу;

Date() – поточна дата;

[Сотрудники] – ім’я таблиці;

[Дата рождения] – ім’я поля.

Для створення нових полів із застосування групових операцій необхідно клацнути лівою клавішею миші на меню ВидÞГрупповые операции.У бланку запиту з’явиться новий рядок Групповые операции. Після цього у заданому полі клацнути лівою клавішею миші у рядку Групповые операции і вибрати потрібну агрегатну (групову) функцію:

· SUM – дозволяє знайти суму значень, які знаходяться у певному полі записів, відібраних запитом;

· COUNT – визначає кількість записів, повернених запитом;

· FIRST/LAST – визначає значення першого чи останнього запису таблиці;

· MIN/MAX – визначає мінімальне чи максимальне значення поля (рис.11);

· AVG – визначає середнє арифметичне в указаному полі записів;

· VAR/VARP – визначає зміщену чи незміщену оцінки дисперсії для значень, які знаходяться в указаному полі записів;

· STDEV/STDEVP - визначає зміщену чи незміщену оцінки стандартного середньоквадратичного відхилення для значень в указаному полі записів.

Рисунок 11 – Приклад написання запиту з агрегатною функцією

Поле можна створювати безпосередньо на ділянці Поле бланка запиту, застосовуючи при цьому Построитель выражений. Для конструювання запиту необхідно клацнути лівою клавішею миші на імені вільного поля бланка запиту на вибірку, клацанням правою клавішею миші викликати контекстно-залежне меню і виконати команду Конструктор.Внаслідок цього на екрані з’явиться діалогове вікно Построитель выражений. Клацанням лівою клавішею миші на потрібних об’єктах бази даних, на кнопках арифметичних, логічних операцій і на кнопках логічних відношень у верхній частині вікна слід набрати потрібний вираз.

За командою ОК вираз передається в бланк-запит, де він розміщується услід за ім’ям поля, що визначається, і відокремлюється від нього двокрапкою “:”.

Побудовник виразів може бути використаний для конструювання умов відбирання даних. При цьому в рядок Условие отбора за допомогою Побудовника виразів вводяться певні критерії відбирання записів з початкових таблиць. Ці критерії можуть містити:

· Метасимволи: *,#, ?, [список _ знаков];

· Логічні функції: OR (ИЛИ), AND (И), NOT (НЕ), EQV(Еквівалентність), XOR(Виключне ИЛИ) та IMP(Імплікація);

· Знаки операцій порівняння <,<=,<>,=,>,>= та BETWEEN (між);

· Знаки арифметичних операцій +, -, *, /, й оператор LIKE;

· Дані різних типів (текстові, числові, грошові, дата/час та ін.).

В умовах відбирання символи #...# використовуються для виділення даних типу дата/час, а символ ‘...’ – для виділення текстових даних.

Створений запит виконується за командою ЗапросÞЗапускабо за допомогою однойменної кнопки панелі інструментів. За командою ФайлÞСохранить как/экспорт він може бути збережений у поточній базі або у файлі із заданим ім’ям.