Лекция: Вычисление итоговых значений

Прежде, чем вычислять итоговую сумму, нужно рассчитать стоимость каждого разговора. Для подсчета суммы за каждый разговор, в области данных подчиненной формы с помощью Построителя выражений добавляется поле (в данном примере [Поле8]), в которое записывается выражение =[Тариф]*[Количество минут].

Вычисляемые элементы управления могут использоваться для включения итогового поля в запись формы, для вычислений различных итогов с выводом в главной или подчиненной форме. В форме, содержащей подчиненную форму, допускается расчет итогового значения для групп записей. Главная форма и ее подчиненная форма имеют базовые таблицы с отношением «один-ко-многим». В главной форме выводятся записи со стороны «один»; в подчиненной форме выводятся записи со стороны «многие». Для случая расчета суммарного значения подчиненной формы следует добавить поле в область примечаний подчиненной формы и ввести в ячейку свойства Данныевыражение, содержащее функцию Sum. Например, следующее выражение возвращает общее количество минут разговоров для абонента в форме Разговор:

=Sum([Количество])


Если в расчете итогового значения требуется использовать значение из вычисляемого элемента управления, указания одного имени элемента управления в аргументе функции Sum будет недостаточно. Например, если имеется элемент управления, в котором рассчитывается произведение значений полей Количество и Тариф (в примере это Поле8 на рисунке 7.6), то при расчете, тем не менее, следует указать (в Поле11 на рисунке 7.6) полное выражение =Sum([Количество]*[Тариф]), то есть, для расчета итоговой суммы нельзя записать выражение =Sum([Поле8]).

Поэтому выражения, содержащие статистические функции, такие как Sum, лучше определять в базовом запросе формы или в базовой инструкции SQL. В этом случае использование имени вычисляемого поля в функции Sum допустимо. Например, можно определить вычисляемое поле в запросе с помощью выражения Сумма долга: [Количество]*[Тариф], а затем включить имя вычисляемого поля в выражение для суммарного значения:

 
 

Создание вычисляемых полей в подчиненной форме показано на рисунке 4.6. Обновленная форма для просмотра разговоров каждого абонента – на рисунке 4.7.

Чтобы вывести итоговое значение в главной форме, следует создать в главной форме поле, в котором с помощью выражения создаётся ссылка на вычисляемое поле в подчиненной форме. Например, для определения свойства Данныев главной форме можно использовать выражение следующего вида:

=[Имя_подчиненной_формы].[Form]![Поле_подчиненной_формы]

 
 

= Forms![Имя_главной_формы]! [Поле_главной_формы]

Например, нужно создать форму, в которой подводятся итоги по городам (рисунок 4.8). В такой форме главная форма содержит поле Тариф, а подчиненная форма содержит поле Количество минут. Для подведения итогов в области примечания подчиненной формы создается поле (рисунок 4.9, поле13), в которое записывается выражение:

=Sum([Количество_минут])*Forms! Город! Тариф

При создании формы с двумя подчиненными формами с помощью Мастера синхронизация подчиненных форм осуществляется посредством автоматически создаваемой процедуры обработки события Текущая запись(Current)первой подчиненной формы. Если требуется синхронизовать несколько подчиненных форм разного уровня в одной и той же форме, можно скопировать и соответствующим образом изменить эту процедуру обработки события. Для просмотра этой процедуры можно открыть первую подчиненную форму в режиме конструктора, двойным нажатием кнопки мыши в области выделения формы открыть ее окно свойств, а затем нажать кнопку построителя

 
 

Текущая запись.
еще рефераты
Еще работы по информатике