Самоучитель Microsoft Access 2013



Download 16,15 Mb.
Pdf ko'rish
bet120/146
Sana15.11.2022
Hajmi16,15 Mb.
#866071
1   ...   116   117   118   119   120   121   122   123   ...   146
Bog'liq
Юрий Бекаревич, Нина Пушкина - Самоучитель Microsoft Access 2013 (2014)


раздела формы, записи и элемента управления. Для отчета определены только со-
бытия отчета и раздела отчета. 
Порядок выполнения макросов зависит от порядка возникновения событий и в зна-
чительной степени определяется действиями пользователя в формах. Таким обра-
зом, управление программой осуществляется пользователем, который выполняет 
действия, а программа реагирует на них. 
Запуск макроса 
Для запуска изолированного макроса, открытого в режиме конструктора, надо на-
жать кнопку 
Выполнить
(Run) на вкладке ленты.
Для запуска изолированного макроса из области навигации надо установить курсор 
на имя макроса и щелкнуть на нем двойным щелчком или нажать кнопку 
Выпол-
нить
(Run) в его контекстном меню. Можно, не выбирая макроса в области навига-
ции, на вкладке 
Работа с базами данных 
(Database Tools) в группе 
Макрос 
(Macro) щелкнуть на опции 
Выполнить макрос 
(Run Macro). 
Откроется диалоговое окно 
Запуск макроса
(Run Macro), в котором в поле со спи-
ском 
Имя макроса
(Macro Name) можно выбрать нужный макрос (рис. 9.15). 
В диалоговом окне 
Запуск макроса
(Run Macro) в поле со списком 
Имя
макроса
(Macro Name) отображаются не только имена макросов, представленных в области
Рис. 9.15. 
Окно выбора запускаемого макроса 


384 
Глава 9 
навигации, но имена вложенных макросов. В поле 
Имя
макроса
(Macro Name) имя 
вложенного макроса записывается так:
ИмяГруппыМакросов

ИмяВложенногоМакроса
Пользователь имеет возможность создать макрос, автоматически
запускающийся 
при каждом открытии базы данных. Этот макрос должен иметь имя 
AutoExec
.
В процессе открытия базы данных Access осуществляет поиск макроса с этим име-
нем и, если такой макрос существует, автоматически запускает его. 
В макрос 
AutoExec 
целесообразно поместить макрокоманды, которые подготовят 
нужную рабочую среду для пользователя, откроют формы и, если необходимо, дру-
гие объекты базы данных, разместят их на экране в удобном виде. 
Этот макрос создается как любой другой макрос и сохраняется под именем 
AutoExec
. При следующем открытии базы данных Access автоматически запустит 
его. 
Если требуется открыть базу данных, не выполняя при этом макрос 
AutoExec
, надо 
открывать базу данных при нажатой клавише . Клавиша позволяет 
отключать макрос 
AutoExec
, если в диалоговом окне 
Параметры Access 
(Access 
Options) на вкладке 
Текущая база данных 
(Current Database) в разделе 
Парамет-
ры приложений
(Application Options) установлен флажок 
Использовать специ-
альные
клавиши
Access
(Use Access Special Keys). 
Выполнение макроса с наступлением события 
Наряду с рассмотренными способами запуска макросов, в Access предусмотрена 
возможность автоматического запуска макроса при возникновении некоторого со-
бытия в форме, отчете или их элементах управления. Для этого необходимо в свой-
ствах этих объектов в строку соответствующего события ввести имя макроса или 
организовать создание внедренного макроса. 
Связь события с программой позволяет организовать взаимодействие различных 
компонентов приложения. Причем, поскольку события чаще всего возникают в ре-
зультате действий пользователя, управление приложением осуществляется по его 
инициативе.
Пусть необходима обработка данных при добавлении записей через форму. Если 
эта обработка реализуется некоторым макросом, то для автоматического запуска 
этого макроса можно использовать события 
До
вставки
(Before Insert) и 
После
вставки
(After Insert), которые являются событиями формы. 
Событие 
До
вставки
(Before Insert) наступает при вводе пользователем первого 
символа в новую запись, но до фактического добавления записи в базу данных. Со-
бытие 
После
вставки
(After Insert) наступает после добавления новой записи
в базу данных. Пример вызова вложенного макроса, размещенного в области нави-
гации, для обработки события 
После
вставки
приведен на рис. 9.16. 
Пусть необходима обработка данных при обновлении значения в поле записи через 
форму. Для автоматического запуска макроса, выполняющего такую обработку, 
можно использовать события 
До
обновления
(Before Update) и 
После
обновления


