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

Ini*_*ton 2 ms-access vba ms-access-2007 ms-access-2010

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

在此处输入图片说明

Han*_*sUp 5

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

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

所以我认为你必须创建一个新的链接TableDefConnect从旧链接和你的新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
Run Code Online (Sandbox Code Playgroud)

  • ...或者只是通过删除旧的 ODBC 链接表,创建新表,然后将新表重命名为与旧表具有相同名称,在 UI 中手动执行此操作。 (3认同)
  • 有点。如果新的 ODBC 链接表是使用 *File DSN* 创建的(当您单击 Select数据源对话框)然后`.Connect`属性使用文件名作为`Description`并包括其他连接字符串元素:`ODBC;Description=zzzTestFileDsn;DRIVER=SQL Server;SERVER=(local)\SQLEXPRESS;Trusted_Connection = 是;APP=Microsoft Office 2010;DATABASE=myDb`。 (2认同)