2015-05-10 61 views
0

我有我認爲是一個語法問題與下面的代碼第三行,我試圖源位於後端數據庫中的目錄不同於前端的目錄中。運行時錯誤是3055 - 文件無效重定向鏈接表

Function linkToUnc() 

Dim cdb As DAO.Database 
Set cdb = CurrentDb 

cdb.TableDefs("tblTest01").Connect = ";DATABASE=" & CurrentProject.Path & "\LinkedTablesBE2.accdb" 
cdb.TableDefs("tblTest01").RefreshLink 

cdb.TableDefs("tblTest02").Connect = ";DATABASE=" & CurrentProject.Path & "\LinkedTablesBE2.accdb" 
cdb.TableDefs("tblTest02").RefreshLink 

cdb.TableDefs("tblTest03").Connect = ";DATABASE=" & CurrentProject.Path & "C:\Users\Andrea LENTI\DocumentsLinkedTablesBE2.accdb" 
cdb.TableDefs("tblTest03").RefreshLink 

Set cdb = Nothing 

End Function 

回答

3

您正在使用相對路徑中間的絕對路徑。我敢打賭,你想";DATABASE=" & "C:\Users\Andrea LENTI\DocumentsLinkedTablesBE2.accdb"

的技術來避免這樣的錯誤,當構建字符串變量(expecially在構建SQL)是創建一個字符串變量來保存構建適應和支持,然後檢查結果:

Dim strPath As String 
'Incorrect assignment 
strPath = ";DATABASE=" & CurrentProject.Path & "C:\Users\Andrea LENTI\DocumentsLinkedTablesBE2.accdb" 
Debug.Print strPath 'Displays result of assignment in immediate window 
cdb.TableDefs("tblTest03").Connect = strPath 
+1

我同意你的解決方案,雖然''你是在相對路徑中間的絕對路徑「'不確定你在那裏的意思哈哈。 – Newd