что не так с этим SQL-оператором?
В access я делаю это:
insert into accounts_changes
(select *
from accounts
where [Agency Code]
in (select * from tableimport))
Он говорит, что ему не нравится это заявление INSERT
Обновление:
sSql = "insert into accounts_changes (select * from Accounts where [Agency Code] in (select [Agency Code] from tableimport))"
Я сделал то, что сказал Марк, и это все еще дает мне то же самое сообщение об ошибке
syntax error in INSERT INTO statement
Когда я делаю это:
ssql = "select [Agency Code] from tableimport"
CurrentDb.Execute ssql
Он говорит, что не может выполнить SELECT QUERY
5 ответов:
Эта часть, возможно, ввела вас в заблуждение:
ssql = "select [AgencyCode] from tableimport" CurrentDb.Execute ssql
для выполнения требуется запрос" action " (INSERT, DELETE, UPDATE или SELECT INTO). Когда вы даете Execute простой (возвращающий строку) запрос SELECT, вы всегда будете получать ошибку #3065, "не удается выполнить запрос select". Это не значит, что с вашим утверждением SELECT было что-то не так. Проверьте инструкцию SELECT, вставив ее в представление SQL нового запроса.
Вы показали две вариации [AgencyCode]... один с и еще один без зазора между агентством и кодом. Что это такое?
Я думаю, что в вашем первоначальном заявлении INSERT была дополнительная пара скобок, которые не нужны. Попробуйте сделать это следующим образом:
insert into accounts_changes select * from Accounts where [Agency Code] in ( select [Agency Code] from tableimport)
Если это все еще не удается, убедитесь, что у вас есть одинаковое количество полей, с одинаковыми именами полей и типами данных как в Accounts, так и в accounts_changes. Если поля в двух таблицах не совпадают точно, перечислите поля явно, как показал вам @pcent.
Это неправильно:
select * from accounts where [Agency Code] in (select * from tableimport)
В подзапросе можно выбрать только один столбец для предложения IN. Вы хотите что-то вроде этого:
select * from accounts where [Agency Code] in (select [Agency Code] from tableimport)
Необходимо проверить точное название столбца в таблице
tableimport
. Все вышесказанное - лишь мое лучшее предположение.