Создание вычисляемых полей
для
отображения итоговых значений
Можно создать
вычисляемые поля в форме, которые будут содержать итоговые значения для нескольких
записей. Например, требуется рассчитать сумму счета или заказа, просуммировав
данные по каждой позиции счета.
Особенностью
создания итогового поля в подчиненной форме является то," что в функции
Sum нельзя использовать имя вычисляемого элемента управления, можно использовать
только имя вычисляемого поля в базовом запросе. Если же суммируе-
Хотя такое
вычисляемое поле уже есть в базе данных "Борей", рассмотрим в качестве
примера процедуру его создания:
=[Подчиненная
форма заказов].form1ПромежуточнаяСумма
или:
=[Orders Subform].form1[Order
Subtotal]
Рис. 9.48.
Поле для вычисления итогового значения
Особенностью
создания итогового поля в подчиненной форме является то, что в функции Sum нельзя
использовать имя вычисляемого элемента управления, можно использовать только
имя вычисляемого поля в базовом запросе. Если же суммируемые значения вычисляются
пряма в форме, то в формуле для итогового поля придется повторить выражение
для расчета этих значений. Например, если бы элемент управления
ОтпускнаяЦена
(ExtendedPrice) рассчитывался по той же формуле в форме, т. е. в качестве
источника данных для него стояло выражение:
=ССur
([Заказано]. [Цена]*[Количество]*(1-[Скидка])/100)*100,
в свойстве
Данные
(Control Source) для элемента управления
ПромежуточнаяСумма
(Order Subtotal) пришлось бы ввести выражение
=Sum(CCur([Заказано].[Цена]*[Количество]*(1-[Скидка]
) /100)*100).
Это еще один
аргумент в пользу того, что лучше такие вычисления выполнять в базовом запросе.
Рис. 9.49.
Вычисляемое поле в главной форме "Заказы"
Замечание
Имена вычисляемых элементов управления нельзя использовать не только в функции Sum, но и в других статистических функциях, как агрегатных, так и в функциях по подмножеству.