【问题标题】:Executing SQL updates on linked Excel table in Access在 Access 中对链接的 Excel 表执行 SQL 更新
【发布时间】:2016-04-28 04:29:41
【问题描述】:

使用 Access 2010,我将几个 Excel 表格导入 Access,并构建了允许用户更新表格并将信息添加到表格的表单。这些表单通过在 VBA 中动态生成 SQL 更改和更新语句然后运行 ​​DoCmd.RunSQL 来工作。但是,我希望对表格的更改能够反映在原始 Excel 表格中,因此我删除了 Access 中的表格,而是将 Excel 表格链接到 Access。

我的所有选择查询都继续工作,因此我能够以基本相同的方式访问数据,但我无法使用 DoCmd.RunSQL 在 VBA 中的表上执行 SQL 语句,这意味着我不能像以前一样执行 SQL update 和 alter 语句。

我的问题是:我可以在链接的 Excel 表上执行 SQL,包括更改和更新语句,如果可以,如何?

【问题讨论】:

  • AFAIK,这是直接编辑 Excel 文件的唯一方法。我认为您可以通过ADO 或通过 VBA(从 Access 调用)直接编码到 Excel 文件中来做到这一点

标签: excel ms-access vba ms-access-2010


【解决方案1】:

我可以在我的链接上执行包括更改和更新语句的 SQL Excel 表格?

不,链接的工作表从 Access 的角度来看是只读的。这不仅仅是 Access SQL 的限制。如果您直接在 数据表视图 中打开这些链接之一,则无法更改存储的值、删除行或添加新行。

微软explains ...

由于法律问题,Microsoft 已禁用该功能 Access 2003 和允许用户更改数据的 Access 2002 中的 指向 Excel 工作簿中某个范围的链接表。

在 Access 2002 和 2003 中删除了该编辑功能,并且没有添加回后续 Access 版本。

查看链接页面了解更多详情,包括他们建议的解决方法。

【讨论】:

  • 谢谢,我看到了那个链接,但希望它不适用于 Access 2010。哦,好吧
  • 是的,看起来它可能只适用于 2002 年和 2003 年,但并非如此。 AFAIR,存在知识产权纠纷,MS 不得不禁用该功能作为回应。我没有看到任何暗示这种情况会改变。 :-(
【解决方案2】:

您有一个简单的选择。如果链接 Excel 文件,则可以使用链接的 Excel 表创建生成表查询。创建新表后,您现在可以根据自己的喜好操作访问数据。然后,如果需要,您可以将新的、更新的或更改的数据导出回 Excel。

请记住,在处理外部数据时,您需要在访问和操作该数据的方法中变得更加奇特。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多