假设我有一个StoredProcedure,它返回一个对应于具有“Name”和“Surname”列的表的唯一行。
我希望报告显示:
Name: NameField
Surname: SurnameField
“NameField”和“SurnameField”是StoredProcedure返回的字段。
特殊要求是,如果“SurnameField”为空或为null,那么我不想显示“Surname:SurnameField”。
我怎样才能做到这一点? 我唯一想到的就是将存储过程分为两个,一个用于Name,一个用于Surname,并将每一行划分到不同的子报告中,并为第二个选择“Delete if empty”(或类似的东西)......但这是真的有点矫枉过正,我想有更简单的方法。
答案 0 :(得分:2)
应该有很多方法可以实现这一目标。我不太确定你的报告是如何布局的,但你可以使用一个简单的公式来压制字段和标签或整个部分(如果它有它自己); isnull({table.field}) or {table.field} = ''
或者,如果您将空值设置为默认值而不是异常,则可以执行以下操作:{table.field} = ''
→
答案 1 :(得分:1)
设置字段> 1
(假设所有字段都已大于1)或<> 0
这应该过滤掉该区域中空白的记录。
答案 2 :(得分:0)
您可以通过Section Expert来实现:
假设名称字段名称是Surname,表是NAME,存储姓氏值的字段是S_NAME_VALUE。您可以设置过滤器,以检查该值为NULL还是BLANK。
if {NAME.SURNAME} in ['SNAME'] and
{NAME.S_NAME_VALUE} =''
then
TRUE
我假设有一些用于姓氏过滤的代码,即SNAME。
如果没有,您可以使用一个条件并将其标记为true。
if {NAME.S_NAME_VALUE} = '' then TRUE