Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Отчеты к базам данных для пользователей: Crystal Reports 11.5
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

5. Работа с формулами Crystal Reports

5.1 Создание формул Crystal Reports

Формулы в отчетах Crystal Reports 11.5, контейнер Formula Fields, редактор формул (Formula Editor), синтаксис Crystal и синтаксис Basic, отличия между видами синтаксиса

Одним из больших преимуществ Crystal Reports является очень развитая внутренняя программная логика, которая реализуется при помощи формул.

Формулы в Crystal Reports формально определяются как фрагменты программного кода, которые позволяют применять в отчете вычисляемые поля. Затем эти вычисляемые поля можно использовать в отчете как обычные или применять в других целях (например, для фильтрации записей в отчете, для создания на основе одних формул других и т.п.).

Создать формулу можно, щелкнув правой кнопкой мыши по контейнеру Formula Fields (Поля формул) в Field Explorer и в контекстном меню выбрав New (Новая). После того, как вы введете имя создаваемой формулы, откроется окно редактора формул.

Изначально в редакторе формул — 5 окон:

  • список формул в отчете (не только обычных, но и других, например, формул SQL Expression). При помощи этого списка можно создавать новые формулы, копировать и редактировать существующие и т.п.
  • список полей (как уже добавленных в отчет, так и доступных в таблицах на источнике данных). Поля из этого списка можно добавлять в текст формулы простым перетаскиванием;
  • список функций — перечень встроенных функций Crystal Reports, доступных для использования в формуле. Также можно добавлять в формулу путем перетаскивания;
  • список операторов — в этом списке представлены не только операторы, но и другие синтаксические конструкции формул. Также можно добавлять в отчет путем перетаскивания;
  • окно редактора кода — в этом окне производится работа с программным кодом формул.

Отметим принципиальный момент, связанный с кодом формул Crystal Reports: для формул в Crystal Reports предусмотрено два синтаксиса — синтаксис Crystal и синтаксис Basic. Переключение между этими видами синтаксиса производится при помощи списка в панели инструментов редактора формул. Синтаксис Crystal — это исторически сложившийся синтаксис. Для возврата значений из формулы в нем достаточно в последней строке просто написать имя переменной, для которой возвращается значение:

StringVar HighestCustName;

<...логика формулы...>

HighestCustName

Под синтаксисом Basic подразумевается синтаксис языка Visual Basic. Для возврата значений в нем используется специальная переменная Formula:

Dim HighestCustName As string

<...логика формулы...>

Formula = HighestCustName

Другие важные отличия между синтаксисами представлены ниже:

Отличие

Синтаксис Crystal

Синтаксис Visual Basic

Комментарий

//

'

Разделение нескольких операторов

;

:

Перевод на новую строку

Разрешен в любом месте формулы, выражение должно заканчиваться на ;

Только в конце выражения

Присвоение значений переменным

:=

=

Встроенные функции Crystal Reports в разном синтаксисе также разные. При использовании синтаксиса Basic они подобраны так, чтобы соответствовать встроенным функциям, имеющимся в Visual Basic.

Какой синтаксис выбирать? Если у вас есть большой опыт работы с предыдущими версиями Crystal Reports (и синтаксисом Crystal), то, конечно, рекомендуется использовать синтаксис Crystal. Если опыта работы с каким-либо синтаксисом нет, то рекомендуется выбирать синтаксис Basic — как более простой и универсальный.

С функциональной точки зрения между синтаксисами отличий нет.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru