Подзапрос внутри Access VBA DoCmd - PullRequest
1 голос
/ 11 марта 2019

Я пытаюсь запустить следующее в Access / VBA

DoCmd.RunSQL SQLStatement:="INSERT INTO [Assets All] (RoomID) VALUES (SELECT RoomID from findNewRoomID )"

findNewRoomID является запросом и является частью источника записей формы, он возвращает только один результат.

В сообщении об ошибке говорится, что в подзапросе есть синтаксическая ошибка.

Я также пытался с кодом SQL findNewRoomID, но он тоже не работал.

1 Ответ

1 голос
/ 11 марта 2019

При использовании предложения VALUES оператора INSERT INTO следует указывать список значений, разделенных запятыми, и его можно использовать только для вставки одного запись в целевую таблицу.

Если вместо этого вы хотите передать и добавить результаты запроса SELECT, который может возвращать несколько записей, вы просто должны использовать:

DoCmd.RunSQL "INSERT INTO [Assets All] (RoomID) SELECT RoomID from findNewRoomID"
...