2011-08-23 68 views
1

版本:Crystal Report 2008有条件地提示可选参数

我有2个提示用户输入信息的参数。

参数1(布尔值): 选择所有时间段? - 真:显示所有时间段 - 假:我会选择的日期

参数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语句。

+0

我确实尝试过,但Business Objects在尝试运行报告时会引发错误。我确实让我的初始过程起作用。 –

+0

@Jeremy错误是什么? – Ryan

+0

错误:此处可能会出现数字,货币金额,布尔值,日期,时间,日期时间或字符串。详细信息:文件C:\ WINDOWS \ TEMP \中的errorKind错误{047CB282-281F-4E5E-8ABB-ABC695245AC2} .rpt:公式中出现错误。 '如果hasvalue({?发布日期})= false,那么'数字,货币数量,布尔值,日期,时间,日期时间或字符串应该在这里。详细信息:errorKind –