在访问中将数据从表单保存到表

时间:2013-03-03 16:42:46

标签: vba ms-access access-vba

我有一个表单,我想填写它,然后将一些字段保存到名为Order的现有表中。 我试图用这行代码来做这件事:

  

CurrentDb.Execute“INSERT INTO Order(OrderNumber)”& “VALUES('”& Me.order&“')”

我也试过这个

  

CurrentDb.Execute“INSERT INTO Order(OrderNumber)”& “VALUES(”& Me.order&“)”

但它似乎没有什么区别。我一直收到以下错误:

  

运行时错误'3134':INSERT INTO语句中的语法错误。

我做错了什么?

1 个答案:

答案 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视图中以进行故障排除。