workbooks.connections.add2给出运行时错误5:无效的过程调用或参数

时间:2015-02-18 11:10:28

标签: vba excel-vba access-vba excel

我已经通过excel手动创建的现有连接复制了所有参数,然后进入 - >连接 - >连接 - >属性。

我的代码如下,我正在尝试执行与访问数据库的简单连接。但我不断收到错误消息:运行时错误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

1 个答案:

答案 0 :(得分:4)

不确定这是否会对您有所帮助,但我今天早些时候遇到了类似的错误并通过在连接字符串的开头键入:OLEDB;来修复它。所以它读到:

OLEDB;Provider=Microsoft...

首先使用向导并查看它生成的连接字符串可能会有所帮助;然后,您可以在VBA代码中使用它。