Access 2002

Выполнение программы


Этот код открывает форму frmParam в модальном режиме, то есть так, что выполнение программы приостанавливается до тех пор, пока пользователь не скроет форму или не закроет ее совсем. Как это уже описывалось в главе 7, кнопка ОК скрывает форму, а кнопка Cancel ее закрывает. После выполнения макрокоманды OpenForm программа с помощью функции IsOpen (использующей функцию SysCmd) проверяет, продолжает ли форма оставаться открытой. Если нет, программа присваивает параметру Cancel значение True, указывая Access, что загрузка отчета отменяется.

Если форма открыта, то после выполнения процедуры обработки события Open Access загружает данные, которыми будет заполняться отчет. Открытая (хотя и

скрытая) форма для ввода параметров гарантирует, что Access найдет требуемые параметры, чтобы передать их в запрос qryCustomerNameParam. Для отбора строк в запросе применяется следующее выражение:

Like FormsIfrmParamltxtName

Пустые отчеты: использование события NoData

Ничто не мешает вам выбрать для отчета такое условие отбора данных, при котором в отчете не окажется ни одной строки. В таком случае в области данных отчета выводится сообщение «#Еггог». Чтобы подобного не происходило, к событию отчета NoData можно присоединить программу, которая реагирует на такую ситуацию и отменяет вывод отчета на печать, если в нем отсутствуют данные. Если вы хотите отменить печать пустого отчета, воспользуйтесь следующим кодом, взятым из отчета rptPhoneBookParam:

Чтобы проверить, как работает этот код, введите для отчета rptPhoneBookParam такой параметр, чтобы отчет наверняка не содержал строк, например "II".

    

Неудивительно, что в несвязанных отчетах событие NoData не возникает. Объясняется это тем, что набор записей такого отчета не содержит ни одной строки, поскольку его просто не существует.

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