Использование Crystal Reports в Visual Basic
Visual Basic поставляется вместе со вспомогательной программой Crystal Reports Pro. C помощью этого мощного приложения можно визуально сконструировать макет отчета и связать его с базой данных. В результате вы получите вполне профессиональный отчет, содержащий именно те данные, которые вы хотели напечатать.
Crystal Reports Pro следует примеру Visual Basic и предоставляет в ваше распоряжение мастер Report Wizard (рис. 9.3), очень похожий на хорошо знакомый Project Wizard.
Рис. 9.3. Report Wizard из Crystal Reports
После выбора типа отчета (возможные варианты показаны на рис. 9.3) Crystal Reports Pro проводит вас через последовательность шагов, в которых предлагает выбрать базу данных и поля, необходимые для создания отчета. В конце работы Report Wizard предлагает один из стандартных макетов для заданного типа отчета. Это очень удобно и к тому же заметно экономит время.
Готовый отчет можно просмотреть или продолжить работу с ним в режиме конструктора (рис. 9.4). Создавая, удаляя и перемещая поля, вы добиваетесь того, чтобы отчет принял в точности тот вид, который вам нужен. После тестирования отчет можно сохранить, чтобы в дальнейшем вызвать из приложения.
Рис. 9.4. Режим конструктора в Crystal Reports
Установка Crystal Reports Pro
Чтобы воспользоваться программой Crystal Reports Pro, необходимо предварительно установить ее. В отличие от предыдущих версий Visual Basic версия 6 не включает ее в стандартный вариант установки. Crystal Reports Pro устанавливается следующим образом:
1. Вставьте компакт-диск с Visual Basic в дисковод CD-ROM.
2. Перейдите в папку \Common\Tools\VB98\Crysrept на компакт-диске.
ПРИМЕЧАНИЕНазвание папки может быть и другим, потому что с момента написания книги структура каталогов изменялась.
3. Дважды щелкните на значке Crystl32.exe, чтобы приступить к установке.
ВНИМАНИЕПеред началом установки приложения следует завершить все работающие программы. В противном случае некоторые общие файлы могут оказаться заблокированными, и программа установки не сможет их правильно обновить. В результате установка может аварийно завершиться или испортить другие приложения, установленные в вашей системе.
Создание отчета
Создание отчетов в Crystal Reports Pro будет рассмотрено на следующем примере:
1. Установите Crystal Reports Pro описанным ранее способом, если вы не сделали этого раньше.
2. После завершения установки Crystal Reports Pro запустите Visual Basic.
3. Если вам будет предложено выбрать проект, выберите его в диалоговом окне New Project и нажмите кнопку ОК. Тип проекта в данном случае значения не имеет — просто вам нужно начать работу с Visual Basic.
4. Запустите Crystal Reports Pro командой Report Designer из меню Add-Ins.
5. Создайте новый отчет командой File > New из меню Crystal Reports Pro.
6. В диалоговом окне Create New Report выберите стандартный отчет (Standard).
7. В окне мастера Create Report Expert (рис. 9.5) нажмите кнопку Data File, чтобы выбрать базу данных.
Рис. 9.5. Create Reports Expert
8. Выберите файл biblio.mdb из папки \Program Files\Microsoft Visual Studio\VB98. Нажмите кнопку Add, чтобы включить базу данных в отчет.
9. Закройте диалоговое окно кнопкой Done.
На рис. 9.6 показано окно мастера с вкладкой Links, на которой наглядно отображаются связи между таблицами.
Рис. 9.6. Связи между таблицами
Как видно из рисунка, таблицы All Titles, Title Author и Titles связываются по содержимому поля ISBN. Таблицы Title Author и Authors связываются по идентификатору автора (поле Au_ID), а таблицы Titles и Publishers — по идентификатору издателя (поле PubID).
Создание или удаление связей между таблицами выполняется на следующем этапе работы с мастером. В нашем примере будут удалены связи между двумя таблицами.
10. Щелкните на линии, соединяющей таблицу Title Author c таблицей Authors, и удалите связь кнопкой Delete.
11. Щелкните на линии, соединяющей таблицу Titles c таблицей Publishers, и удалите связь кнопкой Delete.
12. Нажмите кнопку Next, чтобы перейти к следующему шагу работы с мастером.
Открывается вкладка Fields, показанная на рис. 9.7.
13. Щелкните на поле Au_ID под заголовком Title Author в списке Database Fields. Это поле включается в отчет (список Report Fields).
14. Дважды щелкните на поле Title под заголовком Titles, чтобы включить его в список Report Fields.
15. Нажмите кнопку Next — мастер переходит к вкладке Sort (рис. 9.8).
16. Щелкните на строке Title Author.ISBN в списке Report Fields и нажмите кнопку Add, чтобы сортировка выполнялась по этому полю. Обратите внимание — появляется список Order, в котором выбрана сортировка по возрастанию (in ascending order). Не изменяйте указанный порядок сортировки и нажмите кнопку Next.
Рис. 9.7. Вкладка Fields
Puc. 9.8. Выбор поля для сортировки
Мастер переходит к вкладке Total (рис. 9.9). Хотя в нашем отчете промежуточные итоги не используются, вы можете поэкспериментировать самостоятельно.
17. Нажмите кнопку Next. Мастер переходит к вкладке Select.
На этой вкладке выбираются поля, используемые для фильтрации записей. Например, отчет можно отфильтровать по полю ISBN.
18. Щелкните на строке Author.ISBN и нажмите кнопку Add, чтобы отчет фильтровался по полю ISBN таблицы Title Author.
19. Выберите критерий is из левого нижнего списка.
20. В следующем списке выберите критерий greater than (больше чем).
21. Теперь щелкните на следующем списке и выберите в нем строку 0-0307360-3-Х (четыре позиции от низа списка). Вкладка примет вид, показанный на рис. 9.10.
Рис. 9.9. Вкладка Total
Рис. 9.10. Фильтрация записей в отчете
22. Нажмите кнопку Next, чтобы перейти на вкладку Style.
23. В поле Title введите текст Мой первый отчет.
24. В списке Style выделите строку Таblе (рис. 9.11). На этой вкладке выбирается стиль создаваемого отчета. В результате созданный отчет будет выглядеть как стандартная таблица.
Рис. 9.11. Выбор стиля отчета
25. Нажмите кнопку Preview Report, чтобы увидеть, как будет выглядеть готовый отчет. Как видно из рис. 9.12, отчет похож на стандартную таблицу с номерами ISBN и названиями книг.
Скорее всего, автоматически созданный отчет будет выглядеть не совсем так, как вам хочется. Впрочем, вы можете переключиться в режим конструирования и изменить порядок полей, выбрать другой шрифт, добавить и удалить поля, вставить графические изображения и сделать многое другое. К сожалению, подробное описание Crystal Reports Pro выходит за рамки данной книги, поэтому мы внесем пару изменений и будем двигаться дальше.
1. Щелкните на вкладке Design в левой части панели инструментов. Crystal Reports Pro переходит в режим конструирования.
В режиме конструирования (рис. 9.13) весь отчет делится на несколько логических секций: Title (Заголовок), Page Header (Верхний колонтитул), Details (Основная информация), Page Footer (Нижний колонтитул) и Summary (Итоги). Краткое описание различных секций приведено в табл. 9.1.
Рис. 9.12. Готовый отчет
Рис. 9.13. Режим конструирования
Таблица 9.1. Секции отчета в режиме конструирования
Секция | Описание |
Title | В этой секции находятся текст и/или графика, находящиеся в верхней части первой страницы отчета |
Page Header | Информация, отображаемая в верхнем колонтитуле каждой страницы отчета |
Details | В этой секции выводится основная информация. Crystal Reports выводит все записи, которые соответствуют фильтру (критерию отбора), установленному для данного отчета |
Page Footer | Информация, отображаемая в нижнем колонтитуле каждой страницы отчета |
Summary | В этой секции, отображаемой в конце отчета, подводятся итоги по основной информации отчета |
2. Нажмите клавишу Ctrl и, не отпуская ее, щелкните на заголовках полей ISBN и Title.
3. Выполните команду Format > Font из меню Crystal Reports Pro. Выберите шрифт с параметрами Arial, Bold, 14 pt. Нажмите кнопку OK, чтобы подтвердить выбранный шрифт и закрыть диалоговое окно.
4. Выполните команду Insert > Picture.
5. Когда на экране появится диалоговое окно Choose Picture File, выберите файл beany.bmp из папки \Program Files\MicrosoftVisualStudio\Common\Graphics\Bitmaps\ Assorted. Закройте диалоговое окно кнопкой ОК.
6. Переместите графическое изображение в секцию верхнего колонтитула (Page Header), справа от названия отчета (рис. 9.14).
7. Выполните команду File > Save. Сохраните файл под именем First.rpt в папке VB98.
8. Щелкните на вкладке Preview, чтобы увидеть свой обновленный отчет.
В этом примере показаны лишь первые шаги по разработке и построению отчета. Хотя он был достаточно простым, Crystal Reports Pro обладает многими нетривиальными возможностями.