错误代码91-集合VBA上的对象或变量
我试图在vba中打开excel时执行以下代码,但它给了我错误对象或未设置块变量。我编写了以下函数来执行我的功能错误代码91-集合VBA上的对象或变量,vba,excel,Vba,Excel,我试图在vba中打开excel时执行以下代码,但它给了我错误对象或未设置块变量。我编写了以下函数来执行我的功能 Private Sub Workbook_Open() Dim FilePath As String Dim AccessPath As String FilePath = Application.ThisWorkbook.Path AccessPath = FilePath & "\ABC Data.accdb" With ActiveWorkbook.Connect
Private Sub Workbook_Open()
Dim FilePath As String
Dim AccessPath As String
FilePath = Application.ThisWorkbook.Path
AccessPath = FilePath & "\ABC Data.accdb"
With ActiveWorkbook.Connections("ABC DATA_V1").OLEDBConnection
.BackgroundQuery = True
.CommandText = Array("ABCDataTest")
.CommandType = xlCmdTable
.Connection = Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" & AccessPath & ";" _
, _
"Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
, _
"Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;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 Da" _
, _
"tabase=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")
.RefreshOnFileOpen = False
.SavePassword = False
.SourceConnectionFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("ABC DATA_V1")
.Name = "ABC DATA_V1"
.Description = ""
End With
ActiveWorkbook.Connections("ABC DATA_V1").Refresh
End Sub
当我尝试调试时,如果逐行执行,它可以正常工作,但是在文件打开时,它会在第一个块中给我错误(使用ActiveWorkbook.Connections…。在
工作簿上。打开只要调用ThisWorkbook.Connections(“ABC DATA_V1”)。刷新。它正在尝试创建一个表吗?同时给出错误发生的确切行。我正在尝试将access db链接到透视表。确切的错误首先出现在块中。数据库在不同的系统中有不同的路径,因此我创建了一个代码来动态选择路径。是否与名称“ABC DATA_V1”
有关联?您正在使用一个现有的,因此请确保它已创建。是的,存在连接。连接已创建。只有db的路径被更改。在工作簿上。打开
只要调用ThisWorkbook.Connections(“ABC数据”)即可。刷新
。它正在尝试创建一个表吗?同时给出错误发生的确切行。我正在尝试将access db链接到透视表。确切的错误首先出现在块中。数据库在不同的系统中有不同的路径,因此我创建了一个代码来动态选择路径。是否与名称“ABC DATA_V1”
有关联?您正在使用一个现有的,因此请确保它已创建。是的,存在连接。连接已创建。只更改数据库的路径。