解决了!请参阅下面的解决方案
我在Excel 2010中通过数据透视表数据连接从Excel 连接到多个独立的 Access 2010数据库.
刷新所有连接会导致最终刷新失败.顺序没关系,我手动刷新了不同的顺序,同样的错误.
但是,如果我在刷新几个后保存并关闭,然后返回并刷新最后一个,则完全没有问题.
让我相信我正在点击某种内存上限,当我保存并关闭时它会被重置.
我是否可以通过VBA重新创建该效果而无需实际保存/关闭?这个问题有更好的解决方案吗?
错误消息 - 这三个按此顺序弹出:
现行守则
Private Sub CommandButton1_Click()
On Error GoTo ErrHndlr
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.StatusBar = "Refreshing Data - Please Be Patient"
ActiveWorkbook.Connections("Connection_1").Refresh
ActiveWorkbook.Connections("Connection_2").Refresh
ActiveWorkbook.Connections("Connection_3").Refresh
Application.Calculation = xlCalculationAutomatic
Application.StatusBar = "Ready"
[LastUpdated].Value = FormatDateTime(Now, vbGeneralDate)
Application.ScreenUpdating = True
Exit Sub
ErrHndlr:
Application.StatusBar = "Ready"
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
[LastUpdated].Value = "Update Error"
Exit Sub
End Sub
Run Code Online (Sandbox Code Playgroud)
连接字符串
Provider=Microsoft.ACE.OLEDB.12.0
;User …Run Code Online (Sandbox Code Playgroud) 我有一个excel电子表格,使用ole db连接连接到MS-Access 2003数据库.当我刷新电子表格中的数据并打开我的ms-access数据库时,它说数据库是只读的.如果我关闭电子表格然后打开MS-Access DB,它将以写入模式打开.以下是Excel电子表格中使用的连接字符串.
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;
Data Source=D:\Dev\Reports.mdb;Mode=Share Deny Write;Extended Properties="";
Jet OLEDB:System database="";Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password="";
Jet OLEDB:Engine Type=5;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 Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
Run Code Online (Sandbox Code Playgroud)