在VBA中获取自定义的前一个工作日

时间:2014-12-29 20:21:52

标签: vba date reporting-services dayofweek

我想将昨天的营业日期放在SSRS的报告中。在我的情况下,如果使用weekday函数并将today作为参数并且它返回2星期一,我必须将今天日期减少两天,否则今天必须减少一天。

我有以下代码,但在呈现报告时会抛出错误。

=DateAdd(DateInterval.Day,CInt(IIf(Weekday(today)=2,-2,-1)),FORMAT(Cdate(today),"dd-MM-yyyy"))

我知道Iif函数返回一个对象类型,所以我试图通过CInt将它转换为int而没有成功。

你知道如何通过这次重新获得正确的约会对象吗?

  

本地报告处理期间出现错误。的定义   报告“报告名称”无效。的值表达式   textrun'文本框的名称'包含错误:[BC30519]重载   分辨率失败,因为无法调用可访问的“DateAdd”   没有缩小转换。

1 个答案:

答案 0 :(得分:0)

Format function返回字符串,而不是日期,因此您需要从语句中删除格式函数:

=DateAdd(DateInterval.Day,CInt(IIf(Weekday(today)=2,-2,-1)),today)

当然,您可以根据需要格式化结果:

=Format(your_statement_here, "format_you_want")

干杯,
马切伊