Разработка баз данных в Delphi. 11 Уроков



         

Глава 22 Построение отчета главный-детальный - часть 2


(имя DS_TovaryTable). Разместим также еще один компонент TTable (им RashodTable), ассоциированный с ТБД RASHOD.DB, и установим между НД связь главный-детальный. Для этого установим в свойство RashodTable.MasterSource значение DS_TovaryTable, а в свойство RashodTable.MasterFields значение TOVAR (рис.19).

Рис. 19. Установка связи главный-детальный.

Заметим, что после установления связей НД и НД RashodTable текущим индексом должен быть индекс по полю Tovar (свойство RashodTable.IndexFieldNames).

Приступим к разработке отчета. Определим заголовок отчета – компонент TQRBand с именем QRBand1, в свойство BandType которого установлено значение rbTitle. Установим в качестве основного НД отчета TovaryTable, указав QuickRep1.DataSet = TovaryTable. Разместим в отчете компонент TQRBand с именем QRBand2 и установим в его свойство BandType значение rbDetail. Этот компонент будет использоваться для отображения детальной информации из НД TovaryTable.

Разместим в отчете компонент TQRSubTetail (имя QRSubDetail). Установим в его свойство DataSet значение RashodTable, связав таким образом данный компонент с подчиненным НД. Разместим в области компонента QRSubDetail три компонента TQRDBText и свяжем их соответственно с полями Pokup, Kolvo и D НД RashodTable (поле D определено в НД RashodTable  как вычисляемое по значениям полей DEN, MES, GOD). Разместим в области компонента QRBand2 заголовки столбцов.

Вид формы отчета показан на рис.20.

Рис. 20. Макет отчета, в котором показываются записи из связанных наборов данных.

В результирующем отчете (рис.21) для каждой записи НД TovaryTable выводятся подчиненные ей записи из НД RashodTable.

Рис. 21. Отчет, в котором показываются записи из связанных наборов данных.

Замечание.

Если необходимо определить заголовок и подвал для информации, группируемой в компоненте TQRSubDetail, следует воспользоваться свойством

property Bands: TQRSubDetailGroupBands;

 

этого компонента, которое имеет два логических подсвойства (HasHeader и HasFooter), указывающих на наличие или отсутствие соответственно заголовка и подвала.




Содержание  Назад  Вперед