1

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

例如:您将机器名称作为参数,并且您没有将特定的机器名称传递给参数。然后,您将获得为数据库中所有可能的机器名称返回的数据。我正在谈论的一个例子如下。

在此处输入图像描述

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

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

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

4

3 回答 3

9

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

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

如果其中任何一个不是字符串值,您可能需要执行以下操作:

if hasvalue({?param}) then
 cStr({?param})
else
 'All';
于 2012-04-27T20:22:36.733 回答
2

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

{table.machine_name} = {?machine_name_param}

你将不得不使用

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

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

于 2012-04-27T19:19:25.467 回答
-1

Crystal 2008 语法,如果 Parameter 类型为数字语法 ({?P #}= 0 OR {Command.p} = {?P #} )

如果参数是 STRING SYNTAX 类型(不是 HasValue({?D}) OR {Command.d} = {?D})

于 2013-08-29T16:33:43.987 回答