0
我有幾個表通過Microsoft Query連接到訪問數據庫。如果我移動訪問文件的位置,或者需要更新源位置的方法,特別是因爲我需要與其他人共享此文件。如何更改excel中的MS查詢數據源與vba?
所有的連接都是ODBC並且來自同一個訪問文件。
我有幾個表通過Microsoft Query連接到訪問數據庫。如果我移動訪問文件的位置,或者需要更新源位置的方法,特別是因爲我需要與其他人共享此文件。如何更改excel中的MS查詢數據源與vba?
所有的連接都是ODBC並且來自同一個訪問文件。
由於所有的連接都是統一的,我循環每一個連接,並用通過windows文件瀏覽器選擇的文件替換當前源文件。
Sub SwitchODBCSource()
Dim conn As WorkbookConnection
Dim sOldConnection As String, sNewConnection As String
getfilePath = Application.GetOpenFilename()
FileType = ".accdb"
If InStr(getfilePath, FileType) Then
fileName = Dir(getfilePath)
filePath = Replace(getfilePath, "\" & fileName, "")
For Each conn In ActiveWorkbook.Connections
With conn
conn.ODBCConnection.BackgroundQuery = False
conn.ODBCConnection.CommandType = xlCmdSql
conn.ODBCConnection.Connection = Array(Array(_
"ODBC;DSN=MS Access Database;DBQ=" & filePath & "\" & fileName & ";DefaultDir=" _
), Array(_
filePath & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
))
End With
Next conn
ActiveWorkbook.RefreshAll
Call Sheet1.dropDown
Set conn = Nothing
Else
MsgBox ("Can only use " & FileType & " files")
End If
End Sub