Access VBA DoCmd中的子查询

问题描述 投票:1回答:1

我试图在Access / VBA中运行以下内容

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

findNewRoomID是一个Query并且是Form的Record Source的一部分,它只返回一个结果。

错误消息显示子查询中存在语法错误。

我也尝试过使用findNewRoomID的SQL代码,但它也没有用。

sql ms-access access-vba
1个回答
1
投票

使用VALUES语句的INSERT INTO子句时,应提供以逗号分隔的值列表,这只能用于将单个记录插入目标表。

如果您希望传递附加可能返回多个记录的SELECT查询的结果,您只需使用:

DoCmd.RunSQL "INSERT INTO [Assets All] (RoomID) SELECT RoomID from findNewRoomID"
© www.soinside.com 2019 - 2024. All rights reserved.