2013-12-23 55 views
1

我正在使用此代码向表中插入4个文本文本框。插入代码会引发错误

CurrentDb.Execute = "INSERT INTO tbl_machineheader(Line No, Description, Service Interval, Type) values ('" & Me.Combo3 & "', '" & Me.Text1 & "', '" & Me.Text6 & "', '" & Me.Text12 & "')" 

但它似乎并没有工作,我不明白为什么。

回答

1

这“=”字符是错误的:

CurrentDb.Execute **=** "INSERT INTO tbl_machineheader(Line No, Description, Service Interval, Type) values ('" & Me.Combo3 & "', '" & Me.Text1 & "', '" & Me.Text6 & "', '" & Me.Text12 & "')" 

你也应该用方括号中列名。正确的语法如下:

CurrentDb.Execute "INSERT INTO tbl_machineheader([Line No], [Description], [Service Interval], [Type]) values ('" & Me.Combo3 & "', '" & Me.Text1 & "', '" & Me.Text6 & "', '" & Me.Text12 & "')" 
+0

你的观察是正确的,但更好的答案会一直建议使用记录插入或参数化查询(通过QueryDef对象)避免SQL注入漏洞和其他滋扰。 –