Работа с формулой отбора записей напрямую

Оценить
(1 голос)

При формировании критериев отбора записей эксперт Select Expert фактически создает формулу, используя для этого язык формул Crystal Reports. В случае простых критериев отбора записей в непосредственных манипуляциях с этой формулой необходимости нет. Работа с формулой отбора записей напрямую

Кроме того, использование эксперта Select Expert и фактическое невмешательство в генерируемую им формулу позволяет достигнуть максимальной производительности, в частности, при работе с базами данных SQL.

Тем не менее, бывают случаи, когда сам эксперт Select Expert не обеспечивает гибкости, необходимой для выполнения отбора записей. Рассмотрим следующий сценарий: в вашем распоряжении имеются два поля, отображаемые каждое на своей собственной вкладке в окне Select Expert: Region Is Equal to СО (Регионом должен быть штат Колорадо) и Order Amount Is Greater than 2500 (Сумма заказа должна превышать $2500), как показано на рис. 4.8.

Поскольку Crystal Reports объединяет вкладки с помощью операции логического “И”, как же поступить, если необходимо просмотреть все заказы из штата Колорадо, независимо от суммы заказа, а также заказы из других штатов, сумма которых превышает $2500?

В этом случае Select Expert не обеспечивает гибкости, достаточной для того, чтобы организовать такой специальный тип отбора записей. Поэтому придется воспользоваться формулой отбора записей. Эксперт Select Expert автоматически создает эту формулу на основании добавленных вкладок и указанных критериев отбора. Внести изменения в созданную им формулу можно с помощью одного из трех следующих способов:

•    Щелкнув на кнопке Show Formula (Показать формулу) в окне самого эксперта Select Expert.

•    Выбрав в меню Report пункт Selection Formulas^ Record (Формулы отбора^ Запись).

•    Отобразив окно Formula Workshop (которое более подробно будет рассматриваться в главе 5) и выбрав в категории Selection Formulas (Формулы отбора) элемент Record Selection (Отбор записей).

Совет. Если вы знаете, что вам понадобятся дополнительные возможности, которых эксперт Select Expert не предоставляет, можете вообще от него отказаться и создать свою собственную формулу выбора записей непосредственно в редакторе Formula Editor или в окне Formula Workshop. Чтобы сделать это, выберите в меню Report пункт Selection Formulas^ Record или элемент Record Selection в категории Selection Formulas, если вы находитесь в окне Formula Workshop.

В приведенном выше сценарии потребуется просто изменить существующие между двумя критериями отношения с логического “И” на логическое “ИЛИ”. Это очень просто; сделать такое изменение можно как прямо в окне эксперта Select Expert, так и в окне редактора Formula Editor. Работа с формулой отбора записей напрямую 

Чтобы воспользоваться экспертом Select Expert, щелкните на кнопке Show Formula (рис. 4.9).

Теперь можете внести изменения в формулу, созданную экспертом Select Expert, так, чтобы в отчете отображались все заказы, сделанные в штате Колорадо, без учета их сумм, а также заказы, превосходящие по сумме $2500. Обратите внимание на то, что эксперт Select Expert поместил операцию логического “И” (and) между двумя частями формулы выбора. Просто передвиньте курсор на место этой операции и замените and на or, после чего щелкните на кнопке ОК.

Совет. Если вы щелкнете на кнопке Show Formula в окне Select Expert, а потом решите, что хотите использовать полнофункциональный редактор формул (Formula Editor), просто щелкните на доступной в расширенном диалоговом окне Select Expert кнопке Formula Editor (Редактор формул). Формула будет перенесена в окно редактора Formula Editor, где вы сможете изменить или улучшить ее.

Поскольку для отбора записей в конечном итоге используется язык формул Crystal Reports, для этих целей доступно множество языковых средств. В данной ситуации, возможно, предпочтительнее будет редактировать формулу отбора записей в редакторе Formula Editor, дабы можно было видеть и пользоваться встроенными функциональными средствами. Формула, сгенерированная экспертом Select Expert, появится после выбора в меню Report пункта Selection Formulas Record.

Вы можете редактировать эту формулу, как вам захочется, главное, чтобы в конечном счете она имела булевский тип, то есть в результате она должна возвращать только значение true или false (для получения боле подробной информации о булевских функциях обратитесь в главу 5). Эта формула будет вычисляться для каждой записи в базе данных. Если формула вернет true, запись будет включена в отчет, в противном случае — нет.

Работа с формулой отбора записей напрямую

 

Чувствительность к регистру и отбор записей
Ограничение данных с помощью формулы отбора групп
Повышение производительности при отборе записей
Создание простого отчета
Эксперт Select Expert

Добавить комментарий


Защитный код
Обновить