Прикладні програмні засоби, запити

Запит є об'єктом БД (рис. 3.22). Він являє собою сформульовану інфор-мационного потреба.

При роботі із запитом можна виділити два етапи: формування (проектування) і виконання. При виконанні запиту вибирається інформація з усіх таблиць БД відповідно до критерію запиту.

Прикладні програмні засоби, запити

Мал. 3.22. вкладка Запити

Запити бувають різних типів: на вибірку, на створення, на оновлення, на додавання, на видалення, перехресний, підсумковий, параметричний і ін. За замовчуванням формується запит на вибірку.

Формування запиту здійснюється в Конструкторі запитів. Для цього перейти на закладку Запити (рис. 3.22) і натиснути кнопку Створити. Відкриється вікно Новий запит (рис. 3.23). Є й інші способи виклику Конструктора запитів.

Прикладні програмні засоби, запити

Мал. 3.23. Діалогове вікно для вибору типу запиту

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

Припустимо, необхідно вивести інформацію про договори, укладених співробітником фірми Смирнової Світланою. На рис. 3.24 в верхню частину конструктора перенесені три таблиці: Співробітник. Договори. Країни. У рядок Поле перенесені поля з трьох таблиць: ПІБ. Номер договору. Країна. Дата_начала_тура.

Прикладні програмні засоби, запити

Мал. 3.24. конструктор запиту

Наявність «галочки» в рядку Вивід на екран означає присутність даного поля в таблиці результатів пошуку. Як видно з рис. 3.25, значення поля ПІБ Не буде виводитися на екран.

Критерії запиту встановлюються в рядку Условие отбора і наступних рядках, пов'язаних логічним оператором OR. Всі критерії відбору, зазначені в одному рядку, об'єд-нуються оператором AND. Як Умови відбору можуть бути вирази (обчислюване поле), дати, текст, які або вносяться вручну, або інструментом, або за допомогою команди контекстного меню Побудувати. Константи типу Дата / Час полягають в #.

Тип запиту може бути перетворений в будь-який інший командою Запит або інструментом.

Подвійним клацанням по імені запиту здійснюється виконання запиту (рис. 3.25).

Прикладні програмні засоби, запити

Мал. 3.25. Запит по співробітнику Смирнової Світлани

Обчислювані поля в запитах

За допомогою запитів можна задати обчислення над даними і зробити обчислюване поле новим полем в наборі даних. Для створення нового поля в порожньому осередку рядки Поле в бланку запиту вводиться формула:

Ім'я поля. вираз

Для побудови виразів є спеціальний засіб - Будівник виразів. викли-ваемий правою кнопкою миші на поле або кнопкою Побудувати.

Припустимо, що для співробітника Смирнової Світлани необхідно підрахувати доходи від проданих путівок по кожній країні. У порожньому полі Конструктора запитів викликається будівник виразів. Відкривши папку таблиці, можна вибрати необхідні для обчислень поля і з'єднати їх арифметичними або логічними операндами. На рис. 3.26 видно, що з таблиці Договори вибрано поле Чісло_турістов і помножене на поле Цена_тура тієї ж самої таблиці Договори.

Прикладні програмні засоби, запити

Мал. 3.26. будівник виразів

Результат виконаного запиту можна бачити на рис. 3.27.

Прикладні програмні засоби, запити

Мал. 3.27. Запит по сумі доходів співробітника Смирнової Світлани

Умови запиту можуть бути включені безпосередньо в бланк запиту, але для того щоб зробити його більш універсальним, можна замість конкретного значення відбору включити в запит параметр, тобто створити параметричний запит. Для цього в рядок Условие отбора вводиться фраза в квадратних дужках, яка буде виводитися як «підказки» в процесі діалогу, наприклад, [Введіть прізвище]. Таких параметрів може бути кілька, кожен для свого поля.

При виборі даних може знадобитися знайти якусь функцію, наприклад суму зна-ний або максимальне значення в поле. Запити, які виконують обчислення над групою записів, називаються підсумковими. Для їх складання слід увійти в Конструкторзапросов і вибрати Вид - Групові операції. У бланку запиту з'явиться новий рядок з найменуванням Групова операція. в ній міститься слово Угруповання. У цьому рядку слід вказати, яке вирахували-ня необхідно виконати.

Можливі операції в рядку Групові операції. SUM - складання; AVG - середнє значення; MIN - мінімальне значення; МАХ - максимальне значення; COUNT - кількість записів зі значеннями (без порожніх значень) та інші.

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

Для кожного поля такого запиту може бути обрана одна з установок: Заголовки рядків. Заголовки стовпців. Значення. яка виводиться в осередках таблиці, і «Не відображається».

Для перехресного запиту треба обов'язково визначити хоча б по одному полю як заголовок рядків, заголовка стовпців і значення. Можна використовувати додаткові умови відбору і сортування.

Модифікація за допомогою запитів на зміну

З урахуванням того, що запити на модифікацію БД призводять до незворотних змін інформації, що міститься в БД, доцільно виконувати їх в два етапи. На першому етапі слід провести відбір модифікуються даних запитом на вибірку. Перевірити правиль-ність вибірки. На другому етапі змінити статус запиту на вибірку, встановивши його в відпо-вії із завданням. Потім повторно виконати запит з новим статусом.

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

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

Запит на видалення використовується в тих випадках, коли «старі» або невживані записи таблиць можна видалити, але обов'язково спочатку провести вибірку і перевірити її. Доцільність-різному зробити копію.