Порядок подій для об’єктів бази даних

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

Одна дія, наприклад переміщення з одного елемента керування на об’єкті на інший елемент керування, може викликати кілька різних подій, які відбуваються в певній послідовності. Знати, коли та в якому порядку події відбуваються, важливо, оскільки від цих даних залежить, коли та як будуть запускатися макроси або процедури подій. Наприклад, якщо є дві процедури подій, які мають виконуватися в певному порядку, потрібно переконатися, що події, з якими вони пов’язані, відбуватимуться в такому ж порядку.

У цій статті

Порядок подій для елементів керування у формах

Порядок подій для записів у формах

Порядок подій для форм і підформ

Порядок подій для натискань клавіш і клацань мишкою

Порядок подій для звітів і розділів звітів

Порядок подій для елементів керування у формах

Події для елементів керування у формах відбуваються, коли фокус переміщується на елемент керування, а також коли змінюються й оновлюються дані в елементі керування.

Примітка : Програма Microsoft Office Access відображає імена подій дещо по-різному в редакторі Visual Basic у вікні властивостей і конструкторі макросів. Наприклад, подія, що має ім’я On Got Focus у вікні властивостей форми та конструкторі макросів, у редакторі Visual Basic називається GotFocus. У прикладах у цій статті для назв подій використовується формат Visual Basic for Applications (VBA).

Переміщення фокуса на елемент керування

Коли фокус переміщується на елемент керування у формі (наприклад, коли відкривається форма, яка містить один або кілька активних елементів керування, або фокус переміщується на інший елемент керування в тій же формі), події Enter та GotFocus відбудуться в такому порядку:

Enter стрілка GotFocus

Коли відкривається форма, події Enter та GotFocus відбуваються після подій, пов’язаних із відкриттям форми (наприклад, Open, Activate і Current), у такому порядку:

Open (форма) стрілка Activate (форма) стрілка Current (форма) стрілка Enter (елемент керування) стрілка GotFocus (елемент керування)

Коли фокус переміщується з елемента керування у формі (наприклад, коли закривається форма, яка містить один або кілька активних елементів керування, або фокус переміщується на інший елемент керування в тій же формі), події Exit і LostFocus відбудуться в такому порядку:

Exit стрілка LostFocus

Коли закривається форма, події Exit і LostFocus відбуваються перед подіями, пов’язаними із закриттям форми (наприклад, Unload, Deactivate і Close), у такому порядку:

Exit (елемент керування) стрілка LostFocus (елемент керування) стрілка Unload (елемент керування) стрілка Deactivate (форма) стрілка Close (форма)

Змінення й оновлення даних в елементі керування

Якщо ввести або змінити дані в елементі керування у формі, а потім перемістити фокус на інший елемент керування, відбудуться події BeforeUpdate і AfterUpdate:

BeforeUpdate стрілка AfterUpdate

Події Exit і LostFocus для елемента керування, значення якого змінюється після подій BeforeUpdate і AfterUpdate:

BeforeUpdate стрілка AfterUpdate стрілка Exit стрілка LostFocus

Коли текст у текстовому полі або в розділі текстового поля в полі зі списком змінюється, відбувається подія Change. Ця подія відбувається щоразу, коли змінюється вміст елемента керування, але до того, як фокус переміщується на інший елемент керування або запис (і, таким чином, до подій BeforeUpdate і AfterUpdate). Для кожної клавіші, яку натискають у текстовому полі або в розділі текстового поля в полі зі списком, відбувається така послідовність подій:

KeyDown стрілка KeyPress стрілка Dirty стрілка Change стрілка KeyUp

Подія NotInList відбувається після того, як у полі зі списком вводиться значення, якого немає в списку поля зі списком, і наступної спроби перемістити фокус на інший елемент керування або запис. Подія NotInList відбувається після подій клавіатури та події Change для поля зі списком, але до того, як настануть події для будь-якого іншого елемента керування або форми. Якщо властивість поля зі списком LimitToList має значення Yes, подія Error для форми настає безпосередньо відразу після події NotInList:

KeyDown стрілка KeyPress стрілка Dirty стрілка Change стрілка KeyUp стрілка NotInList стрілка Error

На початок сторінки

Порядок подій для записів у формах

Для записів у формах події відбуваються, коли фокус переміщається на інший запис, у записі оновлюються дані, видаляється один або кілька наявних записів або створюється новий запис.

Переміщення фокуса на записи й оновлення даних у записах

Якщо фокус переміщено на наявний запис у формі, дані в записі введено або змінено, а фокус переміщено на інший запис, для форми відбувається така послідовність подій:

Current (форма) стрілка BeforeUpdate (форма) стрілка AfterUpdate (форма) стрілка Current (форма)

Якщо закрити запис, дані якого змінилися, але наступний запис ще не введено, відбуваються події Exit і LostFocus для елемента керування, на якому перебуває фокус. Ці події відбуваються після подій BeforeUpdate і AfterUpdate для цієї форми таким чином:

BeforeUpdate (форма) стрілка AfterUpdate (форма) стрілка Exit (елемент керування) стрілка LostFocus (елемент керування) стрілка RecordExit (форма) стрілка Current (форма)

Коли фокус переміщується між елементами керування у формі, для кожного елемента керування відбуваються події. Наприклад, перелічені нижче послідовності подій виникають, коли виконуються такі дії:

  • Відкриття форми й змінення даних в елементі керування:

    Current (форма) стрілка Enter (елемент керування) стрілка GotFocus (елемент керування) стрілка BeforeUpdate (елемент керування) стрілка AfterUpdate (елемент керування)

  • Переміщення фокуса на інший елемент керування:

    Exit (елемент керування 1) стрілка LostFocus (елемент керування 1) стрілка Enter (елемент керування 2) стрілка GotFocus (елемент керування 2)

  • Переміщення фокуса на інший запис:

    BeforeUpdate (форма) стрілка AfterUpdate (форма) стрілка Exit (елемент керування 2) стрілка LostFocus (елемент керування 2) стрілка RecordExit (форма) стрілка Current (форма)

Видалення записів

Коли запис видалено, у Microsoft Office Access відображається діалогове вікно із запитом на підтвердження видалення, а для форми відбуваються такі події:

Delete стрілка BeforeDelConfirm стрілка AfterDelConfirm

Якщо скасувати подію Delete, події BeforeDelConfirm і AfterDelConfirm не відбуваються, і це діалогове вікно не відображається.

Створення нового запису

Якщо фокус переміщено на новий (пустий) запис у формі, а потім створено новий запис (введено дані в елементі керування), відбувається така послідовність подій:

Current (форма) стрілка Enter (елемент керування) стрілка GotFocus (елемент керування) стрілка BeforeInsert (форма) стрілка AfterInsert (форма)

Події BeforeUpdate і AfterUpdate для елементів керування у формі та для нового запису відбуваються після події BeforeInsert і перед подією AfterInsert.

На початок сторінки

Порядок подій для форм і підформ

Події для форм відбуваються, коли відкривається або закривається форма, переміщується фокус між формами або обробляються дані у формі чи підформі.

Відкриття та закриття форми

Коли форма відкривається, для неї відбувається така послідовність подій:

Open стрілка Load стрілка Resize стрілка Activate стрілка Current

Коли у формі немає активних елементів керування, для неї відбувається подія GotFocus після події Activate, але до події Current.

Коли форма закривається, для неї відбувається така послідовність подій:

Unload стрілка Deactivate стрілка Close

Коли у формі немає активних елементів керування для неї відбувається подія LostFocus після події Unload, але до події Deactivate.

Переміщення між формами

Під час переходу між двома відкритими формами для першої форми відбувається подія Deactivate, а для другої – подія Activate:

Deactivate (форма 1) стрілка Activate (форма 2)

Подія Deactivate для форми також відбувається під час переходу з форми на іншу вкладку об’єкта в програмі Access. Проте подія Deactivate не відбувається, якщо перейти до діалогового вікна, форми, у якої властивість PopUp має значення Yes, або вікна в іншій програмі.

