Читаем Access 2002: Самоучитель полностью

События разделов отчета

Если отчет открывается для печати или предварительного просмотра, события разделов отчета Форматирование и Печать возникают после событий отчета Открыть и Включение, но до событий отчета Отключение и Закрыть. Последовательность будет такой:

Открыть (для отчета) • Включение (для отчета) • Форматирование (для раздела отчета) • Печать (для раздела отчета) • Выключение (для отчета) • Закрыть (для отчета).

Кроме того, либо на стадии форматирования отчета, либо по завершении форматирования, но до наступления события Печать могут возникнуть следующие события:

Возврат – происходит при возвращении в предыдущий раздел отчета на стадии его форматирования;

Отсутствие данных – возникает при отсутствии записей в отчете;

Страница – возникает, когда отчет отформатирован, но еще не начал печататься. Вы можете использовать данное событие, чтобы изменить оформление отчета для печати.

Как видите, событий много, и они довольно разнообразны. Это делает объекты базы данных и элементы управления очень чувствительными к любым действиям пользователя и к внутренним изменениям, которые происходят в БД. Зато такой набор событий обеспечивает гибкую реакцию программы практически на каждое уточнение, вносимое в базу данных.

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

позволяет активизировать процедуру обработки события на языке VBA Об этом речь пойдет в главе 12.

Автоматический перевод фокуса при помощи макроса

Конкретная задача, которую нам надо решить, заключается в следующем. Как было показано в главе 4, мы используем форму для ввода новых записей. Напомним, что в качестве примера рассматривается форма Страны (см. рис. 10.1). Когда мы внесем новые данные в первое поле (скажем, в поле Код), курсор по умолчанию останется в нем. Однако нам нужно, чтобы он переместился в следующее поле – Страна, потому что после ввода кода надо указать название страны. Курсор придется переводить вручную. Конечно, это не очень сложная операция, но когда таких операций много, пользователь испытывает дополнительные неудобства. Если применять при обработке событий макросы, подобных неприятностей легко избежать.

Итак, автоматический переход курсора (например, из поля Код в поле Страна) должен произойти, когда мы завершим ввод информации в поле Код. Следовательно, макрос в данном случае стоит привязать к событию После обновления. Однако для поля Код принята несколько другая схема обработки – с помощью операторов VBA Подробно она рассматривается в главе 12, но вкратце сводится к следующему. Когда форма Страны открывается, она изначально готова к вводу новой записи: в поле Код автоматически устанавливается ее порядковый номер, а остальные поля пусты. Если пользователь собирается не вводить новую запись, а заглянуть в какую-либо из старых, он может сделать это с помощью стрелки прокрутки в этом поле. Но программа не знает заранее, какая запись понадобится пользователю для просмотра, поэтому форма по умолчанию настроена на то, что наиболее вероятно: она будет открыта для ввода новой записи. Таким образом, нет необходимости вручную вводить значение в поле Код: при открытии формы новый код появляется автоматически. Значит, переход к следующему полю также можно связать с событием Открытие в окне свойств формы. Но возможен и другой путь: соотнести такой переход с событием Получение фокуса для поля Код в окне его свойств. Мы выберем второй вариант.

Чтобы реализовать его, нужно создать команду перехода к следующему элементу управления – полю. Используем для этого макрос.

В окне базы данных откройте вкладку Макросы и щелкните по кнопке

На экране появится окно конструктора макросов (см. рис. 10.3).

Рис. 10.3

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных