У системі Access є вбудовані функції, що дають змогу узагальнити дані деяких полів і полегшити опрацювання даних. Запити, у яких використовуються такі функції, називають по-різному, наприклад підсумковими запитами. Але найчастіше їх називають запитами з функціями.
У системі Access існує два способи використання перелічених функцій:
• до запиту, відкритого в режимі таблиці, додається запис підсумків, у якому для кожного поля може використовуватись одна з функцій;
• у режимі конструктора створюється підсумковий запит, у якому обчислюються проміжні підсумки за групами записів.
Деякі функції системи Access:
• Sum (Сума) — обчислює суму значень елементів поля;
• Avg (Середнє) — обчислює середнє значення поля;
• Max/Min (Максимум/ Мінімум) — повертає елемент із максимальним/мінімальним значенням поля;
• Count (Кількість) — підраховує кількість записів за значенням поля.
Практичне завдання. Працюємо у MS Access.
Увага! Під час роботи з комп'ютером дотримуйтеся вимог безпеки життєдіяльності та санітарно-гігієнічних норм.
Завдання 1. Створити Запит_4, за допомогою якого з таблиці КАДРИ вибираються записи про співробітників, які народилися після 1961 року і мають стаж понад 15 років. Результуючі записи повинні містити поля: Прізвище, Посада, Рік народження, Стаж і Оклад. Підрахувати кількість результуючих записів за значенням поля Прізвище й обчислити загальну суму окладів цих осіб.
Порядок виконання:
1. Створимо в режимі конструктора звичайний запит на вибірку.
2. Збережемо запит з іменем Запит_4 і виконаємо його. Результат виконання запиту наведено на рис. 3.6.
3. На вкладці Основне в групі Записи натиснемо кнопку Підсумки ( ∑ ). Під останнім записом таблиці (рис. 3.6) з’явиться новий запис Підсумок. У цьому записі клацнемо поле Прізвище та в списку, що відкриється, виберемо функцію Кількість.
4. Аналогічно в цьому самому записі поля Оклад виберемо функцію Сума. У результаті отримаємо результат, як наведено на рис. 3.7.
5. Для збереження внесених змін ще раз клацнемо кнопку Зберегти.
Завдання 2.
1. Створимо звичайний запит на вибірку в режимі конструктора, наприклад запит, за допомогою якого з таблиці КАДРИ вибираються прізвища працівників з окладом понад 4 000 грн і підраховується їх кількість. Результуючий перелік записів має містити поля Справа, Прізвище, Стаж, Оклад.
2. Уведемо в рядок Критерії поля Оклад вираз >4000.
3. На вкладці Конструктор відкриємо меню кнопки Відображення або приховання й виконаємо команду Підсумки ( ∑ ). У конструкторі запиту з’явиться рядок Підсумок, а в кожному полі цього запису буде зазначено Групування за.
4. У записі Підсумок клацнемо те поле, за яким потрібно виконати підрахунок кількості записів (наприклад, поле Справа). У списку, що відкриється, виберемо функцію Кількість (рис. 3.8).
5. Збережемо Запит_3 та виконаємо.
Запити з полями, що обчислюються, — це запити, які дозволяють виводити в результуючий набір записів не лише поля таблиць, а й нові поля, які створює сам користувач. У запитах із полями, що обчислюються, містяться дані, отримані під час обчислення даних полів таблиць. Наприклад, на основі даних таблиці КАДРИ в результуючий набір записів можна ввести поле Доплата, у якому обчислюється доплата до окладу залежно від стажу працівника.
Завдання 3. Припустимо, що за кожен рік стажу понад 5 років працівники отримують надбавку у розмірі 1 % від посадового окладу. Тоді надбавку можна обчислити за формулою: Доплата = Оклад*(Стаж–5)/100.
На основі таблиці КАДРИ створимо запит з іменем Запит_5, за допомогою якого виводяться всі записи таблиці з полями Прізвище, Стаж, Оклад і Доплата, значення якого обчислюється за наведеною формулою.
Відкриємо БД atb, активуємо вкладку Створення й клацнемо кнопку Макет запиту. Із таблиці КАДРИ перенесемо в конструктор запиту поля Прізвище, Стаж, Оклад, а в наступне поле введемо вираз: Доплата:[Оклад]*([Стаж]–5)/100. Зверніть увагу на те, що імена полів, які входять у вираз, беруться у квадратні дужки. (На полі Доплата ПКМ викликати Побудувати, потім ввести формулу виразу, беручі імена полів у квадратні дужки).
Установимо в записі Сортування поля Прізвище значення За зростанням для того, щоб прізвища виводилися в алфавітному порядку. Створений запит зображено на рис. 3.9.
Збережемо запит з іменем Запит_5 (згадаємо, що для цього потрібно натиснути кнопку Зберегти, у вікні, що відкриється, ввести ім’я запиту й клацнути кнопку ОК). У результаті виконання запиту має з’явитися результат, як наведено на рис. 3.10.
Закриємо Запит_5.
Зверніть увагу на те, що якщо стаж менше 5 років, то працівник не отримає доплату. Як скоректувати умову для цього випадку? Продумайте!
Додайте стовпець Заробітна плата, у якому обчислюється зарплата працівника (Оклад +Доплата).
Завдання 4. Створіть Запит51 на основі таблиці УЧНІ, за допомогою якого підраховується кількість учнів, улюбленими предметами яких є географія та фізика. Записи повинні містити поля Прізвище, Клас, Улюблений предмет.
Завдання 5. Створіть Запит52 на основі таблиці УЧНІ, за допомогою якого обчислюється середній бал успішності учнів 11 класів окремо з інформатики й окремо з історії.
Завдання 6. Створіть Запит53 на основі таблиці УЧНІ, за допомогою якого обчислюється кількість учнів, які мешкають на вул. Лугова.
Завдання 7. Створіть Запит54 на основі таблиць КЛАСИ й УЧНІ, за допомогою якого обчислюється спільний середній бал успішності з інформатики та історії учнів класу, яким керує Дерев’янко Н. С.
Завдання 8. Створіть Запит55 на основі таблиці УЧНІ, за допомогою якого обчислюється середній зріст учнів кожного класу.
Завдання 9. Створіть Запит56 на основі таблиць КЛАСИ й УЧНІ, за допомогою якого для учнів 10 класу, улюбленим предметом яких є інформатика, обчислюється різниця середнього бала успішності з інформатики та історії.