我有一个表单,我想填写它,然后将一些字段保存到名为Order的现有表中。 我试图用这行代码来做这件事:
CurrentDb.Execute“INSERT INTO Order(OrderNumber)”& “VALUES('”& Me.order&“')”
我也试过这个
CurrentDb.Execute“INSERT INTO Order(OrderNumber)”& “VALUES(”& Me.order&“)”
但它似乎没有什么区别。我一直收到以下错误:
运行时错误'3134':INSERT INTO语句中的语法错误。
我做错了什么?
答案 0 :(得分:3)
Order
是保留字。如果必须将其保留为表名,请将其括起来以避免混淆数据库引擎。
Dim strInsert As String
strInsert = "INSERT INTO [Order] (OrderNumber) VALUES ('" & Me.order & "')"
Debug.Print strInsert
CurrentDb.Execute strInsert, dbFailOnError
如果OrderNumber
是数字数据类型而不是文本,请从INSERT
语句中丢弃这些单引号。
将您的语句存储在字符串变量中。然后使用Debug.Print
检查您要求引擎执行的已完成语句。您可以在立即窗口中查看Debug.Print
输出。转到 Ctrl + g 复制语句并将其粘贴到新的Access查询的SQL视图中以进行故障排除。