Access 2002

Файл проекта


Прежде всего, если VBA не находит библиотеку по абсолютному пути, хранящемуся в файле проекта, он пытается найти ее по относительному пути, то есть исходя из расположения библиотеки по отношению к каталогу базы данных. Это означает, что если вы создали, например, библиотеку в каталоге C:TESTLIBS, а использующую ее базу данных в каталоге C:TESTAPPS, то оба файла можно переместить в каталоги C:PRODLIBS и C:PRODAPPS соответственно, и проблема будет решена. Кроме того, когда библиотека находится в одном каталоге с базой данных, она обязательно будет найдена.

Если поиск файла по относительному пути также оказался неудачным, YBA попробует найти его еще в трех местах:

в каталоге, где установлена Access;

в каталогах WINDOWS и WINDOWSSYSTEM;

в каталогах, перечисленных в переменной окружения РАТИ.

Наконец, можно внести в системный реестр Windows информацию о дополнительном каталоге для поиска библиотечных файлов. Это особенно удобно, если вы планируете распространять несколько библиотечных баз данных, так как все они в этом случае могут быть установлены в один каталог. Для создания такого элемента добавьте в раздел HKEY_L0CAL_MACHINESoftwareMicrosoftffice10.0Access реестра раздел RefLibPaths. Для каждой библиотеки создайте новый строковый параметр, назовите его по имени библиотечной базы данных и укажите в нем место ее расположения. Пример такой записи  16.4.

Из-за изменений, связанных с интеграцией VBA в Access, больше нельзя создавать циклические ссылки на библиотеки и базы данных. В Access 2 такое допускалось, поскольку все общедоступные функции использовали общее пространство имен. Процедура любой библиотеки могла вызывать процедуру из любой другой библиотеки. Теперь это не разрешается. На  16.5 приведены примеры допустимой и недопустимой последовательности ссылок.

Комментарии закрыты