Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
!!!Access_готовое_укр.docx
Скачиваний:
22
Добавлен:
15.11.2018
Размер:
1.76 Mб
Скачать

Запити з параметрами

Запит з параметрами - це запит, що при виконанні відображає у власному діалоговому вікні запрошення ввести дані, наприклад, умову для повернення записів або значеннь, які необхідно вставити в поле. Можно розробити запит, що виводить запрошення на введення декількох одиниць даних, наприклад двох дат. Таким чином, Microsoft Access може знайти всі записи, що припадають на інтервал часу між цими датами.

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

Виконання завдання (продовження)

Створимо запит з використанням параметрів - прізвища хворого і меж часового інтервалу.

  1. В режимі конструктора додайте таблиці Хворі, Лікарі, Контроль.

  2. Перемістіть поля (рис. 18) з списку полів в бланк запиту.

  3. Введите в клітинки рядка Условие отбора вирази з текстами запрошень, вкладеним в квадратні дужки

[name of doctor:] і Between [first time:] And [last  time:]

  1. Закрийте вікно конструктора.

  2. Надайте імя запиту «Хворі-Лікарі».

  3. Виконайте запит. У вікні, що зявилося у відповідь на запрошення послідовно введіть прізвище лікаря (наприклад, Петров В.Л.) і межі часового інтервалу. Запит готовий.

Рис. 18

Крім того, можна в запиті з параметрами використовувати знаки підстановки. Для використовують оператор LIKE і знаки підстановки:

*

Відповідає будь-якій цифрі або будь-якому символу. Може використовуватися як перший чи останній символ текстового рядка.

wh* — пошук слів what, white і why.

?

Відповідає будь-якому текстовому символу.

b?ll — пошук слів ball, bell і bill.

[ ]

Відповідає будь-якому одному символу з взятих у дужки.

B[ae]ll — пошук слів ball і bell, але не bill.

!

Відповідає будь-якому одному символу, крім взятих у дужки.

b[!ae]ll — пошук слів bill і bull, але не bell або ball.

-

Відповідає будь-якому символу з діапазону. Необхідно вказати цей діапазон по зростанню (від A до Z, але не від Z до A).

b[a-c]d — пошук слів bad, bbd і bcd.

#

Відповідає будь-якій цифрі.

1#3 — пошук значень 103, 113, 123.

Введіть в клітинку рядка Условие отбора вираз:

LIKE [Enter the first character to search by: ] & "*"

Введіть після запуску запиту текст “Іван” (без лапок). Програма знайде всі прізвища, що починаються на “Іван”.

Запит із параметрами

Запит із параметрами дозволяє вводити по підказці Access конкретні умови вибірки, які називаються параметром. Такі умови можна вводити як у запит на вибірку, так і в запит на зміну.

Приклад 7. Створити запит Замовлено з параметром, який повинний дозволяти користувачу відбирати замовлення по визначених клієнтах.

Виконання. Скопіювати запит Замовлений (через контекстне меню) і вставити його з ім'ям Замовлено з параметром -> відкрити цей запит у режимі конструктора -> у поле Найменування клієнта по рядку Условия отбора написати [Уведіть найменування замовника:]

(рисунок 9.19) -> зберегти змінений запит.

Рисунок 1 Бланк запиту з параметром

При виконанні даного запиту (таблиця) користувачеві буде видаватися діалогове вікно для уведення найменування замовника, по якому необхідно зробити вибірку.

Таблиця - Результат роботи запиту Замовлено з параметром (параметр - Найменування клієнта)

Поля, які розраховуються у запитах

Як уже говорилося, у полях таблиць бази даних зберігаються первинні дані, те, що можна обчислити в базі даних не зберігають, а одержують за допомогою запитів. Поле, яке розраховується, створюється шляхом простого уведення вираження для обчислення в порожньому стовпці бланка запиту. Так, наприклад, вартість замовлення обчислюється за допомогою наступного вираження: [Ціна] *[Кількість]. Access автоматично підставляє Выражение1: [Ціна] * [Кількість]. Выражение1: можна замінити на більш змістовну назву Сума:. Назви полів у квадратних дужках повинні строго відповідати назвам полів вхідних таблиць або запитів. З цього погляду надійніше користуватися спеціальним засобом для побудови формул - Построителем. Цей засіб стає доступним у режимі Конструктор через контекстне меню поля з формулою -> к. Построить або через кнопку (паличка сипле сніг) панелі інструментів Конструктор запросов (рис. 3).

Приклад 2. Створити запит Сума замовлення, у якому по кожному рядку замовлення буде розраховуватися сума.

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

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

Рисунок 2 Бланк конструктора запитів і вікно Построителя выражений при формуванні запиту з розрахунками.

У результаті запиту буде отримана таблиця з новою графою Сума, правити яку користувач не може.

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

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

Приклад 3 Створити запит Товари по датах, у якому визначається кількість товарів замовлених по датам у розрізі найменувань.

Виконання. Для запиту, що створюється, необхідно підраховувати кількість товарів по кожній даті (старша ознака групування), кожному найменуванню (наступна ознака групування). Створити запит Товари по датах можна на основі вже існуючого запиту Заказано.

У вікні конструктора на підставі запиту Замовлено створити новий запит з полями Дата замовлення, Найменування товару, Кількість, Ціна -> м. Вид -> команда Групповые операции (у бланку запиту з'являється рядок групповые операции) -> для всіх ознак групування у цьому рядку варто залишити операцію группировка -> у рядку Сортировка для кожної ознаки, що групується можна вибрати спосіб упорядкування, наприклад, по возрастанию, -> для поля у рядку Групповые операции вибрати SUM (рис. 4).

Рисунок 3 Бланк створення підсумкового запиту

Залишилося зберегти запит під потрібним ім'ям: меню Файл -> команда Сохранить -> увести ім'я запиту Товари по датах -> ОК. Результат виконання запиту показаний у табл.

Одержувані на екрані результати запитів можна переглядати й друкувати стандартним способом.

Приклад 4. Створити запит Замовлено по датах у підсумковому виразі, у якому по кожній даті будуть показана загальна сума замовлень, мінімальна, максимальна і середня суми замовлень.

Виконання. Необхідний запит можна створити на підставі запиту Сума замовлення з використанням статистичних функцій. Створити новий запит -> перенести в нього поля Дата замовлення і Сума з запиту Сума замовлення (поле Сума перенести в чотири поля нового запиту для виконання необхідних обчислень) -> м. Вид -> команда Групповые операции -> виставити в рядку групповая операция необхідні функції (рис. 5) -> зберегти запит з ім'ям Замовлено по датах.

Рисунок 4 Бланк запиту для прикладу 4

Результат виконання запиту показаний у таблиці.

Таблиця - Результат роботи запиту Замовлено по датах с використанням статистичних функцій.

Примітка 1. Якщо необхідно в одному стовпці робити обчислення й вказувати умови відбору, то цей стовпець у запиті варто повторити двічі й в кожному вказати одну з вимог. Один із цих стовпців не треба виводити на екран.

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