
- •Лабораторна робота № 4-5
- •1. Створення простих запитів.
- •2. Створення запиту з використанням функції змішаного типу iif(a;b;c).
- •3. Запити по декількох таблицях. Побудова внутрішніх зв'язків.
- •5. Створення параметричного запиту.
- •6. Перехресні запити.
- •7. Створення запиту на оновлення.
- •8. Запит на вилучення записів з таблиці.
- •9. Запит на створення таблиці.
6. Перехресні запити.
Перехресні запити - це запити, у яких обчислюються статистичні дані і визначається їх зовнішній вигляд. Інформація виводиться у вигляді таблиці. З допомогою цього типу запитів можна вказати поле, яке є заголовком рядка, використовуючи операцію GROUP BY (групування); задати поле або поля, які є заголовками стовпців, а також умову, яка визначає значення в стовпцях; вказати місце розташування даних у таблиці; згідно результатів запитів можна побудувати діаграми з допомогою CHART WIZARD (майстер діаграм).
Приклад 1. Побудова перехресного запиту.
Створюємо запит на основі трьох таблиць Моделі, Замовлення, Замовники як було описано вище. Виконуємо команду QUERY (запит) ) => CROSSTAB (перехресний). Записуємо інформацію в запит у вигляді:
Надаємо йому ім'я перехресний1. Після цього виконуємо запит. Проаналізувати результат запиту.
Приклад 2. Створення обчислювального поля.
Створимо ще один перехресний запит у вигляді:
У даному запиті введено обчислювальне поле виду:
SUM([Замовлення]! [Ціна] * [Замовлення]! [Кількість])
Записати запит з іменем перехресний2. Обчислювальне поле можна ввести використавши побудовувач виразів.(див. Запит5). Виконати запит.
7. Створення запиту на оновлення.
Уявімо, що в результаті підвищення цін на енергоносії та нафтопродукти необхідно підняти ціни. За допомогою запиту на оновленні можна внести зміни в таблицю. В процесі створення запиту потрібно виконати команду QUERY (запит) => UPDATE QUERY (запит на оновлення). Після виконання цієї команди в проект запиту додається рядок - UPDATE TO (оновлення). У цьому рядку потрібно вказати для оновлюваного поля нову формулу.
Приклад 1. Створення запиту на оновлення таблиці Замовлення.
У таблиці Замовлення в режимі конструктора введемо нове поле НоваЦіна, тип -CURRENCY. Тоді створюємо запит на основі таблиці Замовлення, де в бланку запиту виконуємо команди, про які сказано вище. Запит мас вигляд:
Назвемо запит Оновлення. Виконаємо його. З явиться повідомлення про кількість записів, які оновлюються. Клацаємо на клавіші ОК, щоб почати операцію. Після її виконання значення в полі НоваЦіна в таблиці Замовлення зміняться. Закриємо вікно запиту і переглянемо таблицю. Запит Оновлення можна переглянути на мові SQL. Для цього відкриємо запит в режимі конструктора і виконаємо команди VIEV => SQL. Тут можна вносити зміни, наприклад, збільшити ціну на 1,2.
Приклад 2. Створення запиту з використанням умови. Можливі ситуації, коли зручно закодувати текст якогось поля таблиці у вигляді чисел. Наприклад, якщо поле таблиці містить назви кольорів і відтінків, кількість яких постійно збільшується, зручніше позначити їх числами і зберігати в окремій таблиці. Щоб закодувати текст поля таблиці у вигляді чисел, створимо запит на оновлення. У таблиці Моделі в режимі конструктора введемо поле Nколір, тип якого NUMBER. Створюємо запит на основі конструктора запитів на основі таблиці Моделі. Виконуємо потрібні команди, щоб перетворити запит на вибірку в запит на оновлення, про які сказано вище. Тоді в рядку FIELD (поле) вибираємо поле Nколір, в рядку ТАВLE (таблиця) вибираємо таблицю Моделі, в рядку UPDATE ТО (оновлення) за допомогою побудовувача формул, використавши функцію iif або вручну, записуємо формулу:
iif([моделі]! [Колір]= "зелений ";1;iif([моделі]![Колір]="червоний ";2;3))
Ця функція повертає значення 1, якщо поле Колір містить значення "зелений". Якщо колір- червоний, то повертає значення 2, інакше - 3. Якщо функція має вигляд IIF([моделі]![Ціна]>1000; "некупляти"; "купляти "), то при ціні більшій 1000 буде написано некупляти, в іншому випадку - купляти.
Вікно запиту має вид :
Назвемо запит Оновлення2. Виконаємо запит. З'явиться повідомлення про кількість записів, які оновлюються. Клацаємо на клавіші ОК, щоб почати операцію. Після її виконання значення в полі Nколір в таблиці Моделі зміняться. Закриємо вікно запиту і переглянемо таблицю Моделі.
Запит на додавання записів з однієї таблиці в іншу. Щоб додати дані з однієї таблиці в іншу, потрібно в вікні конструктора запиту висвітлити таблицю, дані якої будемо вставляти в іншу таблицю. Тоді виконуємо команди QUERY (запит) => АРРЕND QUERY(запит на додавання). Відкриється діалогове вікно АРРЕND (додати), де у рядку ТАВLE NАМЕ (ім'я таблиці) вибираємо зі списку ім'я таблиці, в яку будемо вставляти дані, і активізуємо опцію CURRENT DATABASE (в поточній базі), якщо таблиця знаходиться в поточній базі даних або опцію ANOTHER DATABASE (в іншій базі), якщо таблиця знаходиться в іншій базі даних, і тоді стає активною опція FILE NАМЕ (ім'я файлу), в якій вказуємо повний шлях і ім'я файлу і клацаємо на ОК. Після цього в вікні конструктора запиту з'являється рядок АРРЕND ТО (додати до). У цьому вікні вказуємо, в які поля ми повинні вставити дані. Кількість полів в записах, які додаються має бути такою ж, як і в таблиці, в яку вони вставляються. Якщо таблиця, в яку додаються записи, містить поле первинного ключа, то записи, які додаються, повинні мати еквівалентне поле. При виконанні запиту з'явиться повідомлення про кількість записів, які додаються.
Приклад 3. Створення запиту на додавання записів у таблицю.
Створимо таблицю Потенційні замовники з полями: КодЗамовника - NUMBER, ПотенційнийЗамовник - ТЕХТ, Телефон – ТЕХТ. Для поля Телефон у розділі FIELD PROPERTIES (властивості полів), у вкладці GENERAL (загальний) у рядку INPUT МАSК (ввести маску) ввести маску -(000) 000-000. Ключового поля у таблиці не будемо встановлювати. У таблицю введемо одне або декілька прізвищ.
Наприклад, таблиця має вигляд:
КодПотенційногоЗамовника |
ПотенційнийЗамовник |
Телефон |
1 |
Перелазенко В.П. |
(224)512-454 |
2 |
Шевченко Л.К |
(425)365-253 |
3 |
Сидоренко А.Р. |
(212)456-846 |
4 |
Петрененко С.М. |
(254)263-598 |
5 |
Іваненко І.П. |
(325)624-563 |
6 |
Вернигора О.П. |
(612)451-554 |
7 |
Іваничук Д.Т. |
(255)689-235 |
На основі конструктора запитів створюємо запит, в який додаємо таблицю Замовники. У бланк запиту вставляємо всі поля, дані з яких будемо додавати в таблицю ПотенційніЗамовники. У цьому ж вікні запиту виконуємо команду QUERY =>АРРЕND QUERIES. З'являється вікно, у якому з допомогою клавіші розкриття списку виберемо назву таблиці ПотенційніЗамовники в яку будемо вставляємо поля з таблиці Замовники. Клацаємо на клавішу ОК. Вікно запиту має вигляд:
Виконаємо запит і переглянемо таблицю ПотенційніЗамовники. Запам'ятаємо запит під назвою Додавання.