Построение вычисляемых полей в запросах
Вычисления в запросах — выполнение расчетов над значениями нескольких полей для каждой записи. Для ввода таких выражений необходимо создать новое вычисляемое поле непосредственно в бланке запроса. Результаты вычислений не запоминаются в базовой таблице и выполняются всякий раз при запуске запроса, поэтому значения вычисляемых полей отражают текущее содержимое базы данных.
При разработке вычисляемого поля создается выражение — комбинация идентификаторов, операторов и значений, обеспечивающей получение необходимого результата. Идентификатор — элемент выражения, определяющий ссылку на значение поля, элемента управления. Например, [Продажа]![количество продано] является идентификатором для значения поля количество продано в таблице Продажа. Оператор — знак или символ, задающий тип вычисления в формуле. Используются математические, логические операторы, операторы сравнения и ссылок.
Для создания комфортной среды для разработки вычисляемых полей в MS Access предусмотрен инструмент ПОСТРОИТЕЛЬ ВЫРАЖЕНИЯ (Рисунок 14).
Окно ПОСТРОИТЕЛЯ ВЫРАЖЕНИЙ включает три раздела:
Окно выражения предназначено для отображения создаваемого выражения.
Кнопки операторов — кнопки, связанные с наиболее востребованными операторам. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию поля выражения.
Рисунок 14 Окно ПОСТРОИТЕЛЯ ВЫРАЖЕНИЙ
Элементы выражения — включают три окна:
· В окне 1 выведены папки, содержащие объекты базы данных (таблицы, запросы, формы, функции, операторы, определенные пользователем константы).
· В окне 2 отражаются элементы объектов, заданных в 1 окне. Например, для выбранной таблицы ПРОДАЖА в окне 2 отразился список полей таблицы.
· Если для элементов, выбранных в окне 2 существует список значений, то он отражается в окне 3.
Задание 8. Вывести следующую информацию о продажах покупателей: дата продажи, № счета, наименование товара, сумма продажи.
Сумма продажи определяется как произведение проданного количества товара и его цены. Цена товара определена в таблице ТОВАР.
Алгоритм выполнения задания:
1. Создать новый запрос. Исходные таблицы — ПРОДАЖА, СЧЕТ, ТОВАР.
2. Выбрать необходимые поля: дата продажи, № счета, наименование товара.
3. Поставить курсор в строке ПОЛЕ первой свободной колонки бланка запроса.
4. Нажать кнопку на панели инструментов или нажать правую клавишу мышки и в ниспадающем меню выбрать пункт ПОСТРОИТЬ.
5. В окне 1 (см. Рисунок 14) построителя выражений дважды щелкнуть по папке ТАБЛИЦЫ и выделить таблицу ПРОДАЖА.
6. В окне 2 построителя выражений выделить поле КОЛИЧЕСТВО ПРОДАНО и нажать кнопку ВСТАВИТЬ (или двойной щелчок мышки по полю КОЛИЧЕСТВО ПРОДАНО). В окне выражения появился идентификатор соответствующего поля — [Продажа]![количество продано].
7. В разделе КНОПКИ ОПЕРАТОРОВ нажать на кнопку или ввести оператор умножения с клавиатуры.
8. Из таблицы товар вывести поле ЦЕНА по алгоритму п.6. Окно построителя выражений представлено на Рисунок 15.
Рисунок 15 Построение выражений задания 8
9. Нажать кнопку ОК окна построителя выражений.
10. В бланке запроса для нового поля поставить флажок ВЫВОД НА ЭКРАН.
11. Запустить запрос.
12. Для нового поля по умолчанию определено имя ВЫРаЖЕНИЕ 1. Для переименования поля перейти в режим конструктора запроса, удалить имя ВЫРАЖЕНИЕ 1 и ввести новое имя поля — СУММА ПРОДАЖИ. Внимание: новое имя поля и выражение должно разделять двоеточие (:).
13. Сохранить запрос под именем 8_сумма позиции продаж.
Бланк запроса в режиме конструктора представлен на Рисунок 16
Рисунок 16 Бланк запроса задания 8
Задание 1_7. для самостоятельной работы. Вывести следующую информацию о счетах покупателей: № счета, наименование организации, дата выписки счета, наименование товара, сумма позиции счета. Вычисляемому полю присвоить имя СУММА ПО ПОЗИЦИИ, запрос сохранить под именем 10_суммы позиций счетов.