使用Insert修改现有记录的SQL错误

时间:2010-06-01 20:09:28

标签: sql vba insert

我使用以下代码在Access VBA中调用查询

strSQL = "INSERT INTO tblLoanDetails ([ServerName]) VALUES ('Test') WHERE [ID]=3"
Call CurrentDb.Execute(strSQL)

我想更改ServerName字段。

我收到运行时错误“3067:查询必须包含至少一个表或查询。”

insert语句字符串如下所示。 (将var扔到文本框中):

INSERT INTO tblLoanDetails ([ServerName]) VALUES ('Test') WHERE [ID]=3

我尝试在结尾添加一个分号。我确保我的表名为tblLoanDetails,我的列名是ServerName和ID。

1 个答案:

答案 0 :(得分:1)

假设您要添加 new 记录,在这种情况下您不应该有WHERE子句,因为没有要检查的记录。这样做:

INSERT INTO tblLoanDetails (ServerName) VALUES ('Test') 

如果您希望修改现有记录,请执行以下操作:

UPDATE tblLoanDetails set ServerName = 'Test' where ID = 3