Есть ли способ получить отчет о различиях для двух баз данных Jet (.mdb)?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

У меня есть код, который зависит от сравнительно небольшой базы данных MS Jet (созданной в Access). Наш процесс управления исходным кодом далек от всего, что он мог / должен быть (что является проблемой, которая должна быть решена немедленно), и мы получили две версии одной и той же базы данных. Человек, который редактировал «другое» Версия больше не существует, чтобы дать мне подсказки о том, что он изменил. Как лучше всего найти различия между фактическими данными, содержащимися в двух версиях базы данных?

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

Решение

Выведите все формы и модули в текстовые файлы и используйте утилиту сравнения текста.

Например:

Sub ToText()
Dim frm, mdl

For Each frm In CurrentProject.AllForms
    Application.SaveAsText acForm, frm.Name, "c:\docs\" _ 
        & frm.Name & ".txt" 

'ТАКОЕ форматирование

Next

For Each mdl In CurrentProject.AllModules
    Application.SaveAsText acModule, mdl.Name, "c:\docs\" _
        & mdl.Name & ".txt"

'ТАКОЕ форматирование

Next
End Sub

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

Есть инструменты, которые могут сделать это, например: http://www.fmsinc.com/ MicrosoftAccess / DatabaseCompare.html

Или вы можете посмотреть на даты создания / изменения, чтобы увидеть, дает ли это вам подсказку (измените окно базы данных, чтобы показать детали)

Или вы можете запустить Инструменты / Анализ / Документатор и просмотреть свойства объекта.

Я создал приложение, которое позволяет сравнивать и импортировать / экспортировать объекты базы данных между двумя файлами Microsoft Access (mdb или accdb). Он называется «AccdbMerge». и можно скачать здесь: https://sites.google.com/site/accdbmerge/

По сути, он автоматизирует метод, предоставленный Remou

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