3

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

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

我也试过这样

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

但这似乎没有什么不同。我不断收到以下错误:

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

我究竟做错了什么?

4

1 回答 1

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

于 2013-03-03T16:47:53.740 回答