Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratorna #2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
685.57 Кб
Скачать

Б) Оновлення даних

Припустимо, що потрібно підняти ціну усіх товарів таблиці Товари на 5%, тобто однаково змінити всі дані поля.

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

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

Виконання такого запиту приведе до того, що у таблиці Товари_копія всі ціни будуть збільшені на один і той самий коефіцієнт - 0,05. Збережіть запит під назвою Нова ціна. Кожне наступне виконання цього запиту збіліьшуватиме ціну на 5%.

В) Операції з текстовими полями

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

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

. [Категория] & "-(" & [КодТипа] & ")", де символ "-" означає пробел.

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

Приклад 6. Створення у запитах виразів за допомогою побудовувача

А) Створення простого виразу

Обчислимо суму замовлень кожного клієнта (на основі записів таблиці Закази).

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

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

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

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

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

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

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

Зауваження При додаванні таблиці у вікні конструктора запиту автоматично відобразиться зв'язок типу "один-до-багатьох", який зв'язує дані двох таблиць

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

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

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

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

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

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

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

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

Б) Побудова складних виразів:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]