使用Insert修改现有记录时发生SQL错误

使用Insert修改现有记录时发生SQL错误,sql,vba,insert,Sql,Vba,Insert,我正在使用下面的代码调用Access VBA中的查询 strSQL = "INSERT INTO tblLoanDetails ([ServerName]) VALUES ('Test') WHERE [ID]=3" Call CurrentDb.Execute(strSQL) 我想更改ServerName字段 我得到一个运行时错误“3067:查询必须至少包含一个表或查询。” insert语句字符串如下所示。(将变量放入文本框中): 我试着在结尾加一个分号。我确保我的表名为tblloandea

我正在使用下面的代码调用Access VBA中的查询

strSQL = "INSERT INTO tblLoanDetails ([ServerName]) VALUES ('Test') WHERE [ID]=3"
Call CurrentDb.Execute(strSQL)
我想更改ServerName字段

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

insert语句字符串如下所示。(将变量放入文本框中):


我试着在结尾加一个分号。我确保我的表名为tblloandeails,列名为ServerName和ID。

假设您要添加一条新记录,在本例中不应该有
WHERE
子句,因为没有要检查的记录。这样做:

INSERT INTO tblLoanDetails (ServerName) VALUES ('Test') 
如果您希望修改现有记录,请执行以下操作:

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

您是否建议我应该更新而不是插入?使用插入来添加新记录,使用更新来更改现有记录。因此,如果我想从其他内容更改ServerName字段,我不应该插入?
UPDATE tblLoanDetails set ServerName = 'Test' where ID = 3