如何将excel与vba的锁定访问数据库连接起来?
问题描述:
我有一个带密码的访问数据库(“1234”),我想连接vba中的excel文件来提取数据。如何将excel与vba的锁定访问数据库连接起来?
如果我取消保护访问文件,我可以用的东西连接自己这样
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
和它的作品,但是当我保护访问文件用密码我不知道该怎么办的连接。我已经试过这
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 ADODB VBA error msg 'Not a Valid Password'
在Access 2010中的加密方法改变数据库的密码,并在ADO提供商的“喷气机OLEDB:数据库密码”的关键字没有出现新的方法来工作。在这里,我必须删除密码,进入Access->文件 - >选项 - >客户端设置 - >高级,然后选中“使用传统加密”,然后重新创建密码。 我不知道是否有任何新的OLE DB连接字符串的关键词为ACE提供商还是使用ADO.NET
由于bibadia用户
答
有担保或密码保护时也会出现此问题Access数据库使用Properity“数据库密码” 例如:
cs = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & App.Path & "\myAccessFile.accdb;" & _
"Jet OLEDB:Database Password= 1234"
这里“App.Path”是您的应用程序放在你可以把然而ACCESS数据库,如果有一个L尺寸指定ocation然后在格式 e.g用它代替App.Path:
Ruta = ThisWorkbook.Path & "\KCBD.accdb"
cs = "provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Ruta & ";" & _
"Jet OLEDB:Database Password= 1234"
如果西港岛线不能正常工作,那么请尝试其他Jet提供
cs = "provider=Microsoft.jet.oledb.4.0;" & _
用户名丢失? – Margus 2014-09-12 12:31:05
没有用户名,我已经锁定数据库在独占模式下打开它并使用密码进行加密,在Access文件菜单中输入密码,没有别的。 – Monchou2 2014-09-12 12:35:33