我是Access的相对新手,从头开始编码,所以请保持温和。
我有一个Access 2010数据库,其中包含许多基于.txt文件的链接表。有时数据库会移动,源文件会移动或文件服务器只会重新命名。在这些事件中,我正在寻找一种简单的方法让数据库用户重新映射和刷新链接表。理想情况下,它将是用户提示,即用户按下按钮以从导航表格或某物刷新。然后,系统提示输入新文件夹位置。文件夹位置将包含所有必需的文件,因此只需选择一次。选择后,所有链接表都应重新映射并刷新,并且用户会收到错误或成功消息。
我已经看到了很多这些问题,但它们似乎是旧版本的Access,或者它不是要求用户提示或用户浏览新路径。
感谢。
答案 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