1

假设我有一个 StoredProcedure,它返回一个唯一的行,该行对应于一个包含“Name”和“Surname”列的表。

我希望报告显示:

Name: NameField
Surname: SurnameField

其中“NameField”和“SurnameField”是 StoredProcedure 返回的字段。

特殊要求是,如果“SurnameField”为空或 null,那么我不想显示“Surname: SurnameField”。

我怎样才能做到这一点?我唯一想到的是将存储过程分成两部分,一个用于姓名,一个用于姓氏,并将每一行划分为不同的子报表,然后为第二个选择“如果为空则删除”(或类似的东西)......但这是真的矫枉过正,我想有一个更简单的方法。

4

3 回答 3

2

应该有相当多的方法来实现这一点。我不太确定您的报告是如何布局的,但是您可以使用简单的公式隐藏字段和标签或整个部分(如果它有自己的部分);isnull({table.field}) or {table.field} = ''

或者,如果您将空值设置为默认值而不是异常值,您可以简单地执行以下操作:{table.field} = ''

大号

于 2012-05-12T22:56:41.870 回答
1

设置字段> 1(假设 all 已经大于 1)或<> 0.
那应该过滤掉该区域中带有空白的记录。

于 2012-09-18T21:09:25.947 回答
0

您可以通过 Section Expert 来实现:

假设name字段name是Surname,表是NAME,存储surname值的字段是S_NAME_VALUE。您可以设置过滤器检查该值是 NULL 还是 BLANK。

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

我假设有一些用于姓氏过滤的代码,即 SNAME。

如果不是,您可以使用一个条件并将其标记为真。

  if {NAME.S_NAME_VALUE} = '' then TRUE
于 2019-06-28T17:18:29.023 回答