我正在寻找代码,当Field1不为null时,代码会在下一个工作日的日期自动输入Field2。或者更准确地说Field2 = Field1 + 1个工作日
我使用Access 2007作为前端,使用SQL 2008作为后端。
非常感谢任何帮助!
答案 0 :(得分:0)
听起来您正在寻找UPDATE
的{{1}}语句:
DATEADD
或者如果您尝试删除周末并且总是更新到最近的星期一,那么这是update YourTable
set Field2 = dateadd(day,1,Field1)
where Field1 is not null
的一种方式:
CASE
答案 1 :(得分:0)
如果要在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;