Crystal Reports参数在参数中没有传递值时显示“全部”?

时间:2012-04-27 18:43:09

标签: crystal-reports

因此,对于我创建的报告,他们有一组参数,当没有特定值过去时,报告会将其视为获得所有可能解决方案的数据。

  

例如:您将机器名称作为参数,并且不会将特定的机器名称放入参数中。然后,您将获取数据库中所有可能的计算机名称的返回数据。我正在谈论的一个例子如下。

enter image description here

但是,当我没有在参数字段中放入任何值时,报表中不会显示任何值。我想要的是让它显示“全部”到字段而不是它作为空白返回。

所以我的问题是,如果没有为参数添加值,我将如何显示“全部”红色圆圈在报告中而不是显示为空白?

非常感谢任何帮助或建议。谢谢。

3 个答案:

答案 0 :(得分:8)

听起来你已经对记录选择进行了排序。红色圆圈中的四个字段如下:

if hasvalue({?param}) then
 {?param}
else
 'All';

如果其中任何一个不是字符串值,您可能需要这样做:

if hasvalue({?param}) then
 cStr({?param})
else
 'All';

答案 1 :(得分:2)

可选参数要求您使用hasvalue()函数检查没有使用值的情况。所以在你的情况下,如果你有

{table.machine_name} = {?machine_name_param}

你必须使用

(not(hasvalue({?machine_name_param})) 
or {table.machine_name} = {?machine_name_param})

它基本上就像对任何数据库字段进行空检查一样。

答案 2 :(得分:-1)

Crystal 2008语法 如果参数是类型编号 句法 ({?P#} = 0或{Command.p} = {?P#})

如果参数的类型为STRING  句法 (不是HasValue({?D})或{Command.d} = {?D})