Иллюстрированный самоучитель по Visual Basic 6.0
Ch 18.htm
назад | содержание
| вперед
Вычисляемые поля в отчете
К сожалению, невозможно
добавить вычисляемые поля в отчет простым составлением выражении из имеющихся
полей. Об их создании необходимо позаботиться еще на стадии построения окружения
данных отчета и иметь хотя бы общее представление о выражениях языка 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.
- Добавьте в раздел заголовка
второй группы Group Header (OrderConimand_Header) объект RptLabel и
введите в свойство caption этого объекта Сумма.
- В раздел Detail
добавьте объект RptTextBox и назовите его rptRowSummary. Установите для свойства
DataMember значение OrderDetailCommand и в свойстве DataFieid выберите
поле Rowsunimary. Для свойства DataFormat установите значение Currency.
Запустите приложение и
выведите отчет в окно просмотра, нажав кнопку Заказы.
Осталось добавить в отчет
итоговую сумму по заказу. Это можно сделать с помощью функционального поля отчета.
назад | содержание
| вперед