我正在查找代碼,當Field1不爲null時,它將自動在下一個工作日的日期輸入到Field2中。或者更確切地說Field2 = Field1 + 1 weekday如何設置field2 = weekday +1
我使用Access 2007作爲前端,SQL 2008作爲後端。
任何幫助將不勝感激!
我正在查找代碼,當Field1不爲null時,它將自動在下一個工作日的日期輸入到Field2中。或者更確切地說Field2 = Field1 + 1 weekday如何設置field2 = weekday +1
我使用Access 2007作爲前端,SQL 2008作爲後端。
任何幫助將不勝感激!
如果您要在Access中針對鏈接的SQL Server表運行查詢,則查詢必須使用Access兼容的SQL。
爲了Field2
一天後比Field1
日期:
UPDATE YourTable
SET Field2 = DateAdd('d', 1, Field1)
WHERE Field1 Is Not Null;
跳過週末兩天,使用Weekday
功能在Switch
語句來確定多少天的補充。
UPDATE YourTable
SET Field2 =
DateAdd
(
'd',
Switch
(
Weekday(Field1) = 6, 3,
Weekday(Field1) = 7, 2,
Weekday(Field1) >= 1 AND Weekday(Field1)<=5, 1
),
Field1
)
WHERE Field1 Is Not Null;
聽起來你正在尋找一個UPDATE
語句DATEADD
:
update YourTable
set Field2 = dateadd(day,1,Field1)
where Field1 is not null
或者,如果你試圖刪除週末和隨時更新到最近的星期一,那麼這是一個CASE
方式:
update YourTable
set Field2 =
case
when datepart(dw,Field1) = 1 then dateadd(day,1,Field1)
when datepart(dw,Field1) = 7 then dateadd(day,2,Field1)
else dateadd(day,1,Field1)
end
where Field1 is not null
謝謝你們兩位的幫助! – David