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

12. Ознайомтесь з запитами бази даних ”Борей”

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

Зауваження

Функція Ccur у виразі задає грошовий формат для результату обчислень.

&

Для ілюстрації запитів з обчислювальними полями, вирази яких створюють за допомогою побудовувача виразів, варто також розглянути запит Продажи товаров в 1997, який створено на основі зв’язаних таблиць Типы, Товары, Заказано, Заказы. Запит обчислює суми продажу кожного найменування по кварталах 1997 року.

Обчислювальне поле у стовпчику ПродажиТоваров таке саме, як і поле ПромежуточнаяСумма запиту Промежу­точная сумма заказа. Для визначення кварталу продажу використано функцію DatePart.

Зауваження

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

&

У нашому випадку, функція DatePart ("q";[ДатаИсполнения]) виведе число, яке відповідатиме номеру кварталу (параметр q) для кожного значення поля ДатаИсполнения. Об’єднавши це число за допомогою символу об’єднання & із словом Кв ,отримаємо вираз на зразок ”Кв 1”. Отже, у обчислювальному полі, яке повинно відображати номер кварталу, розміщено вираз:

КварталИсполнения: "Кв" & DatePart("q";[ДатаИсполнения])

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

На основі полів цього запиту створено інший запит – Продажи по типам в 1997.

Варто також ознайомитись із структурою запиту Продажи по годам, який створений на основі полів таблиці Заказы та запиту Промежуточная сумма заказа. Цей запит відображає записи виконаних замовлень таблиці Заказы, протягом певного проміжку часу. Часовий діапазон задається початковою та кінцевою датами, які вводяться у поля діалогового вікна параметричного запиту. Умова

Is Not Null And Between [Forms]![Продажи по годам]![НачальнаяДата]_ And [Forms]![Продажи по годам]![КонечнаяДата],

яка накладена на поле ДатаИсполнения таблиці Заказы означає, що вибиратимуться записи, в яких поле ДатаИсполнения не порожнє і значення попадають у діапазон, який задано у вікнах створеної форми ”Продажи по годам

Зауваження

Символ підкреслення ( _ ) при записі виразу використовується для переносу операторів при записі виразів

&

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

13. Створити запит Іменинники, який відображатиме записи співробітників фірми ”Борей”, у яких у поточному місяці буде день народження.

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

Month([Сотрудники]![ДатаРождения])=Month(Now()),

де функції Month() і Now() знаходяться у списку вбудованих функцій (папка ФункцииВстроенные функции, категорія Дата/время вікна побудовувача виразів).

Оскільки створений вираз – логічний, то він може приймати лише одне з двох значень: False або True. Виводити треба лише записи, для яких цей вираз приймає значення True (істина), тобто у рядок умови відбору вводять значення Yes (або Да для русифікованої версії). Результатом виконання такого запиту буде динамічна таблиця із записами співробітників, у яких день народження припадає у поточному місяці.