UPDATE查询不使用WHERE子句

时间:2012-10-24 17:23:13

标签: sql sql-update where-clause

我正在尝试使用UPDATE查询从另一个表中的字段修改表中的字段。

我正在使用的查询语句是:

UPDATE Todays_Deliveries SET Remaining = DLookup("Remaining","Current_Delivery","[MP-Ref] = Form![MP-Ref] And [Cat No] ='" & [Cat No] & "'")
WHERE "[MP-Ref] = Form![MP-Ref] And [Cat No] ='" & [Cat No] & "'";

MP-Ref是交货参考。

Cat No是商品参考。

Wheress_Deliveries是一个表格,其中包含与某一天的交货项目相关的总记录。用户使用表单选择交付,然后使用APPEND查询根据交货参考填充Current_Delivery表。用户完成后,使用DELETE查询清除Current_Delivery表。

两个表都有一个剩余值,其中包含仍需要预订的特定记录的总数。当用户修改剩余 Current_Delivery表单上的Current_Delivery字段。一切正常,但运行查询时不在Current_Delivery表中的任何记录都更新为NULL。

删除WHERE子句似乎对结果没有影响,这使我相信我没有正确地推理WHERE子句。

非常感谢任何帮助/建议。

1 个答案:

答案 0 :(得分:0)

您的整个Where子句用双引号括起来。 对于Ms Access来说,这有点奇怪。

试试这个:

UPDATE Todays_Deliveries 
SET Remaining = DLookup("Remaining","Current_Delivery","[MP-Ref] = Form![MP-Ref] And [Cat No] ='" & [Cat No] & "'")
WHERE [MP-Ref] = Form![MP-Ref] And [Cat No] =  "'" & [Cat No] & "'";