我有简单的查询,但是当我尝试执行此查询时,我收到错误:
查询输入必须至少包含一个表或查询。 (错误3067)
查询:
INSERT INTO FV_Ko ( FvId, OldPriceNetto )
SELECT [PFvId], (SELECT FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123');
答案 0 :(得分:2)
这应该有用 - 它应该要求你[PFvId]
INSERT INTO FV_Ko ( FvId, OldPriceNetto )
SELECT [PFvId], FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123';
答案 1 :(得分:1)
子查询没问题,但你没有说PFvID的来源。你的INSERT应该是这样的:
INSERT INTO FV_Ko ( FvId, OldPriceNetto )
SELECT AnotherTable.PFvId,
(SELECT FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123') FROM AnotherTable
答案 2 :(得分:1)
如果PFvld是一个参数并且保存了查询(MyQuery)(MSAccess数据库的一部分),那么您应该可以这样做:
Dim qdf As DAO.QueryDef
Set qdf = db.QueryDefs("MyQuery")
qdf.Parameters("[PFvld]") = myValue
如果你动态编写查询并执行它,那么你可能只需在编写SQL代码而不是参数时指定一个值(不过它是一个更好的解决方案)。
答案 3 :(得分:0)
...
SELECT [PFvId], --> you should define a FROM table at end of the query
(SELECT FV.PriceNetto1 FROM FV WHERE FV.FVnr = '123');