访问链接表Connect属性已损坏 - 如何修复(或删除)?

时间:2016-07-16 07:01:48

标签: ms-access access-vba ms-access-2016

我在公司服务器上有两个Access(2016)数据库。在数据库'A'中,有代码创建一个链接表(在'A'中)到数据库'B'中的表,使用链表中的数据在数据库'A'中执行一些操作然后删除链接表。

这种情况已经好几个月了,但是几天前它已经崩溃了。

在调查中我看到链接表(在'A'中)没有被删除,但是表的连接属性被重置为空字符串。 如果我尝试通过导航窗格删除链接表(在“A”中),我会收到错误“无效使用空”。

我尝试使用代码来更新/恢复'connection'属性,但这不起作用。

我现在有一张我无法删除的表格。

有没有人知道如何删除表格?

1 个答案:

答案 0 :(得分:3)

  

我尝试使用代码来更新/恢复'connection'属性,但这不起作用。

我能够通过黑客攻击.accdb文件并将链接表的.Connect属性设置为Null来重新创建您的问题。虽然......

  • 我无法删除链接(我得到“无效使用Null”,和你一样),

  • 压缩和修复数据库无法解决问题

...我 能够使用以下VBA代码恢复链接:

Option Compare Database
Option Explicit

Sub ReviveBadLink()
    Dim cdb As DAO.Database
    Set cdb = CurrentDb
    Dim tbd As DAO.TableDef
    Set tbd = cdb.TableDefs("Clients")
    tbd.Connect = ";Database=C:\Users\Public\Database1.accdb"
    tbd.RefreshLink
End Sub

一旦链接恢复,我就可以像往常一样删除它。