Разработка приложений с использованием макросов 
385 
(After Update), которые определены как для формы, так и для ее элементов управ-
ления. 
Событие 
До
обновления
(Before Update) наступает, когда пользователь присту-
пает к обновлению данных в элементе управления или записи. 
Событие 
После
обновления
(After Update) наступает после обновления данных 
в элементе управления или записи. Данное событие возникает при потере фоку-
са элементом управления, т. е. при переходе к другому элементу, или после со-
хранения записи. Сохранение записи выполняется при переходе к другой записи 
или при выполнении пользователем команды 
Записи | Сохранить 
(Records | 
Save) на вкладке ленты 
Главная
(Home). Событие возникает для новых и суще-
ствующих записей. 
Рис. 9.16. 
Связь вложенного макроса с событием формы 
Пусть в подчиненной форме ПОСТАВКА_ПЛАН формы ДОГОВОРЫ С ПОКУ-
ПАТЕЛЯМИ необходимо при обновлении значений в полях 
КОЛ_ПОСТ
или 
ЦЕНА
вы-
зывать макрос, например, 
Расчет
стоимости
, в котором содержится макрокоманда 
ЗадатьЗначение
(SetValue), выполняющая расчет значения поля 
СУММА_ПОСТ = 
ЦЕНА*КОЛ_ПОСТ
(см. рис. 9.9). Для вызова такого макроса в свойствах полей 
КОЛ_ПОСТ
и 
ЦЕНА
на вкладке 
События
(Event) в строке 
После
обновления
(After Update) вы-
берите имя макроса (рис. 9.17). 
Рис. 9.17. 
Связь макроса с событием элемента управления 


386 
Глава 9 
В результате выполнения макроса результат вычисления выражения сохранится 
в таблице ПОСТАВКА_ПЛАН в поле 
СУММА_ПОСТ

В приведенном примере макрос хранится как отдельный объект, представленный
в области навигации. При большом числе объектов становится трудно управлять 
макросами, связь которых с конкретными формами или отчетами не очевидна. Зна-
чительно удобнее использовать внедренные макросы, сохраняемые в формах или 
отчетах. 
Для внедрения макроса в подчиненную форму ПОСТАВКА_ПЛАН откройте ее
в режиме конструктора или макета. Откройте окно свойств для поля 
КОЛ_ПОСТ
и в 
пустой строке события 
После обновления 
(After Update) нажмите кнопку построи-
теля. В окне 
Построитель
(Choose Builder) выберите 
Макросы 
(Macro Builder) 
(рис. 9.18). 
Рис. 9.18. 
Начало процесса по созданию внедренного макроса 
Откроется окно конструктора макросов, такое же, как для изолированного макроса. 
Для вычисления значения суммы добавьте новую макрокоманду 
ЗадатьЗначение
(SetValue) (рис. 9.19). Если этой макрокоманды нет в списке, проверьте выделена 
ли кнопка 
Показать все действия
(Show All Actions) на ленте конструктора макро-
сов в группе 
Показать или скрыть
(Show/Hide). 
Рис. 9.19. 
Внедренный макрос, выполняющийся при наступлении 
в поле 
КОЛ_ПОСТ
события 
После
обновления
В окне свойств поля 
КОЛ_ПОСТ
в строке события 
После
обновления
(After Update) 
будет записано 
[Внедренный макрос]
([Embedded Macro]) (рис. 9.20). 
Для одной и той же формы или отчета могут одновременно использоваться и изо-
лированные, и внедренные макросы. 


Разработка приложений с использованием макросов 
387 
Рис. 9.20. 
Связь внедренного макроса с событием 
Порядок выполнения макросов, вызываемых событиями 
Для правильного определения порядка выполнения макросов, которые запускают-
ся при возникновении событий, необходимо понимание того, когда и в какой
последовательности возникают события. Каждое отдельное действие, например 
переход на другой элемент управления, может явиться причиной ряда событий, 
возникающих в определенной последовательности. Если созданы макросы, которые 
требуется выполнять в определенном порядке, пользователь должен быть уверен, 
что события, вызывающие эти макросы, возникают в том же порядке. 
Поясним последовательность возникновения событий при закрытии формы и при 
переходе с одного элемента управления на другой. 
Когда пользователь закрывает форму, для текущего элемента управления возника-
ют события 
Выход
(On Exit) и 
Потеря
фокуса
(On Lost Focus), а также события 
формы, такие как 
Выгрузка
(On Unload), 
Отключение
(On Deactivate) и 
Закрытие
(On Close). Порядок возникновения событий будет следующим: 
Выход

Потеря
фокуса

Выгрузка

Отключение

Закрытие
Когда пользователь переводит курсор (фокус) на другой элемент управления, для 
элемента, с которого переводится курсор, сначала возникает событие 
Выход
(On 
Exit), а затем 
Потеря
фокуса
(On Lost Focus). Для элемента, на который переводит-
ся курсор, сначала возникает событие 
Вход
(On Enter), а затем 
Получение
фокуса
(On Got Focus). 
Вызов макроса из другого макроса 
Если некоторый набор макрокоманд будет использоваться в нескольких макросах, 
то вместо того, чтобы включать эти команды в каждый макрос, пользователь имеет 
возможность создать макрос, содержащий эти макрокоманды, и вызывать его из 
других макросов. 
Вызов макроса выполняется макрокомандой 
ЗапускМакроса
(RunMacro). Макро-
команда вводится в той позиции макроса, из которой должен вызываться другой 
макрос. 


388 
Download 16,15 Mb.

Do'stlaringiz bilan baham:
1   ...   116   117   118   119   120   121   122   123   ...   146




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish