Крім полів таблиць даних, у запит можуть включатися поля, значення яких є результатом обчислення виразів. Такі поля називаються обчислювальні. Простим прикладом обчислювального поля може бути поле ПІПСтудента запиту Студенти. Замість двох полів Прізвище та ім'я можна включити в запит одне поле ПІПСтудента. Щоб створити таке поле, потрібно:
1. За допомогою Майстра запитів створити запит на основі таблиці Студенти (створити, якщо такої немає з полями: КодСтудента, Прізвище, ім'я).
2. Перейти в режим Конструктора.
3. Вставити пустий стовпець у потрібному місці.
4. Ввести в перший рядок нового стовпця вираз: ПІПСтудента:[Прізвище]& " " &[Ім'я] (вираз можна вводити в діалоговому вікні Область вводу, яке викликається комбінацією клавіш Shift/F2. Його зручно використовувати для вводу і перегляду довгих виразів, які не поміщаються у відведені для них поля). ПІПСтудента буде іменем нового поля, а вираз, значенням якого є злиття полів, - Прізвище та Ім'я.
Дуже часто використовуються обчислювальні поля, для обчислення дат. Ддя прикладу створимо запит, який покаже, скільки днів тримають на руках книги читачі бібліотеки і відберемо тих читачів, котрі затримують книги більше 25 днів. Для цього необхідна таблиця Читачі, з такими полями: Читач, ДатаОтримання, ДатаПовернення. Створивши таку таблицю, перенесемо в бланк запиту поля: Читач, ДатаОтримання, Дата повернення (рис. 17). Для створення виразу скористаємося Будівником виразів. Для його виклику потрібно на першому рядку нового стовпця запиту натиснути кнопку
|
|
Рис. 15. Список вбудованих функцій v вікні Evdveana вивозів
Будівник на панелі інструментів (рис. 15).
Поле у верхній частині вікна призначене для створення виразів, а кнопки, які розміщені нижче, - це оператори, які найчастіше використовуються у виразах. В нижній частині вікна представлені списки, в яких вибираються константи, функції й імена об'єктів Access.
Клацнувши двічі на папці Функції в першому списку, з'являться дві підпапки, де потрібно клацнути по папці Вбудовані функції. Після цього в другому списку будуть відображені категорії функцій, а в третьому списку - самі функції. Виділяємо в другому списку категорію функцій Дата/час, а в третьому вибираємо функцію DataDiff. У верхньому полі з'явиться шаблон для цієї функції. Після деяких виправлень, остаточний вигляд виразу повинен бути таким:
DataDiff ("d";[ДатаОтримання]; [ДатаПовернення]), де
символ "d" означає, що різниця між датами буде обчислюватися в днях;
datal - ДатаОтримання
data2-ДатаПовернення, після чого натиснути ОК.
Створений вираз запишеться в комірку Поля нового стовпця. Після цього йому необхідно дати назву поля: Дні. Перевіримо створений запит натиснувши на кнопку Запуск. Результат запиту представлений на рис. 16.
|
|
Рис. 16. Результат запиту з обчислювальним полем Дні
Тепер додамо в запит умову вибору, яка повинна вибрати всіх читачів, які затримують книги більше 25 днів. Для цього вводимо в рядок Умова вибору обчислювального стовпця Дні вираз: >25. Результат запиту представлений на рис. 17.
Рис. 17. Результат запиту з умовою вибору в обчислювальному
полі Дні
Рис. 18. Вікно Конструктора запиту