Одним из важнейших постулатов построения баз данных является устранение избыточности информации. При построении отчета стоит прямо противоположная задача: для улучшения его восприятия, необходимо вывести информацию, которая непосредственно отсутствует в БД, но может быть определена из значений имеющихся полей. Классическим примером является вычисление суммы на основе цены товара и его количества.
Конечно, эту задачу можно решить непосредственно в БД путем построения представления, но Crystal Reports включает механизм формул, позволяющий решить эту, и многие другие задачи без вмешательства в базу данных.
Кроме вычислений, формулы Crystal Reports имеют еще одно важное назначение – с их помощью можно производить форматирование в зависимости от контекста. Например: должников выделить красным цветом, а клиентов, имеющих право на скидки – жирным шрифтом.
Окно Insert Fields имеет вкладку Formula. Перейдем на нее:
Пока в отчете нет ни одной формулы, вкладка пуста. Нажмем кнопку New. Откроется окно для ввода названия формулы:
После ввода названия формулы и нажатия кнопки OK сразу же открывается окно редактора формул:
К введенному имени функции Crystal Reports автоматически добавляет префикс @. Имя функции отображается в заголовке окна редактора.
Окно редактора формул состоит из следующих частей:
Окна - проводники можно закрыть и открыть по надобности с помощью кнопок панели инструментов редактора формул.
Вводить и редактировать формулы можно одним из следующих способов:
Все эти способы могут комбинироваться.