Как объединить результат запроса с существующей таблицей, чтобы выполнить ОБНОВЛЕНИЕ? - PullRequest
0 голосов
/ 06 сентября 2018

Мой запрос выглядит следующим образом, и я думаю, что это из-за использования ConcatRelated(), который объединяет связанные поля:

SELECT C.ID, ConcatRelated(["GameNames", "BaselineQuery", "CC.ID = " & [ID]) AS Games FROM BaselineQuery AS C GROUP BY C.ID

Набор результатов будет выглядеть так:

ID    GameNames
 1    "A, "B", "C", D"
 2    "A", "B"
 3    "D", "E", "A", "B"

Мой игровой стол, который я хочу ОБНОВИТЬ Похоже

ID  GameNames
 1     
 2
 3

Где GameNames в настоящее время пусто, и я хочу использовать идентификатор запроса и идентификатор таблицы для заполнения GameNames, поэтому 1 в таблице игр должно быть "A", "B", "C", "D ».

Мой запрос ОБНОВЛЕНИЯ говорит:

UPDATE GAMES INNER JOIN CreatedQuery ON Games.ID = CreatedQuery.ID SET Games.GameNames = CreatedQuery.GameNames

К сожалению, Access сообщает мне, что этот запрос UPDATE не является обновляемым запросом, что сейчас не имеет для меня особого смысла, учитывая, что ID - это PK таблицы игр, и значения явно совпадают.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 06 сентября 2018

Вы не можете присоединиться к необновляемым запросам в запросах на обновление.Использование подзапросов также не работает.Весь набор записей (все базовые запросы и таблицы) должен быть обновляемым.

Однако вы можете использовать DLookUp, чтобы обойти проблему:

UPDATE GAMES
SET Games.GameNames = DLookUp("GameNames", "CreatedQuery", "ID =" & ID)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...