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

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

【问题讨论】:

    标签: ms-access vba ms-access-2010 ms-access-2007


    【解决方案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.
    • 对我来说就像一个魅力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 2014-06-14
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多