Обновить синтаксис для доступа - PullRequest
2 голосов
/ 18 декабря 2008

Мне нужно обновить поле (которое в настоящее время пусто) на основе совпадения с другой таблицей. Это должно быть просто, но мой синтаксис неправильный.

В SQLServer 2005 синтаксис будет

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

Access не нравится эта строка FROM, но если я ее пропущу, ему нужен каждый идентификатор. Это должно быть просто, но я не вижу его в справке MS по синтаксису обновления.

Ответы [ 2 ]

1 голос
/ 18 декабря 2008

Я думаю, это то, что вы хотите:

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

Вы обновляете объекты-NOID на основе совпадения с идентификатором структуры, которое происходит в объекте-идентификаторе.

0 голосов
/ 18 декабря 2008

Полностью удалить предложение FROM

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

(это способ, которым построитель запросов в итоге создает их)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...