該項目的目標是將所有Access表遷移到SQL,但繼續對象(如報表,查詢,表單和宏),直到我們遷移到.NET框架。將Access表遷移到SQL。更新查詢不起作用
它似乎工作的大部分,但不是一些更新查詢。
這個特定的更新查詢具有UPDATE語句,後面跟着一個像這樣的連接語句。
UPDATE (tblBid INNER JOIN Plan ON tblBid.Id = Plan.BidId)
SET ....
錯誤信息讀取,「操作必須是一個可更新的查詢」,在T-SQL
我知道,表要更新如下UPDATE,不能連接語句。那麼,如何修復Access更新查詢以使它們與SQL兼容?很明顯,SQL不喜歡Access更新查詢。
編輯:
我把下面勞倫斯的建議和更新SQL視圖(抱歉,我不能簡化它。)查詢。
UPDATE [Plan Assemblies]
SET [Plan Assemblies].[Description] = ItemTemp.[Description]
FROM ([Bid Header] INNER JOIN [Plan]
ON [Bid Header].BidID = [Plan].BidID) INNER JOIN (ItemTemp INNER JOIN [Plan Assemblies]
ON ItemTemp.ID = [Plan Assemblies].AssyID) ON [Plan].PlanID = [Plan Assemblies].PlanID
WHERE [Bid Header].BidID = 1
查詢在SQL中執行。在Access中,當我嘗試將它保存在SQLView中時,我在查詢表達式ItemTemp [Description]中得到了「語法錯誤缺失操作符」。因此,現在Access對於SQL很滿意的表達式感到不滿。
現實情況是T-SQL和VBA是**不相同的。您很可能需要開發2個獨立的SQL語句;一個用於Access,一個用於SQL Server。 – 2014-09-13 15:12:57