我使用SSMA将数据从访问数据库迁移到sql server,同时仍使用访问数据库中的用户界面。
现在,我需要重命名该sql server数据库,但我不确定如何更新Access文件以使用重命名的数据库。
答案 0 :(得分:4)
您可以使用Linked Table Manager。
查看或刷新链接
使用此过程查看或刷新结构或链接时的链接 链接表的位置已更改。链接表管理器列表 所有当前链接表的路径。
- 打开包含表格链接的数据库。
- 在“工具”菜单上, 指向Database Utilities,然后单击Linked Table Manager。
- 选中要刷新其链接的表格的复选框。
- 单击“确定”以刷新链接。
Microsoft Access确认成功 刷新,或者,如果未找到表,则显示“选择新” 您可以在其中指定对话框的位置 表的新位置。如果多个选定的表已移至新表 您指定的位置,链接表管理器搜索它 所有选定表的位置,并在一个步骤中更新所有链接。
更改一组链接表的路径
- 打开包含表格链接的数据库。
- 在“工具”菜单上, 指向Database Utilities,然后单击Linked Table Manager。
- 选中“始终提示新位置”复选框。
- 选中支票 要更改其链接的表的框,然后单击“确定”。
- 在“选择新位置”对话框中,指定新的 单击位置,单击“打开”,然后单击“确定”。
答案 1 :(得分:0)
您可以在VBA中执行此操作。此代码查找以“dbo_”开头的链接表,并删除该部分名称。您需要对其进行修改以满足您的需求。我建议您从autoexec宏或从数据库启动的未绑定表单中调用此方法。
如果您要链接到多个SQL Server数据库,那么此解决方案现在可以正常工作。
Public Sub subChangeLinkedTableNames()
Dim dbCurr As DAO.Database
Dim tdfCurr As DAO.TableDef
Set dbCurr = CurrentDb()
For Each tdfCurr In dbCurr.TableDefs
If Len(tdfCurr.Connect) > 0 Then
If Left(tdfCurr.Name, 4) = "dbo_" Then
tdfCurr.Name = Replace(tdfCurr.Name, "dbo_", "")
End If
End If
Next
Set tdfCurr = Nothing
Set dbCurr = Nothing
End Sub