我的VBA中有以下声明:
DoCmd.RunSQL "UPDATE customer SET Status = 'Premier' WHERE customer_id = 41308408 AND location IN ('London','New York') AND Status = ''"
用于更新名为“customer”的表。我可以在我的表中看到有大约20个条目,其中customer_id是41308408(即,如果我过滤该值的列),每个条目的位置是伦敦或纽约。每个状态的“状态”列都是空白的。
我执行上面的代码,它编译好了,但它说“你将要更新0行”。如上所述,我希望它是20。有什么想法吗?
答案 0 :(得分:1)
也许status
不是空白,也许它是空的?尝试以下解决方案:
UPDATE customer
SET Status = 'Premier'
WHERE customer_id = 41308408
AND location IN ('London','New York')
AND Status is null
答案 1 :(得分:0)
空白可能是数据库中的null
。 Null
是值 - 他们缺乏价值。您无法使用=
运算符查询它们,您需要使用is
运算符明确处理它们:
DoCmd.RunSQL "UPDATE customer SET Status = 'Premier' WHERE customer_id = 41308408 AND location IN ('London','New York') AND Status IS NULL"
答案 2 :(得分:0)
更新客户SET状态='总理'WHERE customer_id = 41308408 AND位置IN('伦敦','纽约')AND((状态为空)或长度(修剪(状态))= 0)