Эксперт Select Expert

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

В среде Crystal Reports доступна специальная программа — эксперт выбора Select Expert, помогающая создавать эффективные критерии отбора записей. Эксперт Select Expert можно использовать как для создания простых критериев отбора, так и в качестве отправной точки при создании более сложных процедур отбора записей. Эксперт Select Expert запускается из раздела Record Selection (Отбор записей) любого мастера отчетов, либо после выбора и связывания таблиц, если речь идет о ситуации, когда отчет создается с помощью опции Blank Report (Пустой отчет). В любом случае, лучше воспользоваться эти экспертом до предварительного просмотра отчета.

Для запуска эксперта Select Expert во время работы с одним из мастеров отчетов выберите, по меньшей мере, одну таблицу в разделе Data (Данные) и, если необходимо, свяжите таблицы в разделе Links (Связи); для получения более подробной информации о связывании таблиц обратитесь в главу 15. Затем следуйте отображаемым на страницах мастера инструкциям до тех пор, пока не дойдете до страницы Record Selection (Отбор записей), которая показана на рис. 4.1.

Если для создания отчета вы используете опцию Blank Report, сначала выберите и свяжите таблицы. Как только на экране появится вкладка Design, можете либо сразу же запустить эксперт Select Expert, либо добавить в отчет нужные поля и только потом запустить его. Опять-таки не забудьте, что эксперт Select Expert должен быть запущен до предварительного просмотра отчета.

Эксперт Select Expert

Чтобы запустить эксперт Select Expert, щелкните на кнопке Select Expert (Эксперт * отбора), которая находится в панели инструментов экспертов, или же выберите в меню Report (Отчет) пункт Select Expert (Эксперт отбора). Если вы уже добавили поля в отчет и хотите использовать одно из них на вкладке Design или Preview для отбора записей, выделите необходимое поле перед запуском эксперта Select Expert. Вы также можете щелкнуть на нужном поле правой кнопкой мыши и в появившемся контекстном меню выбрать пункт Select Expert. В любом случае на экране появится окно эксперта Select Expert, в котором уже будет создана вкладка для выбранного поля (рис. 4.2).

Внимание! Вы можете задействовать эту функцию и случайно. Поэтому, если в появившемся диалоговом окне эксперта Select Expert вы увидите вкладку, созданную не для того поля, которого требовалось, просто щелкните на кнопке Delete (Удалить), расположенной в правой части окна эксперта, и текущая вкладка будет удалена. Затем перейдите на вкладку <New> (<Новая>) и выберите то поле, которое нужно.

Если эксперт Select Expert запускается впервые, и не было выбрано никакое из существующих полей, на экране появится диалоговое окно Choose Field (Выберите поле), в котором будут перечислены все поля отчета и базы данных (рис. 4.3). Это же диалоговое окно появится также и если вы, уже находясь в диалоговом окне эксперта Select Expert, щелкните на вкладке <New> или на кнопке New (Создать), чтобы добавить дополнительные критерии.

Эксперт Select Expert

Эксперт Select Expert

Далее щелкните на поле отчета или базы данных, на основе которого должен осуществляться отбор записей. При желании просмотреть, какие данные будут извлекаться из базы данных для этого поля, щелкните на кнопке Browse (Просмотреть). Определившись с полем, которое должно будет использоваться для отбора записей, выделите его и щелкните на кнопке ОК. На экране появится диалоговое окно эксперта Select Expert с вкладкой для этого поля.

На этой вкладке будет доступен выпадающий список, в котором уже будет отображаться значение, используемое по умолчанию — Is Any Value (Любое значение). Этот список позволяет выбирать операцию сравнения, которая будет применяться при отборе записей. В нем содержится перечень всех допустимых операций сравнения, который может несколько изменяться, в зависимости от типа выбранного для отбора записей поля. Все операции, которые могут отображаться в этом выпадающем списке, перечислены в табл. 4.1. Помимо операций, описанных в таблице, эксперт Select Expert будет также предлагать и их отрицательные версии, начинающиеся с “Is Not” (“Не”). Несложно догадаться, что выбор отрицательной версии той или иной операции будет приводить к извлечению только тех записей, которые не удовлетворяют указанному условию.

После выбора в выпадающем списке операции сравнения диалоговое окно эксперта Select Expert изменится в соответствии со сделанным выбором. Если была выбрана операция, которая выполняет сравнение с единственным значением (например, Is Equal То (Равно), Is Less Than (Меньше чем) или Is Greater Than (Больше чем)), появится один дополнительный выпадающий список. Если же была выбрана операция, выполняющая сравнение с несколькими значениями (наподобие Is One Of (Одно из), Is Like (Подобно) или Starts With (Начинается с)), появится один обычный выпадающий список и один многоэлементный список. Добавить или удалить элементы из многоэлементного списка можно, щелкнув на отображающейся рядом с этим списком кнопке Add (Добавить) или Delete (Удалить).

Новый выпадающий список позволяет выбрать значение, с которым должно сравниваться поле, одним из двух следующих способов: либо путем ввода нужного значения с клавиатуры, либо путем его выбора из списка (рис. 4.4).

Если щелкнуть на стрелке, расположенной на выпадающем списке, эксперт просмотрит базу данных и выведет список возможных значений указанного поля, в котором также можно будет выбрать подходящее значение (рис. 4.5).

Эксперт Select Expert

Если выбранная операция сравнения допускает указание нескольких значений, добавить введенное значение в многоэлементный список можно будет, щелкнув на кнопке Add (рис. 4.6). Если значение не вводилось, а было выбрано среди значений, предлагаемых в выпадающем списке, оно будет добавлено в многоэлементный список автоматически. В любом случае удалить значение из многоэлементного списка можно будет, выделив его и щелкнув на кнопке Remove (Удалить).

Обратите внимание на возможность выбора отрицательных (Is Not) версий операций сравнения. По сути в этом случае критерий отбора заменяется на обратный. Если, например, выбрать поле страны и операцию Is Not Equal То, указав в ней в качестве значения для сравнения значение “USA” (США), в отчет будут включены записи для всех стран, кроме США.

Эксперт Select Expert

Эксперт Select Expert

Эксперт Select Expert не ограничивает возможности сравнения только одним полем. Добавив одно поле базы данных, вы можете перейти на вкладку <New> или щелкнуть на кнопке New. На экране слова появится диалоговое окно Choose Field, в котором можно будет выбрать еще одно поле для сравнения. Как только поле будет выбрано, в окне Select Expert появится новая вкладка, позволяющая создать еще одно условие сравнения. Подобным образом может быть создано столько вкладок и условий сравнения, сколько необходимо.

Совет. Crystal Reports применяет ко всем вкладкам в окне Select Expert операцию логического “И” — то есть, для того чтобы запись была выбрана, все критерии должны вернуть true. При желании применить к некоторым (либо ко всем) вкладкам операцию логического “ИЛИ” (так, чтобы запись выбиралась, когда хотя бы один из критериев возвращает true), вам придется вручную отредактировать формулу выбора, сгенерированную экспертом. Для получения более подробной информации по этому вопросу, обратитесь в раздел “Работа с формулой отбора записей напрямую” далее в этой главе.

Обновление отчета или использование сохраненных данных

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

Однако когда изменяется критерий отбора записей, Crystal Reports не знает, нужно или не нужно ему отсылать повторный запрос в базу данных. В этом случае на выбор будут предложены две опции: обновить запрос (Refresh) или воспользоваться сохраненными данными (Use Saved Data). Выбор опции будет зависеть от того, каким является новый критерий выбора — сужающим или расширяющим. Если критерий выбора был сужен, то есть существующие сохраненные данные полностью его удовлетворяют, воспользуйтесь опцией Use Saved Data. В этом случае никакой запрос в базу данных отсылаться не будет, поэтому все внесенные изменения очень быстро отобразятся на вкладке Preview.

Однако если критерий отбора записей был расширен, так что сохраненные данные не содержат всех необходимых записей, потребуется обновить отчет, то есть отправить в базу данных новый запрос. Если в этой ситуации воспользоваться опцией Use Saved Data, это приведет к тому, что в отчете будет отображаться лишь несколько (если вообще хоть сколько-нибудь) записей, хотя на самом деле в базе данных их может быть и намного больше. Разумеется, отправка новых запросов в базу данных занимает определенное время. Если вы ошиблись в выборе и получили слишком мало записей, можете обновить отчет вручную, щелкнув на кнопке Refresh (Обновить), расположенной в панели инструментов навигации, нажав клавишу <F5> или выбрав в меню Report пункт Refresh Report Data (Обновить данные отчета).

При сохранении отчета в .RTP-файл будет предложено записать также и сохраненные данные. Если отчет сохраняется с такими данными, то при следующем его открытии сразу же будет отображаться вкладка Preview с этими данными — снова посылать запрос в базу данных не потребуется. Тем не менее, это также повлечет за собой увеличение размеров .RTP-файла (иногда весьма значительное), поскольку помимо спецификаций схемы отчета ему придется хранить и сохраненные данные.

Совет. Если установить флажок Discard Saved Data On Open (Отбрасывать сохраненные данные при открытии), доступный на вкладке Reporting (Отчеты) диалогового окна Options (Параметры), то при открытии отчета, содержащего сохраненные данные, эти данные будут отбрасываться, и на экране будет появляться только вкладка Design.

Выбрать, должны быть данные сохранены вместе с отчетом или нет, можно, установив или сбросив отметку возле пункта Save Data with Report (Сохранить данные с отчетом) в меню File (Файл). Тот же выбор можно сделать и с помощью соответствующего флажка в окне Report Options (Параметры отчета), которое доступно через меню File. При желании сделать так, чтобы выбранное поведение применялось для всех создаваемых в дальнейшем отчетов, установите или сбросьте флажок Save Data with Report на вкладке Reporting диалогового окна Options.

 

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

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


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