Access SQL:如何使用代码表示“下周二”?

Access SQL:如何使用代码表示“下周二”?,sql,date,ms-access-2010,Sql,Date,Ms Access 2010,快速提问。我试图从不同的表中选择几个记录,其中日期字段小于或等于您可以使用SwitchandWeekdayfunctions。此代码假定您的一周从Weekday 2开始,这是Weekday函数的第二个参数,在VBA的奇数世界中是星期一 试试这个: SELECT [Scheduled Date Dispositioned], Switch( Weekday([Scheduled Date Dispositioned],2)=1,[Scheduled Date Dispositioned]

快速提问。我试图从不同的表中选择几个记录,其中日期字段小于或等于您可以使用SwitchandWeekdayfunctions。此代码假定您的一周从Weekday 2开始,这是Weekday函数的第二个参数,在VBA的奇数世界中是星期一

试试这个:

SELECT [Scheduled Date Dispositioned], 
Switch(
    Weekday([Scheduled Date Dispositioned],2)=1,[Scheduled Date Dispositioned]+1+14,
    Weekday([Scheduled Date Dispositioned],2)=2,[Scheduled Date Dispositioned]+7+14,
    Weekday([Scheduled Date Dispositioned],2)=3,[Scheduled Date Dispositioned]+6+14,
    Weekday([Scheduled Date Dispositioned],2)=4,[Scheduled Date Dispositioned]+5+14,
    Weekday([Scheduled Date Dispositioned],2)=5,[Scheduled Date Dispositioned]+4+14,
    Weekday([Scheduled Date Dispositioned],2)=6,[Scheduled Date Dispositioned]+3+14,
    Weekday([Scheduled Date Dispositioned],2)=7,[Scheduled Date Dispositioned]+2+14
    ) as [14 days from next tuesday] 
FROM YourTable

它所做的是评估当前工作日,然后返回此日期+到达下周二+14所需的天数。例如,如果星期一的WeekdayDate为1,则添加1以获得下一个星期二,并添加14作为偏移量。如果下星期二是指下一周的星期二,则可能需要在下一周调整增值+7。

Hmmm,使用switch语句似乎确实可行。我要试试看!好的,因为这是WHERE语句中条件的一部分,所以我不确定如何正确地集成这个语法。当前看起来是这样的:在此处选择qryLeadtimeSchedule。[计划日期处理],这里的Switchstatement为[14天,从下周二开始]从qryLeadtimeSchedule,qryLeadtimeSchedule。[计划日期处理]尝试qryLeadtimeSchedule。[计划日期处理]我想可能刚刚完成了!我不知道我能在WHERE子句中插入一个开关。谢谢