XXXIIi. Запити з обчислювальними полями

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

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

Отримано: [Нараховано] - [Податки]

У вузький стовпець непросто записати довгу формулу, але якщо натиснути комбінацію клавіш SHIFT+F2, то відкривається додаткове діалогове вікно, яке називається Область ввода. У ньому можна ввести скільки завгодно довгу формулу, а потім клацанням по кнопці ОК перенести її у бланк запиту. Якщо включити відображення обчислюваного поля, результати обчислень будуть видаватися у результуючій таблиці.

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

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

Приклад1: Нехай необхідно обчислити нову вартість путівки з врахуванням подорожчання на 25%. Для створення такого запиту, потрібно в рядку Поле сітки додати ще стовпчик шляхом вписання виразу:

Нова ціна:[Ціна]*1,25

На сітці QBE цей запит матиме вигляд:

В результаті виконання запиту отримаємо таблицю:

Приклад з використанням функцій: Вік:int((Date()-[Дата_народження])/365)

У цій формулі int означає ціла частина від виразу, Date() – поточна дата, [Дата_народження] – поле Дата_народження з таблиці.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: