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

9. Створити запит на оновлення, за допомогою якого ціна усіх товарів таблиці Товары на 5%.

Зауваження

Оскільки після оновлення всі старі дані знищуються і їх не можна відновити, то перед створенням запиту на оновлення рекомендується створити копію таблиці Товары (наприклад Товари_копія)

&

На бланку конструктора запиту на оновлення по­винні знаходитися лише ті поля, дані яких потрібно змінити. Тому на бланку запиту до таблиці Товари_копія повинно знаходитись лише поле Цена. Після вибору зі списку кнопки Тип запроса елемента Обновление на перетині рядка Обновление, який після цього з’явиться, та стовпчика Цена введемо вираз: [Цена]*1,05.

Виконання такого запиту приведе до того, що у таблиці Товари_копія всі ціни будуть збільшені на один і той самий коефіцієнт – 0,05.

Збережіть запит під назвою Нова ціна. Кожне наступне виконання цього запиту збільшуватиме ціну на 5%.

10. Створити запит Категорія+код, який об’єднає інформацію двох полів таблиці Типы (поле Категория і КодТипа) в одному полі (Нове поле).

Програма Access 2003 дозволяє виконувати логічні операції не лише з числовими даними, а й з текстовими полями. Створимо за допомогою майстра запит до таблиці Типы, в який ввійдуть поля Категория і КодТипа. У режимі конструктора задамо вираз, який визначатиме нове поле:

[Категория] & "(" & [КодТипа] & ")",

де символ ”” означає пропуск.

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

11. Створити запит, за допомогою якого можна обчислити суму замовлень кожного клієнта (на основі записів таблиці Заказы).

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

Вартість замовлення одного найменування обчислюється за формулою:

[Цена]*[Количество]*(1-[Скидка]/100),

де в квадратних дужках записані назви відповідних полів таблиці Заказано.

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

У базі даних ”Борей” створимо запит Вартість замовлень, в структуру якого ввійде лише поле КодКлиента (таблиці Заказы).

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

Зауваження

При додаванні таблиці у вікні конструктора запиту автоматично відобразиться зв’язок типу ”один-до-бага­тьох”, який зв’язує дані двох таблиць

&

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

Для створення такого виразу використаємо побудовувач виразів. Для цього, перебуваючи у комірці, де треба створити вираз, викличемо побудовувач за допомогою кнопки Построить панелі інструментів. У верхнє поле вікна побудовувача введемо знак рівності (з клавіатури або за допомогою кнопки середньої частини вікна). У лівій нижній частині вікна побудовувача виберемо папку Таблицы, а в ній таблицю Заказано. Із середньої нижньої частини вікна виберемо поле Цена та перенесемо його у вікно побудовувача (двічі клацнувши по полю або натиснувши кнопку Вставить). Аналогічно будуємо вираз далі. У результаті цього у вікні побудовувача (мал. 2.21) з’явиться вираз:

= [Заказано]![Цена] * [Заказано]![Количество] * (1- [Заказано]![Скидка] / 100 )

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

Мал. 2.21. Вікно побудовувача виразів після створеного виразу

Для того, щоб просумувати усі замовлення для кожного клієнта, у запиті Вартість замовлень підключимо групові операції (за допомогою кнопки Групповые операции) та виберемо функцію додавання для поля Вартість. Вікно конструктора запиту матиме вигляд, наведений на мал. 2.22.

Мал. 2.22. Вікно конструктора запиту з обчислювальним полем Вартість

Зауваження

При повторному відкритті конструктора запиту на бланку у комірці з обчислювальним полем буде знаходитись вираз:

Вартість: Sum([Заказано]![Цена]*[Заказано]![Количество]* (1-[Заказано]![Скидка]/100)),

а в рядку групових операцій – елемент Выражение. Програма сама змінила вираз врахувавши операцію додавання

&