gpt4 book ai didi

sql - 访问中的更新表

转载 作者:行者123 更新时间:2023-12-04 04:59:24 25 4
gpt4 key购买 nike

在MS-Access 2007中,我有一个表[Test_Master],其中有一个字段[DT_REPORT]。我想更新[Test_Norm_Due] by 2 months如果字段[Size] = "small"。如果字段"Size" = "Med."然后3个月。我创建下面的查询,但它抛出Syntax error。有人可以帮忙吗?

UPDATE Test_Master 
SET Test_Master.Test_Norm_Due =
IIF((([Test_Master]![Size]="small")), DateAdd(("m",2,[Test_Master]![DT_REPORT]))),
IIF((([Test_Master]![Size]="med.")), DateAdd(("m",3,[Test_Master]![DT_REPORT])));

最佳答案

我相信您的括号有问题-尝试使用外部文本编辑器(例如notepad++)将其嵌套以提高可见度-另外,您正在使用多余的括号,请尝试简化;并且您错过了一个最终条件-当Size既不是“small”也不是“med”时,Test_Norm_Due应该发生什么。

请注意,IIF的语法为:

IIF (condition, value if true, value if false). 

您正在嵌套IIF,因此应具有以下内容:
IIF (condition, value if true, IIF(other condition, value if true, value if false))

尝试类似的事情(我将其分成多行,只是为了让您更容易看到它)。
UPDATE Test_Master SET Test_Master.Test_Norm_Due = 
IIF (([Test_Master]![Size]="small"),
DateAdd("m",2,[Test_Master]![DT_REPORT]),
IIF (([Test_Master]![Size]="med."),
DateAdd("m",3,[Test_Master]![DT_REPORT]),
{missing value - What happens if it's neither "small" nor "med."} ));

关于sql - 访问中的更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com