我已经从通过 excel 手动创建的现有连接中复制了所有参数,并进入 -> 连接 -> 连接 -> 属性。
我的代码在下面,我正在尝试执行与我的 Access 数据库的简单连接。但我不断收到错误消息:运行时错误 5:无效的过程调用或参数。
代码
Sub CustomPivotConnection()
Dim connstring As String: connstring = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\username\Desktop\DataBase.accdb;Mode=ReadWrite;Extended Properties=;Jet OLEDB:System database=;Jet OLEDB:Registry Path=;Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False"
Dim cmdstring As String: cmdstring = "'AZN','BOL','Dates','Instruments'"
Workbooks("WorkbookTester.xlsm").Connections.Add2 _
"Testing", "Testing", connstring, cmdstring, 6, True, True
End sub
最佳答案
不确定这是否会对您有所帮助,但我今天早些时候遇到了类似的错误,并通过键入以下内容进行了修复:OLEDB;
在连接字符串的开头。所以它读到:OLEDB;Provider=Microsoft...
首先使用向导并查看它生成的连接字符串可能会有所帮助;然后您可以在 VBA 代码中使用它。
关于excel - workbooks.connections.add2 给出运行时错误 5 : Invalid procedure call or argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582123/