s-s-rS:计算字段中的表达式

Posted

技术标签:

【中文标题】s-s-rS:计算字段中的表达式【英文标题】:s-s-rS: expression in a calculated field 【发布时间】:2015-06-30 14:02:19 【问题描述】:

我正在尝试在计算字段中编写一个表达式,以显示一个日期值是否大于另一个:

=(IIF(fields!date1.value>fields!date2.value,"late","on time")

fields!date2 中有值时,这可以正常工作。

但是,如果fields!date2.value 为空,则表达式返回“准时”。我不希望它这样做,因为date1 可能是 15 年 1 月 4 日 - 如果date2 为空白,这意味着它已经过期,因此我希望计算字段显示“迟到”。

因此,如果fields!date1.value 是fields!date1.value 在今天的日期之前,那么这意味着它已经过期了)。

谁能建议如何修改表达式以适应这种情况?

【问题讨论】:

澄清一下,date1是截止日期,不能为空,date2是完成日期,可以为空,对吗? 是的,完全正确 【参考方案1】:

让我们专注于“准时”

这是“准时”的定义(其他一切都将被视为“迟到”):

Date2 不为空且 Date1 >= Date2 Date2 为空,Date1 >= 今天

让我们把它转换成表达式:

Not(Fields!date1.Value Is Nothing) And (Fields!date1.Value >= Fields!date2.Value Fields!date2.Value Is Nothing And Fields!date1.Value >= Today()

这是完整的表达方式:

=Iif((Not(Fields!date2.Value Is Nothing) And (Fields!date1.Value >= Fields!date2.Value) Or (Fields!date2.Value Is Nothing And Fields!date1.Value >= Today())), "on time", "late")

【讨论】:

感谢您不厌其烦地回来:这很有帮助,我现在可以做我需要的事情:我也学到了一些东西。非常感谢。

以上是关于s-s-rS:计算字段中的表达式的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 字段表达式更改单元格的背景颜色

s-s-rS 表达式在字段中切换姓氏、名字到名字姓氏

s-s-rS 字段中的四舍五入

s-s-rS2008 文本框中数据集字段求和的表达式

从 s-s-rS 中的表达式将参数传递给数据集

s-s-rS 子报表之间的计算