Примітка :  Подія Open не відбувається, якщо фокус переміщується до форми, яку вже відкрито, навіть якщо фокус переміщується до цієї форми за допомогою дії OpenForm.

Робота з даними у формі

Події для форм і елементів керування відбуваються, коли фокус переміщується між записами у формі або змінюються дані. Наприклад,коли форма відкривається вперше, відбувається така послідовність подій:

Open (форма) стрілка Load (форма) стрілка Resize (форма) стрілка Activate (форма) стрілка Current (форма) стрілка Enter (елемент керування) стрілка GotFocus (елемент керування)

Так само, коли форма закривається, відбувається така послідовність подій для цієї форми:

Exit (елемент керування) стрілка LostFocus (елемент керування) стрілка Unload (елемент керування) стрілка Deactivate (форма) стрілка Close (форма)

Якщо дані в елементі керування змінено, для елемента керування та форми відбудуться події BeforeUpdate і AfterUpdate, які передують події Exit для елемента керування.

Робота з підформами

Коли відкривається форма, яка містить підформи, підформа та її записи завантажуються до завантаження головної форми. Таким чином, події для підформи та її елементів керування (такі як Open, Current, Enter та GotFocus) відбуваються раніше подій для форми. Проте для підформ подія Activate не відбувається. Таким чином, якщо відкрити головну форму, подія Activate активується лише для головної форми.

Аналогічно, коли закривається форма, яка містить підформи, підформи та записи вивантажуються після форми. Подія Activate для підформ не відбувається. Таким чином, коли закривається головна форма, подія Deactivate активується лише для головної форми. Події для елементів керування, форм і підформ відбуваються в такому порядку:

  1. події для елементів керування підформи (такі як Exit та LostFocus);

  2. події для елементів керування форм (включно з елементами керування підформ);

  3. події для форми (наприклад Deactivate і Close);

  4. події для підформи.

Примітка :  Оскільки події для підформи відбуваються, коли закрито головну форму, певні події, наприклад скасування закриття головної форми з події в підформі, не відбудуться. Можливо, знадобиться перемістити ці типи перевірок у подію в головній формі.

На початок сторінки

Порядок подій для натискань клавіш і клацань мишкою

Події клавіатури відбуваються для форм і елементів керування, коли натискаються клавіші або надсилаються натискання клавіш, поки фокус знаходиться у формі або на елементі керування. Події миші для форм, розділів форм і елементів керування у формах відбуваються після натискання кнопки миші коли вказівник миші знаходиться у формі, розділі або на елементі керування. Події миші відбуваються, коли вказівник миші наводиться на форму, розділ або елемент керування.

Події клавіатури

Якщо натиснути та відпустити клавішу, поки на елементі керування форми знаходиться фокус (або використовуєте дію або оператор SendKeys для надсилання натискання клавіші), відбудеться послідовність таких подій:

KeyDown стрілка KeyPress стрілка KeyUp

Якщо натиснути та відпустити клавішу або надіслати натискання клавіші у форматі кодів ANSI, відбудуться події KeyDown, KeyPress і KeyUp. Якщо натиснути й утримувати натиснутою клавішу у форматі ANSI, події KeyDown і KeyPress повторюватимуться кілька разів (KeyDown, KeyPress, KeyDown, KeyPress тощо) доки клавішу не відпустять; після цього відбудеться подія KeyUp.

Якщо натиснути та відпустити клавішу не у форматі ANSI, відбудуться події KeyDown і KeyUp. Якщо натиснути й утримувати клавішу не у форматі ANSI, подія KeyDown відбувається кілька разів, доки клавішу відпустять, після чого відбувається подія KeyUp.

Якщо натискання клавіші активує іншу подію для елемента керування, така подія відбувається після події KeyPress, але раніше ніж подія KeyUp. Наприклад, якщо натискання клавіш призводить до зміни тексту в текстовому полі, що активує подію Change, відбувається така послідовність подій:

KeyDown стрілка KeyPress стрілка Change стрілка KeyUp

