סדר אירועים עבור אובייקטי מסד נתונים

פעולה אחת, כגון המעבר מפקד אחד באובייקט לפקד אחר, יכולה להפעיל כמה אירועים שונים, המתרחשים בסדר מסוים. חשוב לדעת מתי מתרחשים אירועים ובאיזה סדר, משום שהדבר יכול להשפיע על האופן והמועד שבו פקודות מאקרו או פרוצדורות אירוע פועלות. לדוגמה, אם קיימות שתי פרוצדורות אירוע שיש להפעיל בסדר מסוים, כדאי לוודא שהאירועים שהן משויכות אליהם מתרחשים בסדר זהה.

במאמר זה

סדר האירועים של פקדים בטפסים

סדר האירועים של רשומות בטפסים

סדר האירועים של טפסים וטפסי משנה

סדר האירועים של הקשות ולחיצות עכבר

סדר האירועים של דוחות ומקטעי דוחות

סדר האירועים של פקדים בטפסים

אירועים מתרחשים עבור פקדים בטפסים בעת העברת המוקד לפקד ובעת שינוי ועדכון נתונים בפקד.

הערה: Microsoft Office Access מציג שמות אירועים בצורה שונה מעט בעורך Visual Basic לעומת גליון המאפיינים ובונה המאקרו. לדוגמה, אירוע שנקרא On Got Focus בגליון המאפיינים של הטופס ובבונה המאקרו, נקרא GotFocus בעורך Visual Basic. הדוגמאות במאמר זה משתמשות בתבנית Visual Basic for Applications ‏(VBA) עבור שמות אירועים.

העברת המוקד לפקד

בעת העברת המוקד לפקד בטופס (לדוגמה, על-ידי פתיחת טופס המכיל פקד פעיל אחד או יותר, או על-ידי העברת המוקד לפקד אחר באותו טופס), מתרחשים האירועים Enter ו- GotFocus בסדר זה:

Enter חץ GotFocus

בעת פתיחת טופס, האירועים Enter ו- GotFocus מתרחשים אחרי האירועים המשויכים לפתיחת הטופס (כגון Open,‏ Activate ו- Current), באופן הבא:

Open (form) חץ Activate (form) חץ Current (form) חץ Enter (control) חץ GotFocus (control)‎

כאשר המוקד עוזב את הפקד בטופס (לדוגמה, בעת סגירת טופס המכיל פקד פעיל אחד או יותר, או בעת מעבר לפקד אחר באותו טופס), האירועים Exit ו- LostFocus מתרחשים בסדר זה:

Exit חץ LostFocus

בעת סגירת טופס, האירועים Exit ו- LostFocus מתרחשים לפני האירועים המשויכים לסגירת הטופס (כגון Unload,‏ Deactivate ו- Close), באופן הבא:

Exit (control) חץ LostFocus (control) חץ Unload (form) חץ Deactivate (form) חץ Close (form)‎

שינוי ועדכון נתונים בפקד

בעת הזנה או שינוי של נתונים בפקד בטופס ולאחר מכן העברת המוקד לפקד אחר, מתרחשים האירועים 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 (form) חץ BeforeUpdate (form) חץ AfterUpdate (form) חץ Current (form)‎

במהלך היציאה מהרשומה שהנתונים שלה השתנו, אך לפני הכניסה לרשומה הבאה, מתרחשים האירועים Exit ו- LostFocus עבור הפקד שהמוקד נמצא בו. אירועים אלה מתרחשים אחרי האירועים BeforeUpdate ו- AfterUpdate עבור הטופס, באופן הבא:

BeforeUpdate (form) חץ AfterUpdate (form) חץ Exit (control) חץ LostFocus (control) חץ RecordExit (form) חץ Current (form)‎

בעת העברת המוקד בין הפקדים בטופס, מתרחשים אירועים עבור כל פקד. לדוגמה, רצפי האירועים הבאים מתרחשים כאשר אתה מבצע את הפעולות הבאות:

  • פתיחת טופס ושינוי נתונים בפקד:

    Current (form) חץ Enter (control) חץ GotFocus (control) חץ BeforeUpdate (control) חץ AfterUpdate (control)‎

  • העברת המוקד לפקד אחר:

    Exit (control1) חץ LostFocus (control1) חץ Enter (control2) חץ GotFocus (control2)‎

  • העברת המוקד לרשומה אחרת:

    BeforeUpdate (form) חץ AfterUpdate (form) חץ Exit (control2) חץ LostFocus (control2) חץ RecordExit (form) חץ Current (form)‎

