Crystal Report - 禁止文本对象中的字段

时间:2013-10-29 08:24:21

标签: crystal-reports crystal-reports-2008

我在文本对象中放了四个字段。是否可以抑制文本对象中的字段? (CR2008)
实施例:
Field1 - 工程名称 - Peter Lee
Field2 - 出生 - 20/5
Field3 - 年龄 - M.
Field4 - 逗号(,)

我把这些字段放在一个文本对象中,如下所示:
{字段1} {字段4} {字段2} {字段4} {字段3}
结果:Peter Lee,20/5,M

现在我想要抑制最后两个字段{Field4} {Field3}如果{Field3}为null
结果:Peter Lee,20/5

由于文本对象中字段的抑制功能消失了。我怎么能这样做?


10月29日修改

实际上我的案子更复杂。我总共有5个领域。 (从存储过程中获取数据)
{收集日期} {付款方式} {银行名称} {支票号码} {余额}
每个字段可以为NULL或值

我尝试像这样修改SP:

CASE
当{收集日期}<>那么就是NULL
{收集日期} +','
ELSE''
结束'CollectDate'

CASE
WHEN {付款方式}<>那么就是NULL
{代理方式} +','
ELSE''
结束'PayMethod'

等...

如果{付款方式} {银行名称} {检查否} {余额}都为空,那么我会得到结果:
15/10,(最后用逗号)

有没有简单的方法可以做到这一点?否则我需要添加许多条件。

3 个答案:

答案 0 :(得分:1)

您应该创建一个公式字段,然后从那里检查字段是否为空

类似这样的事情

Local StringVar y;
y := {Field1} + " " + {Field2};
if isnull({Field4}) = false then
  y := y + {Field3} + " " + {Field4};

然后将公式字段分配给文本对象

答案 1 :(得分:0)

嗨在字段4的抑制条件下写这个。 isnull(第3栏)

答案 2 :(得分:0)

您需要创建一个公式字段才能获得所需的结果。

如果是isnull({field3})那么      {Field1}& {Field4}&“”& {Field2} 其他      {Field1}& {Field4}&“”& {Field2}& {Field4}&“”& {Field3}

然后使用文本对象中的公式字段。