wha*_*hat 1 ms-access date design-view
我需要让我的Access查询始终返回当周的星期一.我在Google/StackOverflow上看到了一些解决方案但它们是用SQL编写的,我是创建Access查询的初学者(我使用Design视图来制作它们).
目标:本周应被视为MTWTFS S.然后,查询应始终返回当前周的星期一.因此,如果它是星期天,它应该仍然返回星期一,而不是下周的星期一.任何人都可以使用Access 2010中的设计视图解释如何执行此操作?
请记住,在这种情况下,我们正在处理日期,所以如果我们这样做Date() - 1,我们将在今天前一天获得.
Date() 〜今天的约会
DatePart(
"w" - Weekday
Date() - Today's date
2 - vBMonday (Access assumes Sunday is the first day of the week, which is why this is necessary.)
1 - vbFirstJan1 - This gets into using the first week of the year. We could have omitted this, as 1 is the default.
)
-1 - Subtract 1 from the DatePart value.
Run Code Online (Sandbox Code Playgroud)
Date() = 4/27/2015 (at time of this writing)
DatePart("w",Date(),2,1) = 1
DatePart("w",Date(),2,1)-1 = 0
Run Code Online (Sandbox Code Playgroud)
所以我们有Date()-0......好吧,这有什么好处?那么,让我们来看一个更有用的场景,今天的日期是星期一以外的一天.
我们的行为就像今天是2015年4月28日(星期二)
Date() = 4/28/2015
DatePart("w",Date(),2,1) = 2
DatePart("w",Date(),2,1)-1 = 1
Run Code Online (Sandbox Code Playgroud)
所以,从外面看,在; 给我当前的工作日价值.(1 =星期一,2 =星期二等),并从中减去1 - >这是我们需要从当前日期减去多少天才能返回weekday值1(星期一).