【问题标题】:Using Excel VBA to query Access Database使用Excel VBA查询Access数据库
【发布时间】:2016-08-26 21:32:11
【问题描述】:

我想使用 Excel VBA 来查询 MS Access 数据库,搜索并添加到表中。

通过搜索这个网站,我找到了这段代码:

Dim dbs As DAO.Database

Dim dbs As Object
Set dbs = OpenDatabase("FILEPATH\database1.accdb")


dbs.Execute "INSERT INTO Table1(ID, Field1, Field2, Field3) VALUES('1','Hello','Helo','Hi')"

这不起作用,因为它说没有为函数 OpenDatabase() 定义子或函数

谁有更好的方法

当我知道有更好的方法时,我想这样做是因为数据库和电子表格已经存在(由我的雇主运行)并且我只想将它们链接起来。

【问题讨论】:

  • 删除dbs的第二次重新定义。
  • 上面提供的文档链接是您最好的解释。您的代码不起作用,因为 OpenDatabase 是用户定义的函数;您必须自己编写(请参阅文档)。此外,请确保您启用了正确的 ADO 引用。
  • 澄清一下 - 您找到的代码专门用于在 Access 应用程序内部运行:它不会在 Excel 中运行。 @HA560发布的链接有你需要的。

标签: sql vba excel ms-access


【解决方案1】:

试试这个(当然,使用正确的 FILEPATH):

  Dim appAccess As Object: Set appAccess = CreateObject("Access.Application")
  appAccess.OpenCurrentDatabase ("FILEPATH\database1.accdb")
  appAccess.CurrentProject.Connection.Execute "INSERT INTO Table1(ID, Field1, Field2, Field3) VALUES('1','Hello','Helo','Hi')"
  Set appAccess = Nothing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多