在 Access 中更改链接表中的表名

Posted

技术标签:

【中文标题】在 Access 中更改链接表中的表名【英文标题】:Change table name in linked table in Access 【发布时间】:2016-03-04 16:51:41 【问题描述】:

我正在尝试在 Access 中更改表的名称。我已经去了链接管理器并完成了该过程。它将更改为我放置的服务器,但它永远不会更改表名称(以黄色突出显示)。

【问题讨论】:

【参考方案1】:

看来您的目标是更改链接的TableDefSourceTableName,但我怀疑这是可能的。尝试这样做会触发错误 #3268:

一旦对象是集合的一部分,就无法设置此属性。

所以我认为你必须创建一个新的链接 TableDef 与旧链接的 Connect 属性和你的新 SourceTableName 值和 AppendTableDefs 集合。

Const cstrOldName As String = "dbo_tblFoo2"
Dim db As DAO.Database
Dim tdfOld As DAO.TableDef
Dim tdfNew As DAO.TableDef
Set db = CurrentDb
Set tdfOld = db.TableDefs(cstrOldName)
tdfOld.Name = cstrOldName & "_old" ' rename the old link

Set tdfNew = db.CreateTableDef
With tdfNew
    .Name = cstrOldName
    .Connect = tdfOld.Connect
    .SourceTableName = "dbo.Dual"
End With
db.TableDefs.Append tdfNew

【讨论】:

... 或者只是在 UI 中手动执行此操作,方法是删除旧的 ODBC 链接表,创建新链接表,然后将新链接表重命名为与旧链接表同名。跨度> 可以在没有 DSN 的情况下通过 UI 完成吗?我不明白怎么做。 有点。如果新的 ODBC 链接表是使用 文件 DSN 创建的(当您在“选择数据源”对话框中单击 "New..." button 时会发生这种情况),则 .Connect 属性使用文件名作为 Description并且还包括其他连接字符串元素:ODBC;Description=zzzTestFileDsn;DRIVER=SQL Server;SERVER=(local)\SQLEXPRESS;Trusted_Connection=Yes;APP=Microsoft Office 2010;DATABASE=myDb. 对我来说就像一个魅力。

以上是关于在 Access 中更改链接表中的表名的主要内容,如果未能解决你的问题,请参考以下文章

如何查询一个ACCESS数据库中的表名和字段?

Java 中获得Access 数据库中的表名和表中的列名 及每个列的数据类型

为 Access 中的链接表选择 @@Identity 返回 0

MS Access SQL 语法错误

更改链接表源访问 2016

Microsoft Access 2016 查询为链接表中的空日期返回 1/1/1800