назад | содержание | вперед
Вычисляемые поля в отчете
К сожалению, невозможно добавить вычисляемые поля в отчет простым составлением выражении из имеющихся полей. Об их создании необходимо позаботиться еще на стадии построения окружения данных отчета и иметь хотя бы общее представление о выражениях языка SQL для выборки данных из таблиц базы данных.
Чтобы работать с вычисляемыми полями, необходимо создать их в окружении данных отчета. Покажем это на конкретном примере. Добавим в созданный нами отчет CustomerOrderReport поле, вычисляющее стоимость заказа по следующей формуле: Сумма = количвство*Цена.
1. Откройте окно проектирования окружения данных отчета.
2. Установите курсор на источник данных OrderDetailcommand, нажмите правую кнопку мыши и выберите команду Properties (Свойства) контекстного меню. Откроется окно настройки источника данных.
3. Поскольку в таблице OrdSaled отсутствует необходимое нам вычисляемое поле, его нужно создать с помощью выборки данных из этой таблицы. В окне настройки источника данных установите опцию SQL Statement (Выражение SQL) и введите в поле текста выражение для выборки полей таблицы OrdSaled и вычисляемого поля:
Select icdorder, icdgoods, nquant, nunitprice, (nquant * nunitprice) As RowSummary from OrdSaled
4. Нажмите кнопку Применить. Если этого не выполнить, то не удастся восстановить связи с родительской и дочерней таблицами, разрушенные при переходе в режим выборки.
5. Перейдите на вкладку Relation (Связь) и кнопкой Add (Добавить) восстановите связь с родительским объектом.
6. Выйдите из окна настройки, нажав кнопку ОК.
7. Для восстановления связи с дочерним объектом выберите объект orderGoods Command и откройте окно Properties для настройки. На вкладке Relation восстановите связь и нажмите кнопку ОК.
Созданное таким образом вычисляемое поле RowSummary может участвовать в отчете так же, как и все остальные поля. Доработайте проектируемый отчет CustomerOrderReport.
Запустите приложение и выведите отчет в окно просмотра, нажав кнопку Заказы.
Осталось добавить в отчет итоговую сумму по заказу. Это можно сделать с помощью функционального поля отчета.
назад | содержание | вперед