Access 2002

События отчета


В  8.8 перечислены все события, на которые может реагировать отчет. Как видите, при открытии отчета Access генерирует событие Open, а затем — Activate. Когда отчет закрывается, происходят события Close и Deactivate.

Когда вы переходите от одного отчета к другому (в режиме предварительного просмотра), отчет, который вы покидаете, генерирует событие Deactivate, до того, как новый отчет сгенерирует событие Acti vate. Если из окна отчета вы переключаетесь в любое другое окно Access, то отчет также генерирует событие Deacti vate. Но если вы переключаетесь во всплывающее окно (внутри Access) или в другое приложение, событие Deactivate не происходит. Событие Deactivate возникает только тогда, когда вы переключаетесь в окно, у которого родительским является окно MDI-клиента приложения Access. (Более подробная информация о клиентских окнах MDI приводилась в главе 7.)

При открытии отчета Access сначала запускает процедуру, присоединенную к его событию Open, и лишь затем выполняет запрос, заполняющий отчет данными. Поэтому параметры указанному запросу можно передавать из процедуры обработки события Open. Так, можно вывести на экран форму, запрашивающую у пользователя начальную и конечную даты или какую-либо другую информацию, необходимую для выполнения запроса. Чтобы увидеть, как это делается, откройте отчет rptPhoneBookParam из базы данных CH08.MDB. В обработчике события Open этот отчет открывает форму frmParam, которая запрашивает у пользователя одну или несколько начальных букв. Эти буквы будут использоваться впоследствии для отбора данных запроса, заполняющего отчет (см.  8.11, хотя он и не совсем верен — форма и отчет никогда не видны на экране одновременно).

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