Программно проверить на наличие повреждений базы данных Access?

StackOverflow https://stackoverflow.com/questions/1800312

Вопрос

Есть ли способ программной проверки на предмет повреждения базы данных в Access 2003?

Мой проект разработки стал достаточно сложным, и после дня программирования трудно вручную проверить все объекты, чтобы увидеть, не поврежден ли какой-либо небольшой объект управления, форма, отчет, запрос или код. У меня уже есть данные, разделенные на отдельную базу данных SQL, хранящуюся на другом компьютере, и этот проект является просто интерфейсным приложением для работы с данными.

В основном это академические размышления, поскольку я просто не хочу заходить так далеко - тогда коррупция отбросила меня на несколько недель назад, потому что какой-то редко используемый объект был поврежден, когда.

Есть идеи? Заранее спасибо за любые указатели!

ИЗДАНО 12/03/2009 @ 11:51

К сожалению, я могу принять только один ответ - хотя я получил несколько очень хороших, спасибо за все ссылки!

Это было полезно?

Решение

Ни Compact / Repair, ни Decompile / Recompile не улавливают все проблемы с повреждениями, хотя вам все равно следует это делать.

Я использую функцию для экспорта всех документов-контейнеров (и QueryDef) с помощью SaveAsText в папку с отметкой даты / времени и использую ее регулярно в течение дня. Если я подозреваю какое-либо повреждение, я создаю новый mdb и использую LoadFromText для воссоздания объектов.

Другие советы

Вы можете посмотреть на: Можно ли программно обнаруживать поврежденные таблицы базы данных Access 2007?

Я склонен хранить копии важных баз данных на каждом компактном компьютере. восстановить и сравнить новую базу данных с предыдущей. Вы также можете проверить нестандартные символы.

Надлежащие методы компиляции предотвратят повреждение проекта VBA (о чем вы здесь говорите).

Это влечет за собой:

<Ол>
  • используйте OPTION EXPLICIT во всех модулях.

  • отключите COMPILE ON DEMAND в настройках VBE.

  • регулярно компилируйте код во время работы.

  • периодически (например, один раз в день после полного дня кодирования) декомпилируйте и перекомпилируйте код.

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top