Контроль версий для файла VBA
У меня есть огромный документ MS Access со встроенной кодовой базой VBA. Можно ли отслеживать файл (как я его разрабатываю)с помощью системы управления версиями (mercurial)? Могу ли я извлечь код и отследить его? Или это просто путь к двоичному файлу? Спасибо.
4 ответа:
С MS Access можно экспортировать большую часть кода через скрипты. Я разместил некоторые здесь некоторое время назад:
Как вы используете управление версиями при разработке Access?
Можно управлять версиями двоичных файлов, но было бы немного чище (IMO) иметь отдельный код. Если это работает для вас, то, конечно, делайте то, что вы делаете.
Здесь есть хороший инструмент https://github.com/hilkoc/vbaDeveloper .
Он позволяет легко экспортировать и импортировать весь ваш код vba и может сделать это автоматически, как только вы нажмете кнопку "Сохранить". Файлы экспорта представляют собой обычный текст, который затем можно поместить в систему управления версиями обычным способом.
Access вплоть до 2010 года поддерживал управление исходным кодом, включая поддержку team foundation server. Тот факт, что вы помещаете все файлы в один zip-файл, одну папку на жестком диске или один контейнер, называемый accDB, является спорным моментом. Если каждый отдельный объект можно рассматривать как отдельный объект, то почему вас волнует, используется ли он zip-файл или файл accDB? Это "логическое" представление против физического представления проблемы.
Простое дело-каждый объект в доступе МОЖЕТ БЫТЬ ЭКСПОРТИРОВАН КАК ТЕКСТОВЫЙ ОБЪЕКТ. Таким образом, Access поддерживает интеграцию системы управления версиями, используя эту возможность со стандартным интерфейсом Microsoft SCC начиная с Access 97 (то есть 17+ лет!!).
При использовании SCC, таких как Visual Source safe или Team Foundation server, встроенный пользовательский интерфейс в Access поддерживает отображение состояния объектов, о котором идет речь. У вас есть разрешение вплоть до уровня формы, отчета, sql-запроса и модуля кода. Таким образом, несколько разработчиков могут работать над приложением одновременно. Им нужно только проверить формы, отчеты и т. д. они работают дальше. Таким образом, каждый разработчик имеет свою собственную локальную сборку.
Если использовать Visual Source Safe, то вы увидите это на ленте:
Если вы используете team foundation server, то вы видите следующее:
И для объектов, проверенных, вы видите следующее:
И когда вы открываете или даже щелкаете правой кнопкой мыши на объекте, вы видите эти дополнительные варианты:
Конечно, учитывая, что "немногие" используют эту функцию или даже знают, что это такое (и сообщения на SO подтверждают это отсутствие знаний), то неудивительно, что функция была удалена в Access 2013 после всех этих лет!. Однако некоторые сторонние надстройки утверждают, что восстанавливают эту способность. Таким образом, возможность экспорта объектов в 2013 году в виде отдельных текстовых файлов по-прежнему остается на месте.