2012-10-24 397 views
1

我想使用UPDATE查詢來修改另一個表中的字段在表中的字段。更新查詢不使用WHERE子句

我使用的查詢語句是:

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爲參考交貨。

產品目錄號。

其中Todays_Deliveries是一個表,其中記錄的是與某一天交付的物品相關的總記錄。用戶使用表單選擇交付,然後使用APPEND查詢根據交付參考填充Current_Delivery表。用戶完成後,使用DELETE查詢清除Current_Delivery表。

兩個表都有一個剩餘值與仍然需要進行預訂特定記錄的總數。當用戶修改Current_Delivery窗體上Current_Delivery的剩餘現場查詢更新Todays_Deliveries表。一切正常,但運行查詢時不在Current_Delivery表中的任何記錄都更新爲NULL。

刪除WHERE子句似乎沒有影響結果,這導致我相信我沒有正確的WHERE子句。

任何幫助/建議將不勝感激。

回答

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] & "'"; 
+0

我敢打賭,這就是問題所在!我花了整整一天的時間。我被踢出了大樓,明天我必須嘗試。感謝您的輸入 – robbiecutting

+0

它仍然無法正常工作。表格!在[Mp-Ref]導致參數太少的錯誤之前,不知道爲什麼它在dlookup中工作,而不是在WHERE子句中工作? – robbiecutting