назад | содержание | вперед
Проектирование отчета
Теперь, после создания источников данных, можно приступать к проектированию отчета CustomerOrderReport:
1. Уменьшите размер сетки области проектирования отчета с помощью свойств Gridx и GridY, установив в них значение 2.
2. Для подключения источника данных в свойстве DataSource выберите значение DataEnvironmentMyReport, в свойстве DataMember — значение CustomerCommand.
3. Для запуска отчета на выполнение добавьте в форму frmMyReportForm еще одну кнопку типа CommandButton и назовите ее cbStartOrderReport. В свойство caption кнопки введите текст Заказы. Вид приложения показан на рис. 18.15.
Рис.18.15. Приложение для проверки работы отчетов
4. В событие click созданной кнопки введите код, с помощью которого отчет CustomerOrderReport будет запускаться для просмотра данных:
Private Sub cb3tartOrderReport_Click()
CustomerOrderReport.Show
End Sub
Продолжим проектирование отчета.
5. Выберите объект CustomerOrderReport.
6. Установите курсор на любую из полос, разделяющих разделы, нажмите правую кнопку мыши и выберите команду Retrieve Structure (Извлечь структуру) контекстного меню. В отчете появятся группы в соответствии с иерархией его источника данных.
7. Начнем проектирование с заголовка отчета (раздел Report Header). Разместите в заголовке объект RptLabel. Откройте окно Properties и в свойстве Name задайте наименование rptHeader. В свойство caption введите текст Список заказов, в свойстве Alignment задайте значение 2-rptJustifyCenter. Установите для этого объекта полужирный шрифт размером 12.
8. Перейдите к первому заголовку группы с наименованием Group Header (CustomerCommand_Header). Разместите в этой группе объект RptTextBox и присвойте ему наименование rptccompany. Для свойства DataMember установите значение источника данных CustomerCommand, из списка свойства DataField выберите поле таблицы cCompany. Установите для объекта шрифт и размер.
9. Перейдите к следующему заголовку группы — Group Header (OrderCommand_Header). Этот заголовок состоит из трех строк. В первой строке разместите два объекта типа RptLabel и назовите их rptCndocHeader И rptDdocHeader. В свойство Caption первого введите № заказа, в это же свойство второго — Дата заказа. Свойство Alignment этих объектов установите в значение 2-rptJustifyCenter.
10. Во вторую строку заголовка Group Header введите два объекта типа RptTextBox и назовите их rptCndoc и rptDdoc. Для первого объекта в свойстве DataMember выберите значение OrderCommand, а в свойстве DataField — поле cnDoc. Для объекта rptDdoc В свойстве DataMember выберите значение OrderCommand, в свойстве DataField — поле таблицы dDoc. Свойство Alignment этих объектов установите в значение 2-rptJustifyCenter.
11. В третьей строке заголовка расположите три объекта типа RptLabel и введите для них в свойство caption значения Товар, Количество, Цена.
Замечание
Периодически в процессе создания отчета вы можете запускать приложение на выполнение и, нажимая кнопку Заказы, проверять реальный вид отчета на любой стадии проектирования. Попробуйте сделать это сейчас.
12. Перейдите к проектированию раздела отчета Detail (OrderGoodsCommand_ Detail). Добавьте в этот раздел три объекта типа RptTextBox и назовите ИХ rptCnmgoods, rptNquant И rptNunitprice. Для объекта rptCnmgoods установите свойство DataMember в значение OrderGoodsCommand, а в свойстве DataField выберите поле таблицы cnmGoods. Для объекта rptNquant установите свойство DataMember в значение OrderDetailCommand, выберите в свойстве DataField поле nQuant. Для объекта rptNunitprice уста-новите свойство DataMember в значение OrderDetailCommand, в свойстве DataField выберите поле nUnitprice, а для свойства DataFormat установи-те значение Currency.
13. Запустите приложение на выполнение и нажатием кнопки Заказы вызовите окно просмотра отчета.
В отчете не хватает, по крайней мере, двух очевидных полей: суммы за товар и итоговой информации по заказу. Однако этих полей нет и в базе данных — их необходимо вычислить. Рассмотрим, как это делается.
назад | содержание | вперед