在Access 2010中重新映射链接表

时间:2015-01-06 20:22:50

标签: ms-access access-vba ms-access-2010

我是Access的相对新手,从头开始编码,所以请保持温和。

我有一个Access 2010数据库,其中包含许多基于.txt文件的链接表。有时数据库会移动,源文件会移动或文件服务器只会重新命名。在这些事件中,我正在寻找一种简单的方法让数据库用户重新映射和刷新链接表。理想情况下,它将是用户提示,即用户按下按钮以从导航表格或某物刷新。然后,系统提示输入新文件夹位置。文件夹位置将包含所有必需的文件,因此只需选择一次。选择后,所有链接表都应重新映射并刷新,并且用户会收到错误或成功消息。

我已经看到了很多这些问题,但它们似乎是旧版本的Access,或者它不是要求用户提示或用户浏览新路径。

感谢。

1 个答案:

答案 0 :(得分:0)

虽然我同意Marc B的看法,这似乎是一个非常奇怪的构建数据库,您可以使用以下代码将表再次手动链接到正确的位置。您需要将其设置为一个系统,该系统可以遍历所有表并逐个执行,或者调整此代码以自动执行此操作。但您可能只想重新考虑您的系统。

Function SetTableLinkPath(strTableName As String, strTablePath As String)

    If Nz(strTableName, "") <> "" And Nz(strTablePath, "") <> "" Then
        Dim cdb As DAO.Database

        Set cdb = CurrentDb

        cdb.TableDefs(strTableName).Connect = ";DATABASE=" & strTablePath
        cdb.TableDefs(strTableName).RefreshLink

        MsgBox "Table link for " & strTableName & " has been successfully set to the path: " & strTablePath & "."
    Else
        MsgBox "You must enter a valid Table path and name!"
    End If

End Function