Восстановить код VBA из файла Access DB

#ms-access #vba

#ms-access #vba

Вопрос:

внезапно мой код ACCESS 2010 VBA больше не может быть открыт. Я получаю сообщение об ошибке, что идентификатор больше не является индексом таблицы.

Нажатие ALT — F11 больше не открывает VB.

Есть идеи, как я могу восстановить свой код VBA?

Комментарии:

1. Когда вы получаете сообщение об ошибке? Когда база данных открывается впервые? Если это так, вы могли бы попробовать открыть файл, удерживая нажатой клавишу [Shift]. Это предотвратит запуск любых форм запуска или макросов Autoexec, которые могут позволить вам ознакомиться с вашим кодом до получения сообщения об ошибке.

2. Я могу открыть базу данных (появляется ошибка, но я могу ее открыть) Затем, когда я дважды щелкаю по модулю, появляется описанная мной ошибка, и, наконец, ничего не происходит.

Ответ №1:

Пожалуйста, попробуйте некоторые из приведенных здесь идей (хотя это зависит от формата базы данных, AC97 / 2000 и т.д.): http://allenbrowne.com/ser-47.html. Возможно, если вы сможете восстановить базу данных настолько, чтобы, несмотря на то, что структура может быть усечена, вы, возможно, все еще могли бы получить доступ к своему коду VBA.

Комментарии:

1. @Proto Bassi: Какой из методов, перечисленных на этом веб-сайте, вы на самом деле пробовали? Это довольно исчерпывающий список (повторный импорт объектов в новую базу данных, декомпиляция, сохранение текста / загрузка из текста и т.д.).

2. Я пробовал: <br> Встроить восстановление <br> Импортировать <br> Удалить ссылки <br> Удалил все индексы в таблицах <br> Сохранить как текст

3. Как вы удалили ссылки, если вы не можете открыть среду разработки VBA? Или я что-то упускаю?

4. Я могу открыть DatabaseTools. Оттуда я могу удалить ссылки между таблицами и избавиться от любых первичных ключей

Ответ №2:

Я обнаружил, что декомпиляция с последующим сжатием и восстановлением часто устраняет эту проблему.

Ответ №3:

Включить вкладку разработчик для http://msdn.microsoft.com/en-us/library/bb608625.aspx и нажмите кнопку Visual Basic.

Комментарии:

1. Включена вкладка разработчика, и кнопка VB выполняет то же самое, что описано выше.

2. В ACCESS нет ничего похожего на вкладку разработчика. Но я знаю, куда нажать, чтобы перейти к VB.

3. Итак, вы нажали кнопку VB в разделе Инструменты базы данных и ничего не произошло? Можете ли вы протестировать базу данных на другом компьютере, чтобы определить, не проблема ли это с вашей операционной системой?

4. Я сделал резервную копию два дня назад, и она работает без проблем. Но я бы потерял два дня.