假设我有一个返回对应一个表列“名称”和“姓”的独特行的StoredProcedure的。
我想说明的报告:
Name: NameField
Surname: SurnameField
其中“名称字段”和“SurnameField”是由StoredProcedure的返回的字段。
特殊的要求是,如果“SurnameField”为空或空的话,我不想显示“姓:SurnameField”。
我怎样才能做到这一点? 我认为唯一的事情是打破了StoredProcedure的两个,一个是名称和一个姓,并在划分不同子报表每一行,并选择“删除,如果空”(或类似的东西)第二......但是这是真的矫枉过正,我想有一个更简单的方法。
要实现这一目标相当多的方式。 我不太确定你的报告是如何布局,但你可以surpress领域和标签或整节(如果它有它自己的)用一个简单的公式; isnull({table.field}) or {table.field} = ''
或者,如果设置空值将被视为违约,而不是例外,你可以简单地做: {table.field} = ''
大号
设置字段> 1
(假设所有大于1的话)或<> 0
。
这应该过滤掉的记录,在该领域的一项空白。
您可以通过节专家实现它:
假设名称字段名称是姓和表名称和字段,其存储姓的值是S_NAME_VALUE。 你可以把过滤器检查,如果该值为NULL或空白。
if {NAME.SURNAME} in ['SNAME'] and
{NAME.S_NAME_VALUE} =''
then
TRUE
我假设有对姓过滤即SNAME一些代码。
如果没有,你可以使用一个条件,将其标记为真。
if {NAME.S_NAME_VALUE} = '' then TRUE