正在處理SQL Server數據庫和MS Access之間的數據鏈接。現在有人正在手動計算來自SQL數據庫報告的數據,並將其輸入到Access中以在Access中運行其他報告。使用更新查詢的MS Access SQL錯誤
我已經創建了通過查詢傳遞給相關的信息拉入從SQL數據庫的Access表(所有的工作很好)
現在我需要更新數據現有的Access表從SQL檢索通過。出於各種原因,我嘗試了許多不同的查詢,所有這些查詢都在爲我而煩惱。這裏是最新的查詢的一個例子,它將使我得到我所需要的。這個作品,如果我設置一個沙盒中SQL Server和運行它MSSQL Management Studio中,但不會在訪問
UPDATE JT
SET JT.ContractAmt = SBD.TotalSum
FROM JobTable_TEST AS JT
INNER JOIN (
SELECT Sum(Main.amt) as TotalSum, Main.job
FROM Main
GROUP BY Main.job
) AS SBD
ON SBD.job = JT.JobNumber
工作在訪問上方的查詢表達式生成以下錯誤「語法錯誤(缺少操作員)。
以下在使用SQL直通運行更新查詢試圖更新。
我更新了我的查詢直接從直通SQL語句做到這一點的建議,並得到了FOLL欠款錯誤。
ODBC - 調用失敗。
[微軟] [SQL Server本機客戶端11.0] [SQL服務器]無效的對象名稱表名「。(#208)
這裏是通通過查詢我所用的樣子。
UPDATE AccessTable
SET AccessTable.amt = SQLResult.Total
FROM TableName AS AccessTable
INNER JOIN (SELECT SUM(SQLTableA.amt) as Total, SQLTableA.job
FROM SQLTableA
LEFT OUTER JOIN SQLTableB ON (SQLTableA.company = SQLTableB.company)
AND (SQLTableA.job = SQLTableB.job)
GROUP BY SQLTableA.job
) AS SQLResult
ON SQLResult.job = AccessTable.JobNum
希望,更好地描述了我的桌子的位置以及如何更新我的需要發生,也許有人能說出這是怎麼錯的,或者如果它甚至會以這種方式工作。
任何建議,將不勝感激
考慮使用Access pass-through查詢在服務器上執行該'UPDATE'語句。 – HansUp
我喜歡這個想法,但似乎遇到了問題。當我修改此查詢以更新來自SQL Passthrough查詢的訪問表時,它無法識別訪問表。用查詢和錯誤更新問題。 – Nathan
看來我誤解了你告訴我們的。我的意思是執行'UPDATE JT ...'作爲傳遞查詢,因爲它在那裏工作。我不明白Access表涉及到哪裏。抱歉。 – HansUp