尝试在 MS Access 中执行动态 sql 字符串时出现错误(我正在使用 VBA 编写代码)。
错误:
运行时错误“3075”:查询表达式“11/8/2013' FROM tbl_sample”中的语法错误(缺少运算符)。
这是我的代码:
Sub UpdateAsOfDate()
Dim AsOfDate As String
AsOfDate = Form_DateForm.txt_AsOfDate.Value
AsOfDate = Format(CDate(AsOfDate))
Dim dbs As Database
Set dbs = OpenDatabase("C:\database.mdb")
Dim strSQL As String
strSQL = " UPDATE tbl_sample " _
& "SET tbl_sample.As_of_Date = '" _
& AsOfDate _
& "' " _
& "FROM tbl_sample " _
& "WHERE tbl_sample.As_of_Date IS NULL ;"
dbs.Execute strSQL
dbs.Close
End Sub
我将 strSQL 通过管道传输到 MsgBox,这样我就可以看到完成的 SQL 字符串,并且看起来它可以正常运行。这是怎么回事?