2008-12-18 72 views
2

我需要根據與另一個表的匹配更新一個字段(當前爲空)。這應該很簡單,但我的語法是錯誤的。Access的更新語法

在2005年SQLSERVER,語法將

UPDATE Facilities-NOID 
SET Facilities-NOID.ID = Facilities-ID.ID 
FROM Facilities-NOID, Facilities-ID 
WHERE [Facilities-ID].[Structure ID] = [Facilities-NOID].[Structure ID]; 

訪問不喜歡從行,但如果我離開它,它希望每個ID。這應該很簡單,但我在Update語法的MS幫助中沒有看到它。

回答

1

是你想要什麼:

UPDATE Facilities-NOID 
INNER JOIN Facilities-ID ON Facilities-NOID.[Structure ID] 
    = Facilities-ID.[Structure ID] 
SET Facilities-NOID.ID= Facilities-ID.ID 

你是根據Facilities-ID中出現的Structure ID上的匹配更新Facilities-NOID。

0

刪除FROM子句中完全

UPDATE Facilities-NOID 
SET Facilities-NOID.ID = Facilities-ID.ID 
WHERE [Facilities-ID].[Structure ID] = [Facilities-NOID].[Structure ID]; 

(這是該查詢生成器最終構建它們的方式),我認爲這

+0

當我運行查詢時,它會詢問參數值。它需要Facilities-ID.ID。我希望它用另一個表中的值更新整個表。 – thursdaysgeek 2008-12-18 20:18:10

+0

你有沒有試過在你的餐桌名稱周圍放置括號,如[Facilities-ID] .ID?我記不起名字中的Access/Jet不喜歡哪些字符,但是 - (與下劃線_相對)可能被視爲空格相同?我總是使用CamelCase,所以從不需要括號。 – 2008-12-19 01:46:51