2010-09-22 5 views
0

У меня есть параметр выпадающего списка с допустимыми значениями. В заголовке моего отчета я хочу показать все выпадающие значения, проверенные пользователем для запуска отчета. Но так как может быть несколько сотен значений, я хочу показать «ВСЕ», когда все значения выбраны, а не перечислять их один за другим. Как я могу это сделать?Показать ВСЕ, когда выбраны все значения

Спасибо,

+0

С большой трудностью. Серьезно, для параметров, которые предлагают более чем несколько десятков значений, обычно имеет смысл использовать LIKE, чем IN. –

ответ

1

Может быть, вы могли бы питающие результаты в подотчет, который бы подсчитать общее # значений, доступных против выбран. Если они равны, тогда он вернет «Все».

+0

+1 - Это было единственное, что я мог придумать. Кажется, Crystal Report (или, по крайней мере, версии, с которыми я играл) не имеют возможности рассчитывать максимальное количество опций. – LittleBobbyTables

0

Если это статический список, вы можете сделать что-то вроде этого:

If UBound({?MyParameter}) = @ValueCount Then 'All' Else Join({?MyParameter}, ', ') 

где @ValueCount есть число возможных значений параметра.

Если количество возможных параметров зависит от исполнения, то метод подчиненности PowerUser является одним из вариантов.

0

Это можно сделать, если вы прочитаете список значений параметров из базы данных, затем вы можете использовать запрос для получения количества параметров.

Измените параметр, установите «Список значений» = Динамический

Добавить команду в Database Expert, чтобы получить количество опций, что-то вроде:

SELECT COUNT(DISTINCT option) optCount FROM optTable 

Тогда, опираясь на предложение CodeByMoonlight, в используйте формулу:

If UBound({?MyParameter}) = {Command.optCount} THEN "ALL" 
ELSE Join({?MyParameter}, ', ') 
Смежные вопросы