Створення запитів з розрахунками.

Лабораторна робота №5

Розрахунки у запитах бази даних

Мета роботи: навчитися створювати запити з розрахунками.

Теоретичні відомості

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

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

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

Створення запитів з розрахунками. - student2.ru Отримано: [Нараховано] - [Податки]

Створення запитів з розрахунками. - student2.ru

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

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

Хід роботи:

Створення запитів з розрахунками.

Завдання 1.Необхідно створити запит, на основі таблиціАбоненти,у якому будуть присутні поляНомер_абонента, Прізвище, Ім_я, По_батьковіта обчислюване поле, у якому повинен обчислюватися вік абонентів. Відсортуйте дані за новим поле за зростанням.

Для цього:

1. Створіть запит у режимі конструктора.

2. Додайте таблицю Абоненти.

3. Вкажітьполя відповідні умові.

4. У поле поряд з полем По_батькові замість імені введіть формулу розрахунку віку абонентів:

Вік:int((Date()-[Дата_народження])/365)

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

5. Відсортуйте цей стовпчик за полем Вік,вказавши вид сортування у рядку Сортировка – по возрастанию.

6. Збережіть даний запит з ім’ям Запит з віком абонентів.

Завдання 2.Створіть запит на основі таблицьАбоненти, Видача книг, Каталог.Включіть поля Номер_абонента, Прізвище, Ім_я, По_батькові, Назва_книги, Автор, Відмітка_про_поверненнята нове поле з ім’ям та формулою Скільки_днів_книга_на руках:Date()-[Дата_народження],а Условие отборадля поля Відмітка_про_повернення – Выкл, та для цього поля у рядку Вывод на экрануберіть галочку.

Для цього:

1. Створіть запит за допомогою конструктора.

2. Додайте таблиці Абоненти, Видача книг, Каталог.

3. Включіть поля Номер_абонента, Прізвище, Ім_я, По_батькові, Назва_книги, Автор, Відмітка_про_повернення.

4. Додайте нове поле з ім’ям та формулою

Скільки_днів_книга_на руках:Date()-[Дата_видача]

5. Вкажіть Условие отборадля поля Відмітка_про_повернення – Выкл

6. Для поля Відмітка_про_повернення у рядку Вывод на экрануберіть галочку. А для всіх інших полів поставте.

7. Збережіть запит з ім’ям Запит на кількість днів.

Контрольні запитання:

1) Де у бланку запиту вводиться формула для створення запиту, який проводить обчислення?

2) Яким чином вказуються поля таблиць, які приймають участь у розрахунках?

3) Де вказується ім’я нового обчислюваного поля у формулі?

4) Як відсортувати дані по полю за зростанням?

Наши рекомендации