Достоинства: Функции хранятся и редактируются в одном месте.
Создав в проекте Б функцию, выполняющую откытие формы(отчета),можно из А открыть любую форму(отчет) - как родную, так и из проекта Б.
Недостатки: Проект А загружается немного дольше.
Контроль и восстановление корректности ссылки необходимо выполнять на старте. Впрочем, это относится и к библиотеке DAO, да и ко всем отвалившимся ссылкам вообще.
Проект Б нельзя открывать в монопольном режиме - А не запустится.
Ограничения для библиотечных функций: Чтобы при работе с объектами DAO не возникало ошибок, необходимо корректно использовать функции CurrentDB и CodeDB. CurrentDB возвращает ссылку на проект А и используется для обращения к его объектам(таблицам, запросам, проч.).
CodeDB возвращает ссылку на проект Б и используется для обращения к специфическим для него объектам. Для локального проекта функции CurrentDB и CodeDB эквивалентны.
Методы DoCmd (например, RunSQL) и функции по подмножеству, ссылающиеся на специфические для Б объекты, генерируют ошибку. Вместо них нужно использовать методы DAO с функцией CodeDB.
СОВЕТ: Если в заголовке модуля указано Option Private - процедуры из него недоступны из других проектов. Эту опцию желательно указать в модулях, где сгруппированы процедуры, специфические только для проекта Б.
Возможно это не полный список ограничений, но всё, описанное здесь, проверено и работает (или, соответственно, не работает). |