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

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

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

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

Ответ 1

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

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

Так что....dll файлы беспокоиться. Нет необходимости в Visual Studio.

Ответ 2

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

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

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

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

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

Ответ 3

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

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

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