Crystal Reports-仅按参数过滤(如果有值),否则返回所有值

时间:2019-03-17 18:35:15

标签: crystal-reports

如果参数字段为空,如何返回所有值?目前,这是我在选择专家中所拥有的:

if not(hasvalue({?parameter})) then true else {Table.Column} = {?parameter}

2 个答案:

答案 0 :(得分:0)

将参数的“可选提示”属性设置为True: 'Optional Prompt' Property

答案 1 :(得分:0)

改为尝试以下公式:

(not HasValue({?parameter}) OR {Table.Column} = {?parameter})

在Select Expert公式中使用可选参数可能会很棘手。一旦解析了试图说参数等于任何东西的代码,它就会抛出错误,因为参数没有值。 If ... Then ... Else逻辑仍然解析整个代码块,而不管条件是true还是false。在上面的公式中,如果参数在第一条语句中没有值,则结果为True,则将对OR进行分析,并且不分析该语句的其余部分而不对其进行分析,因为其结果不会更改公式的结果。 / p>