语法错误 运行 MS Access 中的 Visual Basic SQL 查询
Syntax Error running a Visual Basic SQL query in MS Access
我正在尝试在 MS Access 中创建日志 table 以跟踪 table 中日期字段的更改。每次我尝试更改表单中的字段值时,我都会收到一条语法错误消息:“查询表达式中存在语法错误(缺少运算符)。”我已经尝试研究如何修复它,但到目前为止我一直没有成功。这是我的查询:
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO DateChangeLog SELECT * FROM Date_table " & _
"WHERE [Unique Key]=" & [Unique Key]
End Sub
这里有什么我遗漏的吗?
谢谢您,MS Access 新用户!
没有看到涉及的数据类型,我猜测 [Unique Key]
可能是文本。如果是这样,您需要将实际值放在单引号中:
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO DateChangeLog SELECT * FROM Date_table " & _
"WHERE [Unique Key]='" & [Unique Key] & "'"
End Sub
附带说明,没有列列表的 INSERT
语句和 SELECT *
都是不好的做法。您应该在两者中指定列名。由于我不知道您的专栏是什么,我们假设它们是 ColA
、ColB
和 ColC
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO DateChangeLog(ColA, ColB, ColC) SELECT ColA, ColB, ColC FROM Date_table " & _
"WHERE [Unique Key]='" & [Unique Key] & "'"
End Sub
我正在尝试在 MS Access 中创建日志 table 以跟踪 table 中日期字段的更改。每次我尝试更改表单中的字段值时,我都会收到一条语法错误消息:“查询表达式中存在语法错误(缺少运算符)。”我已经尝试研究如何修复它,但到目前为止我一直没有成功。这是我的查询:
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO DateChangeLog SELECT * FROM Date_table " & _
"WHERE [Unique Key]=" & [Unique Key]
End Sub
这里有什么我遗漏的吗? 谢谢您,MS Access 新用户!
没有看到涉及的数据类型,我猜测 [Unique Key]
可能是文本。如果是这样,您需要将实际值放在单引号中:
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO DateChangeLog SELECT * FROM Date_table " & _
"WHERE [Unique Key]='" & [Unique Key] & "'"
End Sub
附带说明,没有列列表的 INSERT
语句和 SELECT *
都是不好的做法。您应该在两者中指定列名。由于我不知道您的专栏是什么,我们假设它们是 ColA
、ColB
和 ColC
Private Sub Form_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO DateChangeLog(ColA, ColB, ColC) SELECT ColA, ColB, ColC FROM Date_table " & _
"WHERE [Unique Key]='" & [Unique Key] & "'"
End Sub