我需要访问当前月和下个月的标准
例如:今天我需要01.04.15到31.05.15,但下个月生病需要01.05.15到31.06.15
我写了这个代码的标准,但我无法得到任何解决方案
**
BETWEEN DateSerial(Year(Date()); Month(Date()); 1)AND DateSerial(Year(Date()); Month(Date())+ 2; 0)
**
如果您有解决此问题的方法。请与我分享
由于
Y.Ö。
答案 0 :(得分:1)
Between DateSerial(Year(Date()); Month(Date()); 1) And DateSerial(Year(Date()); Month(Date()) + 2; 0)
是正确的,所以也许你只是没有这个范围内的任何数据。
答案 1 :(得分:1)
想一想。当当前月份是 11 月和 12 月,然后是月份 + 2 = 13 或 14 并且不是有效月份时会发生什么。因此,您将需要一个 IIf 语句来处理提前到明年的年份,并相应地处理年份和月份。此外,再次考虑这一天,您将需要一个 IIF 语句来处理结束于 28、30 和 31 的月份。
答案 2 :(得分:0)
抱歉,我弄错了 Access 处理年终和月份的方式。这里有更多信息。那张贴在https://access-excel.tips/;上我不相信。
<块引用>与月份的第一个日期不同,我们不能在 day 参数中直接输入“31”,因为每个月都有不同的天数。相反,我们可以找到下个月的第一天,然后减去 1 天。 Access 非常聪明,当您将 1 个月添加到 12 月时,年份也会增加 1,因此此技巧也适用于年末。下面的公式返回当月的最后一天。
DateSerial(Year(Date()),Month(Date())+1,1)-1
我们也可以在 day 参数中使用 0 而不是使用 -1 来简化这个公式。 0 返回上个月的最后日期。
DateSerial(Year(Date()), Month(Date()) + 1, 0)