我正在编写一个简单的SQL查询来更新测试数据库中的表,但我遇到了问题:
Public Sub UpdateStatus(TypeName As String)
Dim DBase As Database
Dim SQLCommand As String
Dim qdfChange As QueryDef
SQLCommand = "Update Case SET Status = 1 WHERE TypeName = '" & TypeName & "';"
Debug.Print SQLCommand
Set DBase = OpenDatabase("C:\TestDatabase\CaseSet.accdb")
Set qdfChange = DBase.CreateQueryDef("", SQLCommand)
qdfChange.Execute
End Sub
表格Case中的字段名称与我的SQL查询中的字段名称匹配。
(如果这是任何值,则此函数属于表单)
答案 0 :(得分:1)
Case is a reserved word and TypeName is a VBA Function.这使得它们成为数据库对象名称的不良选择。
如果无法重命名它们,请在SQL语句中包含这些名称,以便db引擎将它们识别为对象名称。
SQLCommand = "Update [Case] SET Status = 1 WHERE [TypeName] = '" & TypeName & "';"