簡體   English   中英

如何設置field2 =工作日+1

[英]How to set field2 = weekday +1

我正在尋找當Field1不為null時將在下一個工作日的日期自動輸入到Field2中的代碼。 或更准確地說,Field2 = Field1 + 1個工作日

我將Access 2007用作前端,將SQL 2008用作后端。

任何幫助將不勝感激!

聽起來您正在尋找帶有DATEADDUPDATE語句:

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

如果要在Access中針對鏈接的SQL Server表運行查詢,則該查詢必須使用與Access兼容的SQL。

要使Field2Field1

UPDATE YourTable
SET Field2 = DateAdd('d', 1, Field1)
WHERE Field1 Is Not Null;

要跳過周末,請在Switch語句中使用Weekday函數來確定要添加的天數。

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM