【问题标题】:saving data from form to table in access在访问中将数据从表单保存到表
【发布时间】:2013-02-17 17:41:57
【问题描述】:

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

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

我也试过这样

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

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

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

我做错了什么?

【问题讨论】:

  • 您可以尝试打印您作为查询执行的 sql 字符串吗?也许这有助于追踪问题。

标签: ms-access vba


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    • 2016-10-06
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多