Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 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. Внимание! При выполнении команды Preview, в отличие от одноименного метода, условия вывода групп отчета игнорируются. 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; просмотров: 480; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.84.29 (0.004 с.) |