移动目录时更新链接表

时间:2015-04-30 10:09:17

标签: vba ms-access access-vba

我有3个Access数据库链接,当我将它们从一台计算机移动到另一台计算机时,我必须更新它们......

我一直在尝试使用下面的代码,这似乎可以很好地完成刷新部分...当我得到“找不到可安装的ISAM”时...任何想法如何解决这个问题?

Private Sub RelinkTables()
Dim oldConnection As String
Dim newConnection As String

Dim currentPath As String
currentPath = CurrentProject.Path

Dim tblDef As TableDef

For Each tblDef In CurrentDb.TableDefs
oldConnection = tblDef.Connect
If Right(oldConnection, 7) = "l.accdb" Then
    newConnection = currentPath & "\PL.accdb"
Else
    If Right(oldConnection, 7) = "d.accdb" Then
        newConnection = currentPath & "\MasterDB - consolidated.accdb"
    Else
        newConnection = currentPath & "\analysis.accdb"
End If
End If

tblDef.Connect = newConnection
tblDef.RefreshLink

Next

End Sub

1 个答案:

答案 0 :(得分:1)

以下是链接表的.Connect属性,其源位于另一个Access数据库中。

? CurrentDb.TableDefs("tblUser").Connect
;DATABASE=C:\share\Access\loginexample.mdb

在构建 newConnection 字符串时,您的代码不包含“; DATABASE =”部分。您可以将其添加到 currentPath 字符串中,然后它将包含在 newConnection 字符串中。

currentPath = ";DATABASE=" & CurrentProject.Path