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

Crystal reports Crystal Reports参数显示“;“全部”;当参数中没有传递值时?,crystal-reports,Crystal Reports,因此,对于我创建的报告,它们有一组参数,当没有特定的值通过时,报告将其视为所有可能的解决方案的数据 例如:您将机器名作为参数,并且没有在参数中输入特定的机器名。然后返回数据库中所有可能的机器名的数据。下面是我正在谈论的一个例子 但是,当我在参数字段中不输入任何值时,报告中不会显示任何值。我希望它在字段中显示“全部”,而不是返回为空白 因此,我的问题是,当没有为参数输入值时,如何在报告中红色圆圈所在的位置显示“全部”,而不是将其显示为空白 非常感谢您的帮助或建议。谢谢。可选参数要求您使用hasv

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

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

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

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


非常感谢您的帮助或建议。谢谢。

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

{table.machine\u name}={?machine\u name\u param}

相反,您必须使用

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

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

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

{table.machine\u name}={?machine\u name\u param}

相反,您必须使用

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

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

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

if hasvalue({?param}) then
 {?param}
else
 'All';
如果其中任何一个不是字符串值,则可能需要执行以下操作:

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

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

if hasvalue({?param}) then
 {?param}
else
 'All';
如果其中任何一个不是字符串值,则可能需要执行以下操作:

if hasvalue({?param}) then
 cStr({?param})
else
 'All';
Crystal 2008语法 如果参数的类型为number 语法 ({P}=0或{Command.P}={P})

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

Crystal 2008语法 如果参数的类型为number 语法 ({P}=0或{Command.P}={P})

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

这应该被标记为答案,它在
isnull()
不会的地方工作。这应该被标记为答案,它在
isnull()
不会的地方工作。