Условно запрашивая необязательные параметры

Версия: Crystal Report 2008

У меня есть 2 параметра, которые предлагают пользователю ввести информацию.

Параметр 1 (логическое значение): выбрать все периоды времени? - True: показать все периоды времени - False: я выберу дату

Параметр 2 (дата / время): динамическая дата и время, основанные на поле даты / времени.

Если первый параметр имеет значение true, то я хочу опустить параметр 2. Если первый параметр имеет значение false, то я хочу запросить у пользователя дату. Есть идеи, как это сделать?

Кроме того, у меня есть следующее в моем "Выбор записи"

(if {?Select All Time Periods}= True then
date({ReleaseDate.ReleaseDate}) >= date(currentdatetime)
else if {?Select All Time Periods}= False then
date({?Select Release Date}) = {ReleaseDate.ReleaseDate})

1 ответ

Решение

Я бы вообще покончил с логическим параметром. Оставьте свой {? Выберите дату выпуска}, но установите его как необязательный (доступно в CR 2008 и далее). Затем поместите это в ваш выбор записи

if hasvalue({?Select Release Date} then 
    {ReleaseDate.ReleaseDate} = {?Select Release Date}
else {ReleaseDate.ReleaseDate} >= currentdate

По умолчанию, если пользователь ничего не делает с параметрами, будут выбраны только даты выпуска в будущем. Если вы действительно хотите выбрать все даты выпуска, прошлое и будущее, вы можете просто опустить оператор else.

Другие вопросы по тегам