Date MS Access/强制日期范围为2个月前,绑定到本周

Date MS Access/强制日期范围为2个月前,绑定到本周,date,ms-access,vba,Date,Ms Access,Vba,我有一个查询,作为日期标准,我需要两个月前结束的一周 例如,如果我在周一(截至目前,最后一个周一是2016年2月1日)运行查询,它将查看2015年11月29日至2015年12月5日(包括星期日至星期六) 然后下周如果我运行它,它将集中于2015年6月12日到2015年12月12日(周日到周六) 然而,我需要它返回这个完全相同的日期范围,无论我运行它的一周中的哪个工作日。因此,例如,如果我在2016年2月1日至2016年2月5日(周一至周五)运行,则将选择2015年11月29日至2015年12月5

我有一个查询,作为日期标准,我需要两个月前结束的一周

例如,如果我在周一(截至目前,最后一个周一是2016年2月1日)运行查询,它将查看2015年11月29日至2015年12月5日(包括星期日至星期六)

然后下周如果我运行它,它将集中于2015年6月12日到2015年12月12日(周日到周六)

然而,我需要它返回这个完全相同的日期范围,无论我运行它的一周中的哪个工作日。因此,例如,如果我在2016年2月1日至2016年2月5日(周一至周五)运行,则将选择2015年11月29日至2015年12月5日的日期范围


我不知道最好的办法是什么。我曾考虑过如何找到下一个星期六,然后将其倒计时几周,但dateadd()中似乎没有一周选项。

要获得一周的第一个工作日(从周日到周六):

FirstWeekDate = DateAdd("d", 1 - Weekday(Date()), Date())
回到过去,比如说8周:

EightWeeksBack = DateAdd("ww", -8, FirstWeekDate)
例如,您可以只添加/子跟踪天数来获得您的间隔

EightWeeksBackLast = DateAdd("d", 6, DateAdd("ww", -8, FirstWeekDate))

几个月和几个星期不相关,因此没有直接的解决方案。你必须决定是回顾数月还是数周。@Gustav我想数周更合适