如果参数为null,则显示全部Crystal Reports

时间:2013-03-26 08:12:28

标签: visual-studio-2010 crystal-reports

大家好我在Visual Studio 2010中使用Crystal Reports,并且遇到以下无法解决的问题。我有一个名为name的参数,我将其设置为用户从员工姓名的下拉列表中选择。它是一个可选参数,因此用户可以选择任何内容,在这种情况下,我希望报告显示除员工姓名为空的行之外的所有员工。现在我想我得到了它的第二部分,因为我在细节部分放了一个似乎隐藏所有空职员的公式。问题是,如果我将参数取消选中,则报告仅显示字段为Employee name为空的行。我创建了一个像这样的公式:

if not (hasvalue(({?Zaduzioc}))) then True 

    else if  
    hasvalue({?Zaduzioc})  then  
    {Inventar_Model_ReportClass.ImeZaduzioca} in {?Zaduzioc} and
    {Inventar_Model_ReportClass.Status} = "Aktivno"

现在这个完全相同的公式适用于我,如果我使用不同的报告和参数,但该参数没有空值,所以我猜它等同于如果有空值只显示那些行,如果不显示一切。 问题是我无法弄清楚如何告诉它展示一切。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

如果您从下拉列表中进行选择,则可以添加一个项目,Value = ALL,Description = ALL。将默认值设置为此值。然后在Selection Expert中,将其添加到您的选择查询中:

.... 和 (IF {?Parameter} ='ALL'那么 {databasefield} = {databasefield} 其他 {databasefield} = {?参数})

答案 1 :(得分:0)

我设法让它工作,问题是在参数的编辑中我没有将可选设置为true,忽略了它,并且一旦我这样做就完成了。所以回顾一下有这个问题的人:将你的参数设置为true,并将其放在公式中进行记录选择:

if not (hasvalue(({?Parameter}))) then True  

else if  
hasvalue({?Parameter})  then  
{table.column} in {?Parameter}

应该那样。