Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні-Access.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
63.15 Mб
Скачать

14. Створити запит Закінчується, який у таблиці Товары позначатиме товар, кількість якого на складі менша за 10 одиниць.

У результаті виконання такого запиту повинно утворюватись нове поле, в якому відображатиметься повідомлення ”ЗАКІНЧУЄТЬСЯ”. Для цього на бланку конструктора запиту до таблиці Товары, в якому знаходяться ті поля, які на думку користувача є необхідними (у нашому випадку це поля КодТовара, Марка, Цена, НаСкладе), потрібно створити обчислювальне поле Повідомлення, котре визначатиметься виразом:

IIf([НаСкладе]<10; ”закінчується”; ).

Зауваження

Синтаксис функції IIf аналогічний до синтаксису стандартної функції організації розгалуження If:

IIf (умова; значення_1; значення_2),

де умова – логічний вираз, який може приймати одне з двох значень True або False; значення_1 – значення, яке прийме функція, якщо логічний вираз приймає значення True, значення_2 – значення, яке прийме функція, якщо логічний вираз приймає значення False.

&

Умова задається нерівністю, яка визначається кількістю одиниць найменування на складі (значенням у полі НаСкладе). Якщо кількість менша 10 одиниць, то у полі Повідомлення з’явиться слово ”ЗАКІНЧУЄТЬСЯ”, якщо ж кількість перевищує 10 одиниць, то комірка залишиться порожньою.

15. Створити запит Вік, який відображатиме записи тих співробітників, кому виповнилося 40 років.

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

Вираз для проведення таких обчислень, матиме вигляд:

IIf (DateSerial (Year(Date()); Month([ДатаРождения]);_

Day([ДатаРождения]))<Date();Year(Date())-Year([ДатаРождения]);_

Year(Date())-Year([ДатаРождения])-1),

де DateSerial(Y, M, D) – функція, яка перетворює у дати три числа: Y – рік, M – місяць та D – день. У нашому випадку функція

DateSerial (Year(Date());Month([ДатаРождения]);Day([ДатаРождения]))

з поточного року Year(Date()) місяця дня народження та дня народження сформує дату народження у поточному році. Якщо ця дата передує поточній даті Date(), тобто день народження уже був у цьому році, то вік обчислюється як різниця між поточним роком та роком народження Year(Date())-Year([ДатаРождения]), якщо ж дня народження ще не було, то від різниці між роками віднімається один рік.

Для того, щоб відобразити записи працівників, яким за 40 років, потрібно додати ще умову на поле Вік >40.

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

Створимо спочатку запит Замовлено товарів, який відображатиме записи про замовлення клієнтами відповідних найменувань із зазначенням кількості та ціни найменування, тобто динамічна таблиця результату виконання запиту повинна складатися з таких полів: КодКлиента (з таблиці Заказы), Марка (з таблиці Товары), Количество і Цена (з таблиці Заказано) (мал. 2.23).

Мал. 2.23. Вікно конструктора запиту ”Замовлено товарів”

На основі цього запиту створимо перехресний запит, використовуючи відповідний майстер, який завантажиться після вибору елементу Перекрестный запрос діалогового вікна Новый запрос. На першому кроці майстра вибираємо запит Замовлено товарів, на основі якого буде створюватись новий запит. На другому і третьому кроках виберемо у ролі рядків значення поля КодКлиента, а у ролі стовпців – значення поля Марка. На наступному кроці майстра задамо функцію Сумма для проведення обчислень зі значеннями поля Количество, а також відмінити опцію для проведення підсумкових обчислень по кожному рядку. На останньому кроці назвемо запит Клієнт-товар та задамо опцію для перегляду результату виконання запиту (структуру запиту можна побачити на мал. 2.24).

Мал. 2.24. Структура перехресного запиту Клієнт-товар

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