מחיקת רשומות

בעת מחיקת רשומה, מתרחשים האירועים הבאים עבור הטופס ו- Microsoft Office Access מציג תיבת דו-שיח המבקשת ממך לאשר את המחיקה:

Delete חץ BeforeDelConfirm חץ AfterDelConfirm

אם תבטל את האירוע Delete, האירועים BeforeDelConfirm ו- AfterDelConfirm לא יתרחשו ותיבת הדו-שיח לא תוצג.

יצירת רשומה חדשה

בעת העברת המוקד לרשומה חדשה (ריקה) בטופס ולאחר מכן יצירת רשומה חדשה על-ידי הקלדת נתונים בפקד, מתרחש רצף האירועים הבא:

Current (form) חץ Enter (control) חץ GotFocus (control) חץ BeforeInsert (form) חץ AfterInsert (form)‎

האירועים BeforeUpdate ו- AfterUpdate עבור הפקדים בטופס ועבור הרשומה החדשה מתרחשים אחרי האירוע BeforeInsert ולפני האירוע AfterInsert.

לראש הדף

סדר האירועים של טפסים וטפסי משנה

אירועים מתרחשים עבור טפסים בעת פתיחה או סגירה של טופס, מעבר בין טפסים או עבודה עם נתונים בטופס או בטופס משנה.

פתיחה וסגירה של טופס

בעת פתיחת טופס, מתרחש רצף האירועים הבא עבור הטופס:

Open חץ Load חץ Resize חץ Activate חץ Current

אם לא קיימים פקדים פעילים בטופס, האירוע GotFocus מתרחש עבור הטופס אחרי האירוע Activate אך לפני האירוע Current.

בעת סגירת טופס, מתרחש רצף האירועים הבא עבור הטופס:

Unload חץ Deactivate חץ Close

אם לא קיימים פקדים פעילים בטופס, האירוע LostFocus מתרחש עבור הטופס אחרי האירוע Unload אך לפני האירוע Deactivate.

מעבר בין טפסים

בעת מעבר בין שני טפסים פתוחים, האירוע Deactivate מתרחש עבור הטופס הראשון והאירוע Activate מתרחש עבור הטופס השני:

Deactivate (form1) חץ Activate (form2)‎

האירוע Deactivate עבור טופס מתרחש גם בעת מעבר מהטופס לכרטיסיית אובייקטים אחרת ב- Access. עם זאת, האירוע Deactivate לא מתרחש בעת מעבר לתיבת דו-שיח, לטופס שמאפיין PopUp שלו מוגדר ככן, או לחלון בתוכנית אחרת.

הערה:  האירוע Open לא מתרחש בעת העברת המוקד לטופס שהנו כבר פתוח, גם אם העברת את המוקד לאותו טופס על-ידי ביצוע הפעולה OpenForm.

עבודה עם נתונים בטופס

אירועי טופס ופקד מתרחשים בעת מעבר בין רשומות בטופס ושינוי נתונים. לדוגמה, כאשר אתה פותח טופס לראשונה, מתרחש רצף האירועים הבא:

Open (form) חץ Load (form) חץ Resize (form) חץ Activate (form) חץ Current (form) חץ Enter (control) חץ GotFocus (control)‎

בדומה, בעת סגירת טופס, מתרחש רצף האירועים הבא:

Exit (control) חץ LostFocus (control) חץ Unload (form) חץ Deactivate (form) חץ Close (form)‎

אם שינית נתונים בפקד, האירועים BeforeUpdate ו- AfterUpdate עבור הפקד והטופס מתרחשים לפני האירוע Exit עבור הפקד.

עבודה עם טפסי משנה

בעת פתיחת טופס המכיל טופס משנה, טופס המשנה והרשומות שלו נטענים לפני הטופס הראשי. לכן, האירועים עבור טופס המשנה והפקדים שלו (כגון Open,‏ Current,‏ Enter ו- GotFocus) מתרחשים לפני האירועים עבור הטופס. עם זאת, האירוע Activate לא מתרחש עבור טפסי משנה. לכן, פתיחת טופס ראשי מפעילה אירוע Activate עבור הטופס הראשי בלבד.

בדומה, בעת סגירת טופס המכיל טופס משנה, טעינת טופס המשנה והרשומות שלו מבוטלת אחרי הטופס. האירוע Deactivate לא מתרחש עבור טפסי משנה. לכן, סגירת טופס ראשי מפעילה אירוע 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 מתרחשים עבור הפקד השני. לדוגמה, אם תשנה נתונים בפקד ולאחר מכן תקיש על מקש TAB כדי לעבור לפקד הבא, יתרחשו רצפי האירועים הבאים:

  • פקד ראשון:

    KeyDown חץ BeforeUpdate חץ AfterUpdate חץ Exit חץ LostFocus

  • פקד שני:

    Enter חץ GotFocus חץ KeyPress חץ KeyUp