Якщо натискання клавіші спричиняє переміщення фокуса з одного елемента керування на інший, подія KeyDown відбувається для першого елемента керування, у той час як для другого елемента керування відбуваються події KeyPress і KeyUp. Наприклад, якщо дані в елементі керування змінюються, а потім натискається клавіша табуляції, щоб перейти до наступного елемента керування, відбувається зазначена нижче послідовність подій:

  • Перший елемент керування:

    KeyDown стрілка BeforeUpdate стрілка AfterUpdate стрілка Exit стрілка LostFocus

  • Другий елемент керування:

    Enter стрілка GotFocus стрілка KeyPress стрілка KeyUp

Події миші

Якщо натиснути та відпустити кнопку миші, коли вказівник наведено на елемент керування у формі, для цього елемента керування відбудеться наведена нижче послідовність подій:

MouseDown стрілка MouseUp стрілка Click

Якщо клацнути елемент керування, коли фокус розташовано на іншому елементі, щоб перемістити фокус на цей інший елемент керування, відбувається така послідовність подій:

  • Перший елемент керування:

    Exit стрілка LostFocus

  • Другий елемент керування:

    Enter стрілка GotFocus стрілка MouseDown стрілка MouseUp стрілка Click

Якщо перейти на інший запис, а потім клацнути елемент керування, для форми також відбудеться подія Current перед настанням події Enter для елемента керування.

Подвійне клацання елемента керування активує настання подій Click і DblClick. Наприклад, якщо двічі клацнути елемент керування, окрім кнопки, для елемента керування відбудеться така послідовність подій:

MouseD own стрілка MouseUp стрілка Click стрілка DblClick стрілка MouseUp

Якщо двічі клацнути кнопку, відбудеться наведена вище послідовність подій, після чого настане подія Click.

Подія MouseMove відбувається для форми, розділу або елемента керування, якщо вказівник миші наведено на форму, розділ або елемент керування. Ця подія не залежить від інших подій миші.

На початок сторінки

Порядок подій для звітів і розділів звітів

Події для звітів і розділів звітів відбуваються, коли звіт закривається або відкривається для друку чи попереднього перегляду.

Події для звітів

Якщо відкрити звіт для друку або попереднього перегляду, а потім закрити його чи перейти на іншу вкладку об’єкта в програмі Access, відбудеться така послідовність подій:

Open стрілка Activate стрілка Close стрілка Deactivate

Якщо перейти від одного відкритого звіту до іншого, для першого звіту відбувається подія Deactivate, а для другого – подія Activate:

Deactivate (звіт 1) стрілка Activate (звіт 2)

Подія Deactivate для звіту також відбувається, якщо перейти зі звіту на іншу вкладку об’єкта в програмі Access. Проте подія Deactivate не відбувається, якщо перейти до діалогового вікна, форми, у якої властивість PopUp має значення Yes, або вікна в іншій програмі.

Якщо відкрити звіт на основі запиту, перш ніж виконати цей запит, програма Access запускає для звіту подію Open. Зрештою, можна встановити умови для звіту за допомогою макросу або процедури події, які відповідають події Open. Наприклад, макрос або процедура події можуть відкрити спеціальне діалогове вікно, у якому потрібно ввести умову для звіту.

Події для розділів звітів

Під час друку або попереднього перегляду звіту відбуваються події Format і Print для розділів звітів після подій Open і Activate для звіту та перед подіями Close або Deactivate для цього звіту:

Open (звіт) стрілка Activate (звіт) стрілка Format (розділ звіту) стрілка Print (розділ звіту) стрілка Close (звіт) стрілка Deactivate (звіт)

Крім того, під час або після форматування, але перед подією Print можуть відбутися такі події:

  • Подія Retreat відбувається, коли програма Access повертається до попереднього розділу під час форматування звіту.

  • Подія NoData відбувається, якщо записи у звіті не відображаються.

  • Подія Page відбувається після форматування, але перед друком. Цю подію можна використовувати, щоб настроїти зовнішній вигляд друкованого звіту.

На початок сторінки

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×