Access 2002

Два разных метода


Для вызова процедур служат два разных метода, при выборе которых учитывается, где объявлена процедура: в модуле формы или в глобальном модуле.

Общедоступные функции приложения Access вызываются внешним приложением с помощью метода Run. В Access этот метод выполняет функцию или процедуру из базы данных, на которую в текущей базе данных нет ссылки. Если же управление Access осуществляется из другого приложения с помощью средств автоматизации, метод Run вызывает процедуру из текущей базы данных. Этот метод принимает переменное количество параметров общей численностью до 30. Первый из них должен быть именем функции или процедуры, которую вы хотите выполнить. Остальные предназначены для передачи ей аргументов.

Чтобы вызвать процедуру из библиотеки базы данных, необходимо предварить ее имя именем проекта VBA этой библиотеки. Например, вызов процедуры wlib_Hourglass из библиотеки acwztool осуществляется следующим образом: acwztool.wlibJHourglass.

Для того чтобы подтвердить сказанное примером, мы включили в базу данных CH11.MDB функцию ListReports, которая возвращает массив всех отчетов текущей базы данных. Эту функцию можно вызвать из приложения-клиента автоматизации с помощью метода Access Run. Таким образом, вам удастся повысить производительность работы приложения за счет уменьшения количества вызовов между процессами. Именно этот подход и реализован в функции GetReports из модуля basTestFunctions, включенного в файл CH11.XLS. Обе процедуры приведены  11.9.

Процедуры ListReports и GetReports включены только для того, чтобы продемонстрировать технику вызова пользовательских процедур и передачи им аргументов с применением средств автоматизации. В приложении-примере они не используются, поскольку оно разработано с тем расчетом, чтобы печатать отчеты из любой базы данных, а не только из тех, которые содержат процедуру ListReports.

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