Это хитрое решение, но оно работает для меня.
Я делаю DoCmd.DatabaseTransfer acImport макроса Autoexec.
Затем я заменяю autoexec на пустой, используя DoCmd.DatabaseTransfer acExport
Хитрость в том, что экспорт будет перезаписывать
DoCmd.TransferDatabase acImport,
«Microsoft Access», sSourcePath,
acMacro, "autoexec", "autoexecSource"
DoCmd.TransferDatabase acExport,
«Microsoft Access», sSourcePath,
acMacro, "autoexecblank", "autoexec"
Я делаю это снова для второго MDB
DoCmd.TransferDatabase acImport,
«Microsoft Access», sDestPath,
acMacro, "autoexec", "autoexecDest"
DoCmd.TransferDatabase acExport,
«Microsoft Access», sDestPath,
acMacro, "autoexecblank", "autoexec"
Затем я могу сделать все сравнения для нахождения различий между двумя MDB без запуска макросов autoexec, поскольку я импортировал их и заменил их
Затем я сравниваю два импортированных макроса и затем экспортирую их обратно в базы данных.
DoCmd.TransferDatabase acExport,
«Microsoft Access», sSourcePath,
acMacro, "autoexecSource", "autoexec"
DoCmd.TransferDatabase acExport,
«Microsoft Access», sDestPath,
acMacro, "autoexecDest", "autoexec"
Очевидно, что это решение работает только с использованием VBA в Access, но оно работает.
Надеюсь, это кому-нибудь поможет.