我一直遇到'运行时错误3464'我的脚本如下:
Private Sub ApproveTDS_Click()
DoCmd.SetWarnings False
Dim usr As String
usr = DLookup("UserID", "tt_CurrentUser")
DoCmd.RunSQL "UPDATE Table1 SET Table1.Date = Date(), Table1.ApprovedBy = '"& usr & "' WHERE Table1.Job = '" & Me!txtJobLU & "' And Table1.SN = '" & Me!txtJobSN & "'"
Me.Refresh
DoCmd.SetWarnings True
End Sub
usr = varchar(255)
Table1.Date = Date
Table1.ApprovedBy = varchar(255)
Table1.Job = int
Table1.SN = varchar(50)
有什么建议吗?
谢谢你,Adam
答案 0 :(得分:0)
WHERE Table1.Job = '" & Me!txtJobLU & "'
如果Job是一个int,那么将它包装在引号中是行不通的 - SQL Server认为引号中的内容是字符串。字符串不是整数,因此您会得到数据类型不匹配。删除单引号以解决此问题。
但更好的是,将来学会使用参数化查询 - 这段代码容易受到SQL注入攻击。