如何使用VBA将Excel与锁定的Access数据库连接?

问题描述 投票:0回答:2

我有一个具有密码(“ 1234”)的Access数据库,并且我想使用VBA连接Excel文件以提取数据。

如果取消保护Access文件,则可以连接类似这样的东西

path = ThisWorkbook.Path & "\KCBD.accdb"
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path & ";Persist Security Info=False;"

Set Cn = New ADODB.Connection
Cn.Open cs

当我用密码保护Access文件时,我不知道如何进行连接。

我尝试过

Ruta = ThisWorkbook.Path & "\KCBD.accdb"
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Ruta & ";Persist Security Info=False;" & "Password=1234;"

Set Cn = New ADODB.Connection
Cn.Open cs

Cn.Open cs行中,此错误使我停止:

运行时错误'-2147217843(80040e4d)'

excel access-vba connect password-protection
2个回答
1
投票

我找到了这个问题的答案:Excel ADODB VBA error msg 'Not a Valid Password'

在Access 2010中,加密方法已更改为数据库密码,并且ADO提供程序的“ Jet OLEDB:Database Password”关键字似乎不适用于新方法。在这里,我必须删除密码,进入“访问”->“文件”->“选项”->“客户端设置”->“高级”,并选中“使用旧版加密”,然后重新创建密码。我不知道ACE提供程序是否有任何新的OLE DB连接字符串关键字,或者在使用ADO.NET时是否也会出现此问题]]

感谢bibadia

用户

1
投票

对于安全或受密码保护的Access数据库,请使用属性“数据库密码”例如:

© www.soinside.com 2019 - 2024. All rights reserved.