Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Отчет типа «мастер/детальный»Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Построим отчет «Список строек по заказчикам» из двух связанных таблиц заказчиков (мастер‑таблица или главная таблица) и строек (детальная или подчиненная таблица) (рис. 3.10.5.2). 1. Создадим новый проект из одной формы. 2.
Создадим вторую форму, используя шаблон для формирования отчета типа «мастер/детальный», выполнив команду File/New/Forms/Quick Report Master/Detail (рис. 3.10.5.1). Рис. 3.10.5.1. Окно проектирования отчета QuickRep 3. Зададим свойства компоненту MasterTable (описание главной таблицы): DatabaseName=«stroiki», TableName=«zakazhiki.db», Active=True, IndexFieldName=Kz (код заказчика). 4. Зададим свойства компоненту DetailTable (подчиненная Рис. 3.10.5.2. Окно просмотра сформированного отчета Preview
5. Зададим свойства компоненту QuickRep1: Band (HasColumnHeader=True, HasDetail=True, HasPageHeader=True, HasSummary=True, HasPageFooter=False, HasTitle=False), DataSet=MasterTable. 6. Разместим в полосе Detail компонент QRDBText для вывода поля Nz (наименование заказчика) из главной таблицы заказчиков со свойствами DataSet=MasterTable, DadaField=Nz. Для того чтобы не выводить наименование заказчика, если у него нет строек, составим обработчик события BeforePrint для данной полосы: Procedure TQRMDForm.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); Begin Printband:=DetailTable.RecordCount>0 end.
7. Разместим в полосе Sub Detail компоненты QRExpr для вывода из подчиненной таблицы (DetailTable) строек полей Ns (наименование стройки), Ss (смета), Fs (освоенная сумма). 8. Для компонента QRSubDetail установим свойства: HasFooter=True, HasHeader=False (составного свойства Bands) и FooterBand=GroupFooterBand1. Появится полоса GroupFooterBand1 (подножие полосы QRSubDetail. На этой полосе разместим итоги (компоненты QRExpr) по текущему заказчику со свойствами: ResetAfterPrint=True, Master= QRSubDetail1. 9. На полосе Summary разместим итоги (компоненты QRExpr) по всему отчету со свойством Master= QRSubDetail1. 10. Разместим все остальные надписи и служебные поля. 11. На первой форме разместим кнопку Отчет с процедурой обработки события OnClick (вывода отчета): Procedure TForm1.Button1Click(Sender: TObject); Begin QRMDForm.QuickRep1.Preview;{формирование отчета} End; 12. Выполним приложение и проверим отчет (рис. 3.10.5.2). Составной отчет Для физического объединения нескольких небольших отчетов в один составной отчет (например, с целью экономии бумаги) необходимо: 1. Отдельно подготовить объединяемые отчеты. 2. Разместить на форме компонент QRCompositeReport и подготовить для него обработчик события OnAddReport, например: procedure TForm1.QRCompositeReport1AddReports(Sender: TObject);Begin QRCompositeReport1.Reports.Add(Form2.QuickRep1); QRCompositeReport1.Reports.Add(Form3.QuickRep1); End; Свойство Report содержит список отчетов, дополняемый методом Add. 3. Подготовить кнопку или пункт меню для вызова составного отчета методом Preview (QRCompositeReport1.Preview). Отчеты будут выводиться в порядке их описания в обработчике события OnAddReport.
|
|||||
|
Последнее изменение этой страницы: 2017-02-08; просмотров: 616; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.43 (0.008 с.) |