重定向链接表
Re-directing linked tables
我认为下面的第三行代码存在语法问题,我正在尝试获取位于后端数据库中不同于前端的目录中的 table . 运行 时间错误为 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
您在相对路径中间使用了绝对路径。我打赌你想要 ";DATABASE=" & "C:\Users\Andrea LENTI\DocumentsLinkedTablesBE2.accdb"
在构造字符串变量时(特别是在构造 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
我认为下面的第三行代码存在语法问题,我正在尝试获取位于后端数据库中不同于前端的目录中的 table . 运行 时间错误为 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
您在相对路径中间使用了绝对路径。我打赌你想要 ";DATABASE=" & "C:\Users\Andrea LENTI\DocumentsLinkedTablesBE2.accdb"
在构造字符串变量时(特别是在构造 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