Использование централизованного модуля VBA в базах данных множественного доступа


Меня назначили ответственным за 50 + баз данных доступа (.МБР и .accdb различных версий) распространяется по интрасети, и мне нужно добавить несколько функций VBA (точно такой же код) почти ко всем из них. Я надеюсь, что это может быть достигнуто путем создания ссылки из каждой базы данных на централизованный модуль VBA, так как я действительно хотел бы иметь возможность вносить изменения в будущем, которые автоматически реплицируются в каждой базе данных. Это также будет бонусом, если какие-либо дополнительные ссылки в Центральном БД можно было бы сохранить в неприкосновенности, так что мне не пришлось бы управлять ими по отдельности.

Я довольно новичок в программировании на VBA (хотя я был фанатом PHP в течение многих лет), и мне было трудно найти правильные слова для поиска этой конкретной проблемы. Я думаю (из того, что я прочитал до сих пор), что мне может понадобиться Visual Studio для компиляции DLL для ссылки, но я хотел бы сохранить все простым и содержимым в Access, если это возможно, тем более, что у нас нет VS лицензия.

Спасибо, любые указатели будут очень признательны!

3 10

3 ответа:

Не волнуйтесь, все очень просто.

  1. Создайте свою" вспомогательную " базу данных. Положите туда несколько процедур.
  2. в ваших клиентских базах данных откройте редактор VBA
  3. перейдите в меню Инструменты- > ссылки. Просмотрите и выберите вспомогательную базу данных.
  4. готово! Теперь вы можете использовать все функции вспомогательной базы данных во всех клиентских базах данных.

Итак... №dll файлы, о которых стоит беспокоиться. Visual Studio не требуется.

Поисковый запрос-это надстройки. (Ах, я вижу, что Google улучшил поиск по словам со встроенными дефисами с момента моей последней попытки.) подход, упомянутый PowerUser, будет работать, но есть ряд проблем.

  • Вы захотите удалить надстройку вместе с вашим ИП к ПК пользователей.

  • MDE/ACCDE не может ссылаться на MDB / ACCDB. Но если вы измените надстройка MDE / ACCDE вы должны перераспределите FE MDE/ACCDE как хорошо. Даже если ты не сделал этого. любые изменения параметров или имена подпрограмм / функций.

  • Во время отладки кода в надстройка или работа с ошибкой ВБА сообщение открыть добавить-в VBA редактор кода. Не вносите изменений там. Они будут потеряны, как только закройте окно кода надстройки.

Смотрите мою страницу надстройки советы, подсказки и Gotchas для получения более подробной информации.

Вы также можете сделать шаг вперед. Я написал об этом статью для vb123.com:

Использование файлов библиотеки баз данных в приложении Access

Можно использовать формы, отчеты, запросы, модули, классы... Почти все, кроме субформ. И все в простом старом файле mdb или accdb (или mde, если на то пошло).