条件打印取决于水晶报表空或空值(Conditional printing depending of

2019-10-16 16:44发布

假设我有一个返回对应一个表列“名称”和“姓”的独特行的StoredProcedure的。

我想说明的报告:

Name: NameField
Surname: SurnameField

其中“名称字段”和“SurnameField”是由StoredProcedure的返回的字段。

特殊的要求是,如果“SurnameField”为空或空的话,我不想显示“姓:SurnameField”。

我怎样才能做到这一点? 我认为唯一的事情是打破了StoredProcedure的两个,一个是名称和一个姓,并在划分不同子报表每一行,并选择“删除,如果空”(或类似的东西)第二......但是这是真的矫枉过正,我想有一个更简单的方法。

Answer 1:

要实现这一目标相当多的方式。 我不太确定你的报告是如何布局,但你可以surpress领域和标签或整节(如果它有它自己的)用一个简单的公式; isnull({table.field}) or {table.field} = ''

或者,如果设置空值将被视为违约,而不是例外,你可以简单地做: {table.field} = ''

大号



Answer 2:

设置字段> 1 (假设所有大于1的话)或<> 0
这应该过滤掉的记录,在该领域的一项空白。



Answer 3:

您可以通过节专家实现它:

假设名称字段名称是姓和表名称和字段,其存储姓的值是S_NAME_VALUE。 你可以把过滤器检查,如果该值为NULL或空白。

if {NAME.SURNAME} in ['SNAME'] and 
             {NAME.S_NAME_VALUE} =''
then 
             TRUE

我假设有对姓过滤即SNAME一些代码。

如果没有,你可以使用一个条件,将其标记为真。

  if {NAME.S_NAME_VALUE} = '' then TRUE


文章来源: Conditional printing depending of empty or null value in Crystal Reports