【发布时间】:2015-11-16 22:20:03
【问题描述】:
我是 Crystal Reports 初学者,我正在编写一个报告,我正在尝试设置带有可选端点的日期范围查询。因此,例如,如果用户选择开始日期,则报告仅包含开始日期之后的结果。同样,如果用户选择结束日期,则报告仅包含结束日期之前的结果。
我正在使用以下过滤器,但预览器一直抱怨缺少日期。 (在我正在做的测试中,我选择了开始日期,没有结束日期。预览者抱怨我没有结束日期)
datevar start := IIF(HasValue({?Start Date}) and not isNull({?Start Date}), {?Start Date}, Date(1900, 01, 01));
datevar end := IIF(HasValue({?End Date}) and not isNull({?End Date}), {?End Date}, Date(3000, 12, 31));
({APPT.DATE} in start to end)
因此,如您所见,目的是检查报告是否定义了{?End Date} 参数。如果有,我们就使用它。如果没有,我们选择一个“巨大”的日期。但显然,IIF 需要定义真正的分支,即使它没有被使用。
是否有一种类似简洁的方法可以使用 Crystal 报表语言对该逻辑进行编码?
【问题讨论】:
标签: crystal-reports