如何在Append SQL for Access中使用子查询

时间:2014-08-13 03:21:02

标签: ms-access-2007 subquery sql-insert

我需要在我的追加SQL中添加一个子查询,它给我一个错误:

  

查询输入必须至少包含一个表或查询。

当我用常量值替换子查询时,不会返回错误。

我的代码是:

INSERT INTO tblActivity ( RequirementReferenceID, ActivityDate, ActivitySource, ActivityTypeID, ActivityDetails, AffectedFieldID )
SELECT [forms]![frmActivity]![UniqueID] AS Expr1, 
Now() AS Expr2, 
[forms]![frmActivity]![ChangedBy] AS Expr3, 
7 AS Expr4, 
(Select RequirementStatus from tblStatus 
where tblStatus.RequirementStatusID = [forms]![frmActivity]![NewRequirementStatus]) AS Expr5, 
48 AS Expr6;

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我找到了答案!

我没有在第一个Select查询中嵌套第二个Select查询,而是改变了第一个查询,以反映第二个我需要的内容。

INSERT INTO tblActivity ( RequirementReferenceID, ActivityDate, ActivitySource, ActivityTypeID, ActivityDetails, AffectedFieldID )
SELECT [forms]![frmActivity]![UniqueID], Now(), [forms]![frmActivity]![ChangedBy], 7, RequirementStatus, 48 
from tblStatus 
where tblStatus.RequirementStatusID = [forms]![frmActivity]![NewRequirementStatus];

这很有效。