Как передать поле параметра в «Командный запрос» в отчетах Crystal 8.5 - PullRequest
0 голосов
/ 07 ноября 2011

Я использую CR 8.5 для генерации отчета. Я передаю поле параметра из VB в отчет Crystal. Я добавил запрос SQL для отчета, в котором условие «ГДЕ» получено из поля параметра.

говорят выберите * из таблицы A, где column1 = '{? prameter1}'

При предварительном просмотре отчет пуст. Пожалуйста, сообщите, что мне не хватает

1 Ответ

0 голосов
/ 07 ноября 2011

В более старых версиях Crystal было невозможно изменить запросы для включения значений параметров - вы могли только добавлять постоянные значения.Следовательно, ваш измененный запрос выбирает записи из таблицы A, где column1 равно строке "{? Prameter1}", а не значение параметра {? Prameter1}.

Чтобы выбратьпо значению параметра, сбросьте запрос к его значению по умолчанию - вероятно:

select * from tableA

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

{tableA.column1} = {?prameter1}

(Примечание - без кавычек впоследнее условие.)

РЕДАКТИРОВАТЬ:

Как отмечалось выше, вам необходимо удалить параметр из запроса , поскольку он передается в SQL точно как вы видите это при использовании Show Query in Crystal.Если вы измените запрос на select * from tableA where column1={?prameter1}, Crystal попытается запустить эту точную строку как оператор SQL и, следовательно, вернет ошибку - он не будет пытаться подставить значение параметра в оператор SQL.

Однако, если вы добавите условие выбора записи Crystal с помощью параметра в отчет, Crystal попытается добавить условие выбора в SQL при запуске отчета - если вы используете команду Показать запрос после добавления записи CrystalФормула выбора, она должна сначала запросить у вас значение для вашего параметра, а затем покажет вам запрос, который включает ваше условие выбора (с введенным значением параметра, а не с именем параметра).

Существует несколько ограничений на это автоматическое добавление условий выбора записи Crystal в SQL:

  • SQL-запрос должен быть ненастроенным (т.е. никаких изменений вверсия запроса по умолчанию), иначе Crystal не будет пытаться изменить запрос - tНастройка имеет приоритет.(Вот почему у вас есть для сброса запроса в форму по умолчанию.)
  • Критерии выбора записи Crystal должны быть относительно простыми - ряд условий and для базы данных и параметразначения полей обычно в порядке, но сочетание условий and и or или условий значений формулы Crystal, вероятно, приведет к тому, что Crystal не изменит условия запроса.
...