我有一个要求,我需要每月两次生成报告。
我想出了下面的逻辑......具有挑战性的部分是根据前一天将默认开始日期设置为-16或-15。
例如,如果前一个日期部分是= 31,则将-16作为startdate,然后取-15。
=IIF((datepart("dd",-1,today()))=31,dateserial(year(now()),month(now()),"1").adddays(-16), dateserial(year(now()),month(now()),"1").adddays(-15) )
我一直在尝试上面的表达式并获得错误。
[rsCompilerErrorInExpression]报告的Value表达式 参数'startdate'包含错误:[BC30311]类型的值 '日期'无法转换为' Microsoft.VisualBasic.FirstDayOfWeek'。
答案 0 :(得分:1)
相反怎么样?
=DateAdd("d",IIF(Day(Dateadd("d",-1,Today()))=31,-16,-15),Today())
答案 1 :(得分:1)
这应该有效:
=IIF(Day(DateAdd("d",-1,Today()))=31,dateserial(year(now()),month(now()),"1").adddays(-16), dateserial(year(now()),month(now()),"1").adddays(-15) )