MSAccess Вставка с дополнительным выбором не будет работать - PullRequest
0 голосов
/ 05 октября 2009

У меня простой запрос, но когда я пытаюсь выполнить этот запрос, я получаю сообщение об ошибке:

Ввод запроса должен содержать хотя бы одну таблицу или запрос. (Ошибка 3067)

Запрос:

INSERT INTO FV_Ko ( FvId, OldPriceNetto )
SELECT [PFvId], (SELECT FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123');

Ответы [ 4 ]

2 голосов
/ 05 октября 2009

Это должно сработать - оно должно запросить у вас [PFvId]

INSERT INTO FV_Ko ( FvId, OldPriceNetto ) 
SELECT [PFvId], FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123';
1 голос
/ 05 октября 2009

Если PFvld является параметром и запрос (MyQuery) сохраняется (часть базы данных MSAccess), то вы должны выполнить:

Dim qdf As DAO.QueryDef
Set qdf = db.QueryDefs("MyQuery")
qdf.Parameters("[PFvld]") = myValue

Если вы составляете запрос на лету и выполняете его, то вы можете просто указать значение при составлении кода SQL вместо параметра (хотя это не лучшее решение).

1 голос
/ 05 октября 2009

Подзапрос в порядке, но вы не говорите, откуда исходит PFvID. Ваша ВСТАВКА должна выглядеть примерно так:

INSERT INTO FV_Ko ( FvId, OldPriceNetto ) 
SELECT AnotherTable.PFvId, 
(SELECT FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123') FROM AnotherTable
0 голосов
/ 05 октября 2009
...   
SELECT [PFvId], --> you should define a FROM table at end of the query
(SELECT FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...