访问:我怎么能把这算作一个完整的星期(即使在技术上不是这样)?

Access: How can I count this as a full week (even if it's not technically)?

我正在对我们的数据库进行一些调整,我完全坚持这一点!任何帮助将不胜感激。我在这方面很糟糕,但我正在努力学习。 :)

我需要计算客户工作的周数。目前我正在使用这个表达式(请不要评判我糟糕的业余代码——它起作用了,这就是我想要的!大声笑):

Weeks_CurrentJob: IIf(IsNull([EmpEndDate]),DateDiff("ww",[EmpStartDate],Now()),DateDiff("ww",[EmpStartDate],[EmpEndDate]))

这工作正常,除了它似乎只计算整周。因此,例如,2016-10-05 作为 EmpStartDate,2016-11-03 作为 EmpEndDate returns 4 周,但在我们的例子中,政府计划将其计为 5 周:

从 10 月 2 日星期日开始的一周; 10 月 9 日开始的那一周; 10 月 16 日开始的那一周; 10 月 23 日开始的那一周;以及从 10 月 30 日开始的一周。

即使一周只有一天也算作整周。

我通常会在网上搜索以解决我自己的问题,但在这种情况下,我什至不知道要搜索什么!因此,任何帮助都将不胜感激。非常感谢!

您只需要一个 2nd Datediff 来测试以天为单位的小数周做 datediff,除以 7 并寻找余数。如果有余数,则在第一个datediff上加1,否则加0。

IIf(Not IsNull([EmpEndDate]),(DateDiff("w",[EmpStartDate],[EmpEndDate])+(IIf(DateDiff("d",[EmpStartDate],[EmpEndDate ]) Mod 7>0,1,0))),(DateDiff("w",[EmpStartDate],Now())+(IIf(DateDiff("d",[EmpStartDate] ,现在()) Mod 7>0,1,0))))