Crystal Reports:如果另一条记录为空,则显示记录,反之亦然

时间:2012-01-06 14:48:27

标签: crystal-reports null report field subreports

我正在构建一个子报告,并有两个表,我使用一个字段,每个字段包含一个电话号码。

原始号码{TABLE1.ORG}

临时号码{TABLE2.TEM}

我想要的是什么:

如果{TABLE2.TEM}不为null,则隐藏{TABLE1.ORG},否则显示{TABLE1.ORG}

我尝试将上面的内容用作公式,但它也不起作用因为这两个字段来自两个不同的表,如果将它们放在彼此(没有任何公式或抑制)中设计模式:

{TABLE1.ORG} {TABLE2.TEM}

...我在预览模式中看到它们在不同的行上:

                 +971 4 321321321

+971 4 123123123

也许是因为公式读取记录并从同一行评估,我猜这就是上述原因无法正常工作的原因。

1 个答案:

答案 0 :(得分:0)

为什么这两个字段在预览模式下出现在不同的行上并不明显,但它不太可能是因为它们来自不同的表 - 它更可能是因为布局中没有足够的空间来显示在一行中,因此它们会增长到可以显示的大小。

根据另一个字段是否为空来有条件地抑制{TABLE1.ORG}:

  • 右键单击{TABLE1.ORG}并选择Format Field ...
  • 在“格式编辑器”对话框的“常用”选项卡中,单击条件抑制公式按钮x-2,然后在“公式编辑器格式”中输入公式not IsNull ({TABLE2.TEM})
  • 单击“保存并关闭”以退出“格式公式编辑器”,然后单击“确定”退出“格式编辑器”对话框。

如果您现在预览报告,您会发现{TABLE1.ORG}被禁止,其中{TABLE2.TEM}不为空。

请注意,如果您显示两个字段取决于另一个是否为空,那么两者将被禁止,其中两者都不为空。