Каталог >> Базы Данных >> Подготовка отчетов в Crystal Reports |
Урок 3
Условное форматирование числовых и денежных полей проще всего выполнить с помощью окна «Highlighting Expert» (рис. 11). Оно вызывается выбором команды Format — Highlighting Expert и позволяет задать условие на значение поля и атрибуты его форматирования, действующие при выполнении условия. На одно и то же поле может быть наложено несколько условий, тогда их воздействие определяется порядком перечисления в области «Item list» окна «Highlighting Expert». Преимущество имеет формула, расположенная выше других. Для удаления заданного условия служат кнопки Remove или Remove All.
.
Рис. 11. Окно «Highlighting Expert»
для условного форматирования
При проектировании отчета требуется определить, какие поля должны быть включены в его состав, и в каких областях отчета размещены. Их включение, удаление и редактирование выполняется с помощью окна «Field Explorer» (рис. 12), которое вызывается командами: Database Field, Formula Field, Parameter Field, Special Field, Running total field, SQL Expression Field, входящими в меню Insert. В этом окне представлена иерархическая структура полей отчета и таблиц базы данных, являющихся его основой. Если поле представлено в отчете или используется в других его полях, то оно будет помечено специальным знаком. Для вставки поля в отчет его имя нужно выделить в окне «Field Explorer», щелкнуть по кнопке Insert to Report, расположенной на панели инструментов этого окна, а затем щелкнуть на требуемой позиции области отчета. Для просмотра существующих значений вставляемого поля используется соседняя кнопка Browse.
Рис. 12. Окно «Field Explorer», позволяющее управлять полями
отчета
Параметрические поля
позволяют пользователю вводить дополнительную информацию перед представлением
отчета и, следовательно, использовать один и тот же отчет для получения его
различных вариантов по значениям базы данных.
Параметрические поля можно использовать как в самом отчете, так и в его формулах
или фильтрах, а также в подчиненных отчетах. Ввод каждого параметра предваряется
подсказкой, не превышающей 254 символов, размещаемых в строках длиной 60-70
символов. Для ввода параметра можно создать список значений, из которого
пользователь будет выбирать нужное при формировании
отчета.
Для создания параметрического поля следует сделать
следующее.
1. Открыть отчет, сохраненный в файле
REPORT2.RPT, и перейти на вкладку Design.
2. Выбрать
команду Insert — Parameter Field.
3. В окне «Field
Explorer» выделить строку Parameter Fields и щелкнуть по кнопке
New.
4. В окне «Create Parameter Field» (рис. 13)
ввести имя параметра, текст подсказки и выбрать тип значений (используем
String)
.
Рис. 13. Создание нового параметрического поля
5. Щелчком по кнопке Set default values открываем одноименное диалоговое окно (рис. 14), в котором для таблицы «Customer» выбираем поле Region и в появившемся списке регионов выбираем только названия штатов США (так как все они обозначаются двумя буквами, то отбор удобно произвести с помощью области Options и указания длины используемого текста)
.
Рис. 14. Формирование списка значений для
параметра
6. Щелчком по кнопке
ОК закрываем оба окна.
7. В окне «Field Explorer»
выделяем поле Region и мышью переносим его в одну из областей отчета, а
затем закрываем окно щелчком по кнопке Close.
Теперь параметр необходимо
связать с полем отчета, для чего следует выполнить ряд
действий.
1. Выбрать команду Report — Select Expert или
щелкнуть по одноименной кнопке стандартной панели
инструментов.
2. В открывшемся окне «Choose Field»
выделить поле Region таблицы «Customer» и щелкнуть по
ОК.
3. В окне «Select Expert» выбрать в
раскрывающемся списке условие is equal to, а в дополнительном списке
справа выбрать поле параметра Region. Щелкнуть по кнопке
ОК.
4. Перейти в режим предварительного просмотра
отчета на вкладку Preview.
5. В окне «Enter Parameter
Values» в раскрывающемся списке выбрать одно из значений параметра (рис. 15) и
щелкнуть по ОК.
Рис. 15. Выбор значения параметра из списка
6. Щелкнуть по кнопке Refresh.
Поля, содержащие
формулы
В простейшем случае в отчет помещаются
значения полей из таблиц базы данных. Когда же требуется их преобразование или
обобщение, то необходимо вставить поля с соответствующими формулами. Формула
создается по определенным правилам, называемым синтаксисом, и включает в
качестве компонентов ссылки на поля таблиц или отчета.
Формулы делятся на четыре группы:
Возможно их редактирование
вручную.
Обычно для вызова окна «Formula Editor»
следует:
1) выбрать команду Insert — Formula
Field,
2) в окне «Field Explorer» выделить строку Formula
Fields и щелкнуть по кнопке New,
3) в окне
«Formula Name» ввести имя создаваемой формулы и щелкнуть по кнопке
ОК.
Окно «Formula Editor» содержит (рис.
16):
Рис. 16. Окно «Formula Editor» для
создания формул.
Текст формулы может полностью
набираться на клавиатуре. (Двойной щелчок мышью по одному из компонентов первых
трех областей вставляет его в текст формулы.) Синтаксис набранной формулы можно
проверить, щелкнув по кнопке Check. Если ошибок нет, то формулу сохраняют,
используя кнопку Save and Close.
Чтобы вставить
формулу в отчет, следует дважды щелкнуть по ней в окне «Field Explorer» и
щелкнуть по желаемой позиции в области отчета. Формула, вставленная в отчет,
помечается символом @. При удалении формулы из отчета сначала удаляются все поля
этой формулы в областях отчета, а затем ее описание с заданным
именем.
Можно использовать справку для создания часто
используемых формул. Раздел справки «Formulas in Action» содержит 17 вариантов
различных формул, которые после копирования в окно «Formula Editor» можно
отредактировать.
В формулах Crystal Reports можно
использовать как собственный синтаксис Crystal Syntax, так и синтаксис Visual
Basic. При этом можно использовать не только встроенные функции, определенные в
этих языках, арифметические и логические операторы, но также операторы ветвления
(If _ Then _ Else и Select _ Case) и операторы цикла (While _ Do, Do _ While
и For loop).
При создании формул в Crystal Reports
следует учитывать ряд ограничений.
"Компьютер-ИНФО" №
21(248)
11 июня 2001 года
Site of Information
Technologies Designed by inftech@webservis.ru. |
|