在下面的查询中,我想更新表tblDependencies03中名为“ID”的字段,其值来自表tblDependencies01中的字段“ID”。在我的表单上,我有一个名为ID的控件,允许我识别我想要检索的表tblDependencies01中的哪条记录。但是,这个查询有效地创建了一条记录(在ID列中具有正确的ID号),但是对于表tblDependencies01中的每条记录都重复它,而不管ID号是什么。例如,如果我的控件反映了记录ID 96,并且表tblDependencies01中存在三个记录,ID为95,96& 97,我在tblDependencies03表中的最终结果将是3个记录创建,所有记录都是ID为'96'
以下是我的代码:
st_sql = "INSERT INTO tblDependencies03([ID])SELECT '" & ID & "' FROM tblDependencies01 WHERE [tbldependencies01].[ID] = ID "
Application.DoCmd.RunSQL(st_sql)
答案 0 :(得分:1)
SELECT中的条件错误。 检查查询的SELECT部分,您可能会获得多条记录。我也认为你不需要任何SELECT,因为你已经拥有了你想要的价值。您可以使用VALUES:
st_sql = "INSERT INTO tblDependencies03 ([ID]) VALUES ('" & ID & "')"