2014-07-19 3 views

답변

0

모든 연결이 균일하므로 각 파일을 반복하고 현재 소스 파일을 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 
관련 문제