Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБД З Савчук ТО.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
14 Мб
Скачать
☆

2 Обчислення в запитах

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

Поле, що обчислюється, може створюватись як в запиті, так і в звіті.

Прості обчислення

Перед створенням поля, що обчислюється в запиті, необхідно визначити, які поля таблиць бази даних будуть опрацьовуватись. Access здатен створити обчислювальне поле з опрацюванням тільки тих полів таблиць бази даних, що знаходяться у верхній частині вікна ЗАПРОС НА ВЫБОРКУ (рис. 4.84).

Для створення поля, що обчислюється, потрібно виконати такі дії:

  • вибрати область введення в рядку ПОЛЕ, де повинен розміститися результат;

  • ввести формулу, за якою потрібно провести розрахунок.

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

Розглянемо приклад. Ціни на товари підвищилися на 47%. Для обчислення нової ціни товарів потрібно додати 47% до попередньої ціни. Access не розпізнає символ відсотка (%), і тому необхідно перевести його в десяткове число у виразі, за яким потрібно провести розрахунок. Створення нового обчислювального поля в таблиці бази даних, що містить поле [Цена], буде виконано Access за виразом: [Цена]+([Цена]·0,47).

Рисунок 4.84 – Визначення полів, що використовуються при створенні обчислювального поля, у діалоговому вікні ЗАПРОС НА ВЫБОРКУ

Обчислення може бути проведеним в будь-якому полі, що знаходиться в рядку ПОЛЕ. На рисунку 4.85 показано процес введення формули для обчислення за розглянутим прикладом.

Рисунок 4.85 – Приклад введення формули для обчислень

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

Для введення у формулу полів з різних таблиць бази даних, для кожного поля вказують ім'я відповідної таблиці. При цьому вводять в квадратних дужках ім'я таблиці, ставлять знак оклику і вводять в квадратних дужках ім'я поля цієї таблиці: [Ім'я таблиці]![Ім'я поля таблиці].

Після виконання запиту, Access виведе на екран таблицю, у якій будуть знаходитися відповідні поля і додатковий стовпець обчисленого значення. Ім'я обчислювального поля Access може присвоїти за замовчуванням (наприклад, ВЫРАЖЕНИЕ 1 на рис.4.86). Для присвоєння обчислювальному полю іншого імені необхідно замінити ВЫРАЖЕНИЕ 1 будь-яким іншим іменем.

Рисунок 4.86 – Таблиця з обчислювальним полем ВЫРАЖЕНИЕ 1

Крім зміни імені поля, можна змінити і його формат. Для цього в режимі КОНСТРУКТОРа запиту натискають праву кнопку миші на полі, що обчислюється, і з меню, що з’явилось, вибирають послідовність команд СВОЙСТВА ПОЛЯÞФОРМАТ ПОЛЯ, й кнопку списку, який розкривається (рис. 4.87) (наприклад, ДЕНЕЖНЫЙ). Цей формат застосовується для всіх значень поля.

Рисунок 4.87 – Діалогове вікно СВОЙСТВА ПОЛЯ

Складні обчислення

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

На рисунку 4.88 зображено таблицю запиту, в якій обчислюється три вирази з іменами ВЫРАЖЕНИЕ 1, ВЫРАЖЕНИЕ 2, УВЕЛИЧЕНИЕ. І в першому, і в другому виразі використовується поле [Цена], а в третьому виразі використовується результат, отриманий при обчисленні першого виразу.

Рисунок 4.88 – Приклад запиту, в якому обчислюється три поля

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

Кожний вираз має своє ім'я (це текст, що знаходиться безпосередньо перед самим виразом). Для використання певного обчислювального поля в іншому виразі, що обчислюється, його ім'я подають в квадратних дужках, як ім'я звичайного поля. Якщо змінити ім'я одного з полів, що бере участь у подальших обчисленнях, необхідно змінити і посилання на це поле. (рис.4.89).

Якщо Ви змінюєте і’мя одного з полів… Вам необхідно змінити і посилання на це поле

Рисунок 4.89 – Використання обчислювальних полів [Новая цена] і [Старая цена] при створенні обчислювального поля УВЕЛИЧЕНИЕ

При необхідності включити у формулу значення, якого немає в базі даних, але воно може бути заданим користувачем, необхідно створити поле, ім'я якого буде використовуватися у формулі. Наприклад, якщо у поле [Новая цена], ввести формулу [Цена]+[Цена]*[Процент увеличения], а значення поля [Процент увеличения] відсутні, при виконанні запиту Access виведе на екран діалогове вікно ВВЕДИТЕ ЗНАЧЕНИЕ ПАРАМЕТРА, в якому це значення можна ввести (рис. 4.90).

Рисунок 4.90 – Діалогове вікно ВВЕДИТЕ ЗНАЧЕНИЕ ПАРАМЕТРА