我有一个日期/时间类型的参数。我正在创建一个默认值作为表达式。当我把
=IIF(Hour(TODAY()) < 1,
DateAdd("d", -1, FormatDateTime(Today(),DateFormat.ShortDate)),
FormatDateTime(Today(),DateFormat.ShortDate))
它运行良好,并返回一个值(尽管总是相同的,因为小时总是0(12AM((
但我想将这个默认值建立在报告的当前日期时间的基础上。因此,当我用NOW((替换today((时,它会出错,并说它";不具有期望的类型";。
=IIf(Hour(now())<1,
DateAdd("d",-1, FormatDateTime(Today(),DateFormat.ShortDate)),
FormatDateTime(Today(),DateFormat.ShortDate))
感谢
我尝试了多个公式来将now((转换为某种东西,但都没有成功。
似乎表达式没有;t评估IIF的第二部分,因为HOUR(Today(始终为0。Format会将日期转换为字符串,从而导致错误。显然,DateAdd将字符串转换回日期是为了减去日期。
我认为你可以不用所有的转换。
=IIF(Hour(NOW()) < 1,
DateAdd("d", -1, Today()),
Today())