从Excel VBA打开Access

Bra*_*ico 8 excel ms-access vba excel-vba

编辑:这个问题的答案可以在接受的答案的评论中找到.

我试图通过我的Excel文件中的按钮单击打开Access数据库.我目前有这个代码:

Private Sub bttnToAccess_Click()

Dim db As Access.Application

Set db = New Access.Application
db.Application.Visible = True
db.OpenCurrentDatabase "C:\Users\wcarrico\Desktop\wcarrico-CapstoneFinalSubmission.accdb"

End Sub
Run Code Online (Sandbox Code Playgroud)

这似乎很简单,然后Access几乎立即关闭.如果重要,Access文件有一个AutoExec宏,它在打开时自行运行一些测试.

Pie*_*ens 7

不要尝试打开Access应用程序; 只需使用以下数据访问技术之一创建连接对象: - OLE-DB或 - ODBC.

谷歌"ODBC连接字符串"或"OLE-DB连接字符串",以获取详细信息,具体取决于您的特定配置(和访问文件类型).

可能ADODB是用于数据访问的最简单的当前库.

更新: 尝试从Access导入数据,然后使用数据 - >从Access向导.Yu总是可以使用宏重新编码工具为您自动生成一些VBA代码,这将为您创建一些基础架构; 在探索VBA对象模型的新部分时,我会定期使用它.

更新 - 问题的最终解决方案,来自下面的评论
可能是因为变量超出了范围; 将db函数外部的声明移动到模块级别

  • 这可能是因为变量超出了范围; 将函数外部的"db"声明移到模块级别. (2认同)