【问题标题】:Show All if parameter is null Crystal Reports如果参数为空,则显示全部 Crystal Reports
【发布时间】:2013-03-26 08:12:28
【问题描述】:

大家好,我在 Visual Studio 2010 中使用 Crystal Reports,但遇到以下我似乎无法解决的问题。我有一个名为 name 的参数,我这样做是为了让用户从员工姓名的下拉列表中进行选择。这是一个可选参数,因此用户可以不选择任何内容,在这种情况下,我希望报告显示所有员工,但员工名称字段为空的行除外。现在我想我把它的第二部分记下来了,因为我在细节部分放了一个公式,似乎隐藏了所有空员工。问题是,如果我未选择该参数,则报告仅显示字段员工姓名为空的行。我创建了一个这样的公式:

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

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

现在这个完全相同的公式适用于我,如果我将它与不同的报告和参数一起使用,但该参数没有空值,所以我猜它等同于如果有空值,则仅显示那些行,如果不显示一切。 问题是我不知道如何让它显示所有内容。

任何帮助将不胜感激。

【问题讨论】:

  • 我设法让它工作,问题出在我没有将 optional 设置为 true 的参数的编辑中,忽略了它,一旦我这样做了,它就全部工作了

标签: visual-studio-2010 crystal-reports


【解决方案1】:

我设法让它工作,问题出在我没有将 optional 设置为 true 的参数的编辑中,忽略了它,一旦我这样做了,它就全部工作了。因此,回顾一下遇到此问题的任何人:将您的参数设置为可选,并将其放入记录选择的公式中:

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

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

应该是这样的。

【讨论】:

  • 我经常在我的参数中使用“”选项,然后在选择专家中,公式如下:if {?Parameter} = "<All>" Then true Else {table.column} = {?Parameter}
【解决方案2】:

如果您从下拉列表中选择,您可以添加一个项目,值 = ALL,描述 = ALL。将默认值设置为此值。然后在选择专家中,将其添加到您的选择查询中:

.... 和 (IF {?Parameter} = 'ALL' THEN {数据库字段} = {数据库字段} 别的 {databasefield} = {?Parameter})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多