אירועי עכבר

בעת לחיצה על לחצן עכבר ושחרורו בזמן שמצביע העכבר נמצא על פקד בטופס, מתרחש רצף האירועים הבא עבור הפקד:

MouseDown חץ MouseUp חץ Click

אם המוקד נמצא על פקד ואתה לוחץ על פקד אחר כדי להעביר את המוקד לפקד שני זה, מתרחש רצף האירועים הבא:

  • פקד ראשון:

    Exit חץ LostFocus

  • פקד שני:

    Enter חץ GotFocus חץ MouseDown חץ MouseUp חץ Click

אם אתה עובר לרשומה אחרת ולאחר מכן לוחץ על פקד, האירוע Current עבור הטופס מתרחש גם לפני האירוע Enter עבור הפקד.

לחיצה כפולה על פקד גורמת הן לאירוע Click והן לאירוע DblClick להתרחש. לדוגמה, בעת לחיצה כפולה על פקד שאינו לחצן פקודה, מתרחש רצף האירועים הבא עבור הפקד:

MouseDown חץ MouseUp חץ Click חץ DblClick חץ MouseUp

בעת לחיצה כפולה על לחצן פקודה, מתרחש רצף האירועים הקודם, ולאחר מכן מתרחש האירוע השני Click.

האירוע MouseMove עבור טופס, מקטע או פקד מתרחש בעת הזזת מצביע העכבר מעל טופס, מקטע או פקד. אירוע זה אינו תלוי באירועי העכבר האחרים.

לראש הדף

סדר האירועים של דוחות ומקטעי דוחות

אירועים מתרחשים עבור דוחות ומקטעי דוחות בעת פתיחת דוח כדי להדפיסו, לסגור אותו או להציג אותו בתצוגה מקדימה.

אירועים עבור דוחות

בעת פתיחת דוח כדי להדפיסו או להציג אותו בתצוגה מקדימה ולאחר מכן לסגור אותו או לעבור לכרטיסיית אובייקטים אחרת ב- Access, מתרחש רצף האירועים הבא עבור הדוח:

Open חץ Activate חץ Close חץ Deactivate

בעת מעבר בין שני דוחות פתוחים, האירוע Deactivate מתרחש עבור הדוח הראשון והאירוע Activate מתרחש עבור הדוח השני:

Deactivate (report1) חץ Activate (report2)‎

האירוע Deactivate עבור דוח מתרחש גם בעת מעבר מהדוח לכרטיסיית אובייקטים אחרת ב- Access. עם זאת, האירוע Deactivate לא מתרחש בעת מעבר לתיבת דו-שיח, לטופס שמאפיין PopUp שלו מוגדר ככן, או לחלון בתוכנית אחרת.

בעת פתיחת דוח המבוסס על שאילתה, Access מפעיל את האירוע Open עבור הדוח לפני הפעלת השאילתה המשמשת כבסיס. כתוצאה מכך, ניתן להגדיר את הקריטריונים עבור הדוח באמצעות הליך מאקרו או אירוע המגיב לאירוע Open. לדוגמה, הליך המאקרו או האירוע יכולים לפתוח תיבת דו-שיח מותאמת אישית שבה תזין קריטריונים לדוח.

אירועים עבור מקטעי דוחות

בעת הדפסת דוח או הצגתו בתצוגה מקדימה, האירועים Format ו- Print מתרחשים עבור מקטעי הדוח אחרי האירועים Open ו- Activate עבור הדוח ולפני האירועים Close או Deactivate של הדוח:

Open (report) חץ Activate (report) חץ Format (report section) חץ Print (report section) חץ Close (report) חץ Deactivate (report)‎

בנוסף, האירועים הבאים עשויים להתרחש במהלך עיצוב או אחרי עיצוב, אך לפני האירוע Print:

  • האירוע Retreat מתרחש כאשר Access חוזר למקטע קודם במהלך עיצוב דוח.

  • האירוע NoData מתרחש אם בדוח לא מוצגות רשומות.

  • האירוע Page מתרחש לאחר עיצוב אך לפני הדפסה. ניתן להשתמש באירוע זה כדי להתאים אישית את המראה של הדוח המודפס.

לראש הדף

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×