Вычисляемое поле
Обычно для создания вычисляемых полей выбирают именно элемент управления
Текстовое поле,
хотя это и необязательно. Допускается использовать для этого любые элементы управления, имеющие свойство
Данные
(Control Source).
Именно в свойстве
Данные
(Control Source) должно быть задано выражение, которое вычисляет значение этого элемента. Ввод выражения допускается прямо в элемент управления, как мы и сделали это в примере. Однако, если выражение достаточно длинное, его неудобно вводить прямо в поле. Можно ввести выражение в ячейку свойства
Данные
(Control Source) в окне
Свойства
(Properties), а если выражение не помещается в ячейке свойства, просто нажать комбинацию клавиш <Shiftl>+<F2> и открыть окно
Область ввода
(Zoom). Еще можно воспользоваться Построителем выражений.
Вычисляемые поля создаются чаще всего в табличных или ленточных формах для отображения столбца с какими-нибудь вычисленными значениями. Например, стоимость товара рассчитывается как значение выражения Цена * Количество. Для отображения таких расчетных данных используют два способа:
Первый способ основан на том, что форма строится на базе запроса, в который включают вычисляемые столбцы. В форме создается текстовое поле, у которого в качестве источника данных указывается вычисляемый столбец запроса. Поле блокируется, чтобы пользователь не мог изменить данные в нем, ведь эти данные вычисляются в процессе выполнения запроса.
Во втором случае форма может строиться прямо на базе таблицы. В ней создается текстовое поле, в котором в качестве источника данных указывается выражение, например = [Цена за единицу] * Количество. При этом в выражении необязательно указываются те поля, которые включены в форму, а любые поля базовой таблицы.
Замечание
При ссылках на поля в выражениях обязательно использование квадратных скобок, если название поля содержит пробелы; в остальных случаях можно обходиться без них.
Первый способ в большинстве случаев предпочтительнее, т. к. такой запрос может быть использован не только в одной форме, но и в отчетах и в других формах. Примером такой организации расчетов может служить форма "Подчиненная форма заказов" (Orders Subform) базы данных "Борей". Она основана на запросе "Сведения о заказах" (Order Details Extended), в котором создано вычисляемое поле "ОтпускнаяЦена" (ExtendedPrice), содержащее формулу:
ОтпускнаяЦена:
CCur([Заказано].[Цена]*[Количество]*(1-[Скидка])/100}*100
в примере английской версии Access:
ExtendedPrice:
CCur([Order Details].UnitPrice*[Quantity]*(1-[Discount])/100)*100
Свойство Данные (Control Source) элемента управления ОтпускнаяЦена
(ExtendedPrice) в форме имеет значение "ОтпускнаяЦена" (ExtendedPrice) — имя вычисляемого поля запроса.
Замечание
В приведенной выше формуле CCur — это функция, которая преобразует значение выражения в тип
Денежный
(Currency).
CompEbook.ru Железо, дизайн, обучение и другие