|
БД Access 2003 |
Вычисления в запросе БД Access 2003
28/02/10
Автор: Владимир Ткаченко
Источник: http://www.lessons-tva.info/
В БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете. Вычисляемые поля используются для различных целей, в том числе и для проведения расчетов, Для выполнения подсчетов в вычисляемые поля объектов базы данных Access вводят Выражения. Выражения - это формулы аналогичные формулам Excel, но только вместо ссылок на ячейки в них используются имена полей. Ввод выражений возможен как вручную, так и с помощью Построителя выражений.
Выражения могут содержать следующие элементы:
идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
операторы (арифметические, логические, сравнения и другие операторы);
функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
значения (например, значения даты и времени, численные положительные или отрицательные значения).
Примеры Выражения:
=[Оценка]/1,2, где "=" - опрератор, [Оценка] - имя поля, а 1,2 - значение;
Date(), где Date - имя функции текущей даты, которая не имеет аргумента.
Рассмотрим создание вычисляемых полей в бланке запроса базы данных Access 2003. Для ввода Выражения в запрос его необходимо открыть в режиме Конструктора. Чтобы создать вычисляемое поле в запросе (в существующем или вновь создаваемом запросе) открытого в режиме конструктора, необходимо ввести Выражение в строку Поле свободного столбца бланка запроса. Выражение может выполнять вычисления, обрабатывать текст, указывать время и дату, проверять данные и т.д. Необходимо отметить, что каждая формула вычисляется только для отдельной строки таблицы бланка запроса.
Рассмотрим создание вычисляемого поля в бланке запроса на примере базы данных Training_students_VP. Постановка задачи: в запросе на выборку (Запрос 3) создать поле, в котором должны отображаться итоговые оценки (ниже на 20% от полученных по результатам рейтинга). Для решения этой задачи откроем бланк "Запроса 3" в режиме конструктора (Рис. 1).

Рис. 1.
Для создания вычисляемого поля можно применить "Построитель выражений". Для этого надо установить курсор в свободное поле
и выбрать на панели инструментов команду Построить (можно также воспользоваться контекстным меню), откроется окно Построитель выражений.
В верхней области построителя расположено текстовое поле выражения, предназначенное для записи выражения. Ниже поля выражения размещается строка с операторами. Три текстовых поля в нижней области используются для выбора элементов, которые могут быть вставлены в текстовое поле выражения. Выражение можно записать с клавиатуры или сформировать из готовых функций, операторов и других элементов.
Для поставленной задачи в Построитель можно ввести выражение =[Оценка]/1,2 с клавиатуры (Рис.2) и щелкнуть на кнопке ОК.

Рис. 2.
В результате в бланке запроса появится
вычисляемое поле =[Оценка]/1,2

Рис. 3.
Далее надо закрыть бланк запроса в режиме конструктора и открыть его в режиме таблицы. В таблице вычисляемое поле состоит из слова "Выражение" и цифры 1, которая показывает, каким по счету создано выражение. Необходимо также отметить, что результаты вычислений, отображаемые в записях, не отформатированы.

Рис. 4.
С учетом вышеизложенного следует изменить название вычисляемого поля и отформатировать его.
Для этого необходимо вернуться в режим конструктора и слово Выражение1 заменить на "Итог_оценка".
Затем щелкнуть правой кнопкой мыши на вычисляемое поле и в контекстном меню выбрать команду Свойства, откроется диалоговое окно Свойства поля (Рис. 5)

Рис. 5.
В окне Свойства поля установить формат, например Фиксированный и закрыть это окно. Затем закрыть запрос в режиме конструктора и открыть его в режиме таблицы. В результате на экране будет отображен запрос с отформатированным вычисляемым полем. Необходимо отметить, что значения вычисляемого поля не хранятся в базе данных, а являются результатом вычислений при формировании запроса.

Рис. 6.
|
|
|
|