Хранение промежуточного итога

 

Лишь немногие клиенты настолько бесстрашны, чтобы поместить заказ без точных сведений о его стоимости. В типичной форме для заказа в строке отображается стоимость каждо-

 

го элемента (за счет перемножения цены товара и его количества) и еще более важная итоговая стоимость заказа (рис. 17.11).

 

Рис. 17.11. Форма PlaceOrder с промежуточными итогами и общим итогом

 

 

Примечание

Форма PlaceOrder также включает несколько уже знакомых вам тонкостей, например, размещение адресной информации клиента на отдельной вкладке, перенос автоматически генерируемых полей (идентификационный номер заказа ID и дата заказа) в нижнюю часть окна, где они не будут никого отвлекать, и установка в их свойстве Блокировка (Locked) значения Да для запрета изменений. В свойстве формы Ввод данных (Data Entry) также установлено значение Да, что позволяет начать создавать новый заказ сразу после открытия формы.

 

Код не нужен только для строчного итога. Действительно, эту проблему можно решить, добавив элемент управления Поле, использующий следующее выражение в подчиненной форме PlaceOrder_Subform:

=Quantity * Price

Это выражение действует, поскольку нужная информация (поля Price и Quantity) располагается на той же форме, что и вычисляемое поле. А вот общий итог получить не так легко.

 

Для пущей важности можно соединить это выражение с функцией Format, чтобы быть уверенным в том, что выводится нужное число десятичных знаков и символ валюты ($):

=Format (Quantity *   Price,   "Currency")

Для вычисления общей суммы необходимо использовать данные полей Quantity и Price в таблице OrderDetails. К сожалению, у формы PlaceOrder нет легкого способа получить эту информацию. Дело не только в том, что она находится где-то еще (на подчиненной форме), но и в том, что она включает несколько отдельных записей. Даже если извлечь данные полей Quantity и Price из подчиненной формы, можно будет получить значения только для текущей записи, а не для всего списка заказанных товаров.

Для решения этой проблемы нужна специализированная функция Access, называемая статистической функцией по подмножеству или функцией обработки набора записей (domain function). Функция по подмножеству может обработать целую таблицу и вернуть одну порцию данных. Дополнительную информацию см. в следующем разделе.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100