Авторизация



Использование SQL-команды или хранимой процедуры для заполнения списка выбора

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

Бывают случаи, когда поля, присутствующие в отчете, оказываются неподходящими для того, чтобы быть использованными в качестве источника данных для заполнения динамического списка выбора. Например, существующие в Crystal Reports ограничения могут не позволить создать список выбора требуемого размера, если поле отчета, на котором основывается этот список, содержит большое количество дублированных значений. Помочь решить проблему такого рода может отдельный SQL-запрос, содержащий конструкцию SELECT DISTINCT. Или же у вас может возникнуть желание основать список выбора на данных, поступающих из таблицы какой-то другой базы данных, из хранимой процедуры или пользовательского SQL-запроса, который не применяется в текущем отчете. Использование SQL-команды или хранимой процедуры для заполнения списка выбора

В таких случаях вы можете добавить хранимую процедуру из базы данных или создать SQL-команду и использовать ее в качестве источника данных для своих динамических списков выбора (более подробную информацию о том, как создаются SQL-командь: вы найдете в главе 16). Чтобы сделать это, сначала отобразите окно эксперта баз данных Database Expert, а затем добавьте хранимую процедуру или создайте SQL-команду так. чтобы она появилась в списке Selected Tables (Выбранные таблицы).

После этого щелкните на кнопке ОК, чтобы закрыть окно эксперта Database Expert Если эта хранимая процедура или SQL-команда не используется как часть обычных данных отчета, вы можете не связывать ее с остальными имеющимися в отчете таблицам и и просто проигнорировать сообщение, информирующее о том, что подобное “несвязыва- ние”, как правило, не поддерживается. После этого еще также появится сообщение, информирующее о том, что отчет содержит смешанные типы соединений с базой данных.

Приступив к созданию поля параметра, включающего динамический или каскадный список выбора, вы найдете добавленную хранимую процедуру или SQL-команду в списке доступных полей, где она будет отображаться просто как еще одна таблица. Выберите поле хранимой процедуры или SQL-команду, которую хотите использовать для заполнения своего списка выбора, как показано на рис. 13.13.

Совет. Для самих хранимых процедур и SQL-команд тоже разрешается создавать параметры. Такие параметры будут автоматически добавлены в категорию Parameter Fields (Поля параметров) проводника Field Explorer, где их также можно редактировать и создавать для них статические, динамические или каскадные списки выбора.

Рис. 13.13. Выбор SQL-команды для заполнения списка выбора

Повторное использование списка выбора или группы подсказок

Создав динамический список выбора или группу подсказок, вы позже можете захотеть использовать ее повторно с другими, дополнительными полями параметров. Или же вы можете первоначально создать каскадный список выбора, включающий несколько списков выбора в иерархии, а затем добавить дополнительное поле параметра, использующее один из высокоуровневых списков выбора этой существующей группы подсказок. В таких случаях вы можете либо повторно использовать “источник данных”, созданный ранее вместе с динамическим или каскадным списком выбора, либо добавить дополнительное поле параметра в существующую группу подсказок.

 Использование SQL-команды или хранимой процедуры для заполнения списка выбора

Для этого сначала создайте поле параметра, как описывалось ранее в этой главе. Установите переключатель Dynamic. Однако далее вместо переключателя New в разделе Choose A Data Source установите переключатель Existing. В расположенном напротив этого переключателя выпадающем списке будут отображаться существующие списки выбора и группы подсказок, принадлежащие другим полям параметров. Если вы хотите использовать существующий набор данных из списка выбора, но создать дополнительную группу подсказок, выберите первую запись в списке существующих источников данных, которая не содержит слов “prompt group” (“группа подсказок”). Это приведет к тому, что будет создана новая группа подсказок, включающая данное создаваемое поле параметра и дополнительные копии полей параметров, которые существовали в исходной группе подсказок. Однако если вы просто хотите добавить это новое поле параметра так, чтобы оно стало частью одной из уже существующих групп подсказок (например, вы хотите извлечь значение, выбираемое в высокоуровневом списке иерархии каскадного списка выбора), выберите в списке существующих источников данных ту запись, которая содержит слова “prompt group” (“группа подсказок”). Затем щелкните на сообщении Click То Create Parameter (Щелкните, чтобы создать параметр) рядом с тем полем в группе подсказок, которому вы хотите назначить новое поле параметра (как уже упоминалось ранее, Crystal Reports переименует ваше поле параметра, добавив к указанному вами имени имя поля, которому оно назначается (рис. 13.14); при желании вы потом сможете снова переименовать его в окне проводника Field Explorer).

Использование SQL-команды или хранимой процедуры для заполнения списка выбора

Специальные возможности полей параметров
Множественные значения
Диапазоны значений
Управление вводом данных в поле параметра
Максимальная и минимальная длина

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


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