【发布时间】:2020-12-18 00:14:30
【问题描述】:
我在使用 Excel (ODBC / Access) 时遇到问题。我想刷新计算机中任何文件夹中的数据。我有从桌面使用的文件,但我想在将同一文件移动到文档等时刷新同一文件中的数据。请您提供我应该做什么?
我的文件连接如下:
DSN=Excel Files;DBQ=C:\Users\User\Desktop\Task1\SalesBudget2018.xlsx;DefaultDir=C:\Users\User\Desktop\Task1;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
谢谢。
EDIT1:谢谢。我尝试使用您的解决方案,但收到错误:“运行时错误 2147467259 数据库或对象是只读的”,我的代码如下。该错误与“.Open”行有关:
Sub RefreshData()
Dim CreateNew As Object
Dim RunSELECT As Object
Dim Data As String
Dim SQL As String
FolderPath = ActiveWorkbook.path
Path = Left(FolderPath, InStrRev(FolderPath, "\") - 1)
Set CreateNew = CreateObject("ADODB.Connection")
With CreateNew
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & Path & "\SalesBudget2018.xlsx" & ";" & "Extended Properties=""Excel 12.0 Xml;HDR=YES;"";"
.Open
End With
'Run SQL
SQL = "SELECT * FROM [twRynki$]"
Set RunSELECT = cn.Execute(SQL)
Do
output = output & RunSELECT(0) & ";" & RunSELECT(1) & ";" & RunSELECT(2) & vbNewLine
Debug.Print RunSELECT(0); ";" & RunSELECT(1) & ";" & RunSELECT(2)
rs.Movenext
Loop Until rs.EOF
End Sub
【问题讨论】: