Обчислювані поля в запитах Access

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

Завдання 1. У таблиці ТОВАР є поля ЦІНА і СТАВКА_НДС, обчисліть ціну з урахуванням ПДВ та порівняйте її з отриманою в обчислюваному поле таблиці Ціна з ПДВ.

  1. Створіть в режимі конструктора запит на вибірку для таблиці ТОВАР. Перетягніть в бланк запиту поля НАІМ_ТОВ, ЦІНА, СТАВКА_НДС і Ціна з ПДВ (рис. 4.6).
  2. Для підрахунку ціни з урахуванням ПДВ створіть обчислюване поле, записавши в порожній клітинці рядка Поле (Field) вираз [ЦІНА] + [ЦІНА] * [СТАВКА_НДС].
  3. Для відбору записів зі значенням вище 5000 в обчислюваному поле в рядок Условие отбора (Criteria) введіть> 5000
  4. Після введення виразу система за замовчуванням формує ім'я обчислюваного поля Вираз 1, яке стає заголовком стовпця в таблиці з результатами виконання запиту. Це ім'я буде вставлено перед виразом [ЦІНА] + [ЦІНА] * [СТАВКА_НДС]. Для кожного нового обчислюваного поля в запиті номер вираження збільшується на одиницю. Ім'я обчислюваного поля відокремлюється від виразу двокрапкою. Для зміни імені встановіть курсор миші в обчислюваному поле бланка запиту і натисніть праву кнопку миші. В контекстно-залежному меню виберіть Властивості (Properties) поля і в рядок Підпис (Caption) введіть нове ім'я поля - Ціна з ПДВ 1. Тепер в таблиці з результатами виконання запиту в заголовку обчислюється стовпчика відобразиться це ім'я. Ім'я поля може бути виправлено також безпосередньо в бланку запиту.
  5. Для відображення результату виконання запиту клацніть на кнопці Виконати (Run) в групі Результати (Results). Обчислюване поле таблиці і за-проса мають однакові значення.
  6. Змініть в одному із записів запиту ціну товару. Значення в обох обчислюваних полях будуть моментально перераховані.
  7. Для формування складного вираження в обчислюваному поле або умови відбору доцільно використовувати будівник виразів. Будівник дозволяє вибрати необхідні в вираженні імена полів з таблиць, запитів, знаки операцій, функції. Видаліть вираз в обчислюваному поле і використовуйте будівник для його формування.
  8. Викличте будівник виразів (Expression Builder), натиснувши кнопку Будівник (Builder) в групі Налаштування запиту (Query Setup) стрічки Конструктор (Design), або вибравши Побудувати (Build) в контекстно-залежному меню. Курсор миші повинен бути встановлений попередньо в осередку введення виразу.
  9. У лівій частині вікна будівник виразів (Expression Builder) (рис. 4.7) виберіть таблицю ТОВАР, на якій побудований запит. Справа відобразиться список її полів. Послідовно вибирайте потрібні поля і оператори, двічі клацнувши вставляючи в вираз. Вираз сформується у верхній частині вікна. Зверніть увагу, будівник перед ім'ям поля вказав ім'я таблиці, якій воно належить, і відділив його від імені поля знаком оклику.
  10. Завершіть процес побудови вираження в обчислюваному поле, клацнувши на кнопці ОК.
  11. Збережіть запит під ім'ям - Цена с НДС и закрийте його.
  12. виконайте збережений запит , Виділивши його в області навігації і вибравши в контекстному меню команду Відкрити (Open).

Завдання 2
Завдання 2. У обчислюваних полях і умовах відбору можна використовувати вбудовані функції. В Access визначено більше 150 функцій.
Нехай необхідно вибрати всі накладні, за якими здійснювалася відвантаження в заданому місяці. В таблиці НАКЛАДНА дата відвантаження зберігається в поле ДАТА_ОТГ з типом даних Дата / час (Date / Time).

  1. Створіть в режимі конструктора запит на вибірку для таблиці НАКЛАДНА. Перетягніть в бланк запиту поля НОМ_НАКЛ і КОД_СК (рис. 4.8).
  2. Створіть обчислюване поле в порожньому осередку рядки Поле (Field), записавши туди один з виразів: Format ([НАКЛАДНА]! [ДАТА_ОТГР]; "mmmm») - ця функція поверне пів-ве назва місяця
    або Format ([НАКЛАДНА]! [ДАТА_ОТГР]; "mm") - ця функція поверне номер місяця.
  3. Для відбору накладних, виписаних в заданому місяці, в обчислюваному поле в рядок Условие отбора (Criteria) введіть назву місяця, наприклад березень (рис. 4.8), або номер місяця, наприклад 3 відповідно до параметром в функції Format.
  4. Виконайте запит, натиснувши кнопку Виконати (Run) в групі Результати (Results) на вкладці стрічки Робота із запитами | Конструктор (Query Tools | Design).
  5. Запишіть в обчислюваному поле функцію Month (НАКЛАДНА! ДАТА_ОТГ), і переконайтеся, що ця функція повертає виділений з дати номер місяця.
  6. Для вибірки всіх рядків, що відносяться до другого кварталу, в рядок Условие отбора (Criteria) введіть оператор Between 4 And 6, що визначає, чи потрапляє значення виразу в зазначений інтервал.
  7. Запишіть в обчислюваному поле вираз MonthName (Month (НАКЛАДНА! ДАТА_ОТГ)) і переконайтеся, що функція MonthName перетворює номер місяця в його повне на-звання.

Для закріплення дивимося видеоурок:
Для закріплення дивимося видеоурок:

Параметричний запит Access тут .