Доступ к связанной таблице Свойство подключения повреждено — как исправить (или удалить)?

У меня есть две базы данных Access (2016) на сервере компании. В базе данных «А» есть код, который создает связанную таблицу (в «А») с таблицей в базе данных «Б», выполняет некоторые действия в базе данных «А», используя данные в связанной таблице, а затем удаляет связанную таблицу.

Это работало отлично в течение нескольких месяцев, но пару дней назад оно упало.

При расследовании я вижу, что связанная таблица (в «A») не была удалена, но свойство соединения таблицы было сброшено на пустую строку. Если я попытаюсь удалить связанную таблицу (в «A») через панель навигации, я получу ошибку «Недопустимое использование Null».

Я пытался использовать код для обновления/восстановления свойства «соединение», но это не работает.

Теперь у меня есть таблица, которую я не могу удалить.

У кого-нибудь есть идеи, как я могу удалить таблицу?


person Mike T    schedule 16.07.2016    source источник
comment
Вы сделали компакт и ремонт?   -  person Andre    schedule 16.07.2016
comment
Да, но это не сработало... но см. ответ Горда Томпсона ниже   -  person Mike T    schedule 17.07.2016
comment
Вы можете принять его ответ, это также помечает вопрос как решенный.   -  person Andre    schedule 17.07.2016


Ответы (1)


Я пытался использовать код для обновления/восстановления свойства «соединение», но это не работает.

Я смог воссоздать вашу проблему, взломав файл .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

Как только ссылка была восстановлена, я мог удалить ее, как обычно.

person Gord Thompson    schedule 16.07.2016
comment
Это решило проблему. Таблица удалена. Спасибо, Горд. - person Mike T; 17.07.2016
comment
Отметить ответ как ответ - person dbmitch; 18.07.2016