5

У меня есть приложение Access 2010, которое работает в загруженной сети (отдельные внешние и внутренние части, та же версия Access). В последнее время, когда я закрываю его, запускается утилита сжатия. Это как если бы опция была проверена на «сжатие при закрытии». Но этот параметр не отмечен, ни в серверной базе данных.

Я унаследовал это приложение, и оно начало показывать это поведение только недавно. Я знаю код VBA и нет компактной процедуры (я искал compact в модулях, чтобы убедиться). Сжатие происходит, даже если я запускаю Call SetOption("Auto Compact",False) при выгрузке основной формы. Сжатие также происходит, если я отключаю VBA, не нажимая "Включить содержимое".

Я слышал, что вы можете запустить Access с параметрами командной строки, чтобы получить такое поведение, но здесь это не так.

Я также запускаю декомпиляцию / ремонт, но без изменений.

Почему база данных сжимается при закрытии?

ОБНОВИТЬ

Beems был правильный ответ, который должен был исправить тонкое повреждение файла.

  1. новая пустая БД
  2. установить все ссылки на таблицы
  3. импортировать не табличные объекты

Если Beems представит этот полезный совет в качестве ответа, я приму, в противном случае я опубликую ответ и отправлю его в вики сообщества (в качестве вежливости, при которой я не собираю кредит, который не принадлежит мне).

1 ответ1

0

Я считаю, что опция "Сжатие при закрытии" устанавливается для каждой базы данных, и что эта настройка хранится в самом файле MDB/ACCDB. Я подозреваю, что параметр поврежден (и поскольку он не хранится в реестре или отдельном файле конфигурации, мы не можем просто восстановить его, насколько мне известно). Поскольку файл загружается с сервера при каждом запуске, мое предложение не идеально: экспортируйте таблицы в дублирующуюся базу данных, обновите VBA, чтобы использовать новый файл, и попробуйте снова. - Beems 6 октября в 15:54

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .