【问题标题】:crystal reports formula for: null safe equals水晶报告公式:空安全等于
【发布时间】:2013-06-06 15:02:10
【问题描述】:

以下公式中的问题是isnull 不接受变量(如 o1 或 o2),而是需要一个字段(如数据库列 ACCEPTED)。

StringVar o1:={SF_POs.ACCEPTED__C_};
StringVar o2:={RPL_POs.ACCEPTED};
if isnull(o1) then isnull(o2) // error: isnull argument requires a field
else if isnull(o2) then isnull(o1)
else o1=o2

当两个字段都为空或字符串相等时,我需要它返回 true。有人可以提供解决方法吗?

【问题讨论】:

  • 为什么将值存储在 stringvars 中?你可以直接引用它们吗?即isnull({SF_POs.ACCEPTED__C_})
  • 在一种情况下,我正在比较日期和字符串。我知道不寻常,但这样做是有充分理由的。我现在明白你的意思了,我明天应该更新我的例子。

标签: crystal-reports crystal-reports-xi


【解决方案1】:

你可以像这样调用字段,希望这有效。

StringVar o1:={SF_POs.ACCEPTED__C_};
StringVar o2:={RPL_POs.ACCEPTED}; 
if(totext({SF_POs.ACCEPTED__C_}) == '' ) then 
(
   o2 := null;
)
else
(
o2:={RPL_POs.ACCEPTED}
)
if(totext({RPL_POs.ACCEPTED}) = '') then
(
    o1 :=null;<br>
)
else
(
)

这样的事情可能会有所帮助,tc

【讨论】:

  • 在报告的选项下,有一个“将数据库空值转换为默认值”的功能,它的作用类似于您在上面所做的事情。目标是按原样使用空值(不使用这样的功能或代码)。空字符串和 null 之间可能存在差异。我不得不停止将它们存储在变量中并按照上面的建议直接引用它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-20
  • 2021-09-04
  • 2012-02-06
相关资源
最近更新 更多