我的用户正在使用一个 Access 数据库,该数据库已分为前端 (DB.accdb) 和后端 (DB_be.accdb)。由于他们偶尔需要移动文件,因此我编写了一个函数来在启动时重新链接表。
现在,不知何故他们设法破坏了文件,我真的不知道如何。当为表调用 RefreshLink 函数时,总是会出现运行时错误(实际上是不同的错误)。
例如,错误 3022:
您对表请求的更改不成功,因为它们会在索引、主键或关系中创建重复值。更改包含重复数据的一个或多个字段中的数据,删除索引,或重新定义索引以允许重复条目,然后重试
我以独占模式打开前端,删除表并手动重新链接它们。但是 1 附加到他们的名字:someTable
--> someTable1
。似乎这些表已经存在?也许他们还在系统表中?由于重新链接会在此处插入链接表的名称,因此显然会有几个具有重复名称的表。
我打开了连接管理器,确实,它在我刚刚添加的新链接中列出了旧的、错误的链接。
- 我无法刷新旧链接 - “重复值”等。
- 我可以刷新新链接,但当然我不能重命名表(删除 1),因为具有这些名称的表已经存在。
- 我也不能删除旧表,因为它们没有显示在侧边栏中!即使我打开“显示系统对象”等,它们也不会出现。
- 我无法删除新链接,然后更新旧链接,因为连接管理器按钮是灰色的。大概 Access 认为没有表。
当我尝试压缩和修复数据库时,它再次使用旧链接......
我怎样才能完全删除以前链接的所有痕迹?