【发布时间】:2011-01-26 17:28:53
【问题描述】:
我使用 SSMA 将数据从 access 数据库迁移到 sql server,同时仍然使用 access 数据库中的用户界面。
现在,我需要重命名那个 sql server 数据库,但我不确定如何更新 Access 文件以使用重命名的数据库。
【问题讨论】:
-
凹凸。 :) 开个玩笑,但最好能弄清楚这一点。
标签: sql-server database ms-access
我使用 SSMA 将数据从 access 数据库迁移到 sql server,同时仍然使用 access 数据库中的用户界面。
现在,我需要重命名那个 sql server 数据库,但我不确定如何更新 Access 文件以使用重命名的数据库。
【问题讨论】:
标签: sql-server database ms-access
您可以使用Linked Table Manager。
查看或刷新链接
当结构或 链接表的位置已更改。链接表管理器列出 所有当前链接表的路径。
- 打开包含表链接的数据库。
- 在工具菜单上, 指向数据库实用程序,然后单击链接表管理器。
- 选中要刷新其链接的表的复选框。
- 单击“确定”刷新链接。
Microsoft Access 确认成功 刷新,或者,如果未找到表,则显示 Select New 您可以在其中指定的对话框的位置 表的新位置。如果几个选定的表已移动到新的 您指定的位置,链接表管理器会搜索 所有选定表的位置,并一步更新所有链接。
更改一组链接表的路径
- 打开包含表链接的数据库。
- 在工具菜单上, 指向数据库实用程序,然后单击链接表管理器。
- 选中始终提示新位置复选框。
- 选中检查 要更改其链接的表的框,然后单击“确定”。
- 在“选择新位置”对话框中,指定新的 位置,单击“打开”,然后单击“确定”。
【讨论】:
您可以在 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
【讨论】: