באפשרותך להשתמש בפעולה CancelEvent כדי לבטל את האירוע שגרם ל- Access להפעיל את המאקרו המכיל פעולה זו. שם המאקרו הוא ההגדרה של מאפיין אירוע כגון BeforeUpdate, OnOpen, OnUnload או OnPrint.
הערה: פעולת המאקרו CancelEvent אינה זמינה ביישומי Access Web App.
הגדרה
הפעולה CancelEvent לא מכילה ארגומנטים כלשהם.
הערות
בטופס, לרוב אתה משתמש בפעולה CancelEvent במאקרו אימות עם מאפיין האירוע BeforeUpdate. כאשר משתמש מזין נתונים בפקד או ברשומה, Access מפעיל את המאקרו לפני הוספת הנתונים למסד הנתונים. אם הנתונים לא עומדים בתנאי האימות במאקרו, הפעולה CancelEvent מבטלת את תהליך העדכון לפני הפעלתו.
לעתים קרובות, אתה משתמש בפעולה זו עם הפעולה MsgBox כדי לציין שהנתונים לא עמדו בתנאי האימות, וכדי לספק מידע שימושי על סוג הנתונים שיש להזין.
ניתן לבטל את האירועים הבאים באמצעות הפעולה CancelEvent.
ApplyFilter |
Dirty |
MouseDown |
BeforeDelConfirm |
יציאה |
NoData |
BeforeInsert |
סינון |
פתיחה |
BeforeUpdate |
תבנית |
הדפסה |
DblClick |
KeyPress |
ביטול הורדה |
מחיקה |
הערה: באפשרותך להשתמש בפעולה CancelEvent עם האירוע MouseDown בלבד כדי לבטל את האירוע המתרחש בעת הלחיצה באמצעות לחצן העכבר הימני על אובייקט כלשהו.
אם הגדרת מאפיין האירוע OnDblClick של פקד כלשהו מציינת מאקרו המכיל את הפעולה CancelEvent, הפעולה מבטלת את האירוע DblClick.
עבור אירועים שניתן לבטל, אופן הפעולה המהווה ברירת מחדל עבור האירוע (כלומר, מה ש- Access עושה בדרך כלל כאשר האירוע מתרחש) מתרחש לאחר הפעלת המאקרו של האירוע. כך ניתן לבטל את אופן הפעולה המהווה ברירת מחדל. לדוגמה, בעת לחיצה כפולה על מילה שנקודת הכניסה נמצאת בה בתיבת טקסט, Access בוחר את המילה בדרך כלל. באפשרותך לבטל את אופן הפעולה המהווה ברירת מחדל במאקרו של האירוע DblClick ולבצע פעולה אחרת, כגון פתיחת טופס המכיל מידע על הנתונים בתיבת הטקסט. עבור אירועים שלא ניתן לבטל, אופן הפעולה המהווה ברירת מחדל מתרחש לפני הפעלת המאקרו.
הערה: אם מאפיין האירוע OnUnload של הטופס מציין מאקרו שמבצע פעולת CancelEvent, לא תוכל לסגור את הטופס. עליך לתקן את התנאי שגרם לביצוע הפעולה CancelEvent או לפתוח את המאקרו ולמחוק את הפעולה CancelEvent. אם הטופס הוא טופס מודאלי, לא תוכל לפתוח את המאקרו.
כדי לבצע את הפעולה CancelEvent במודול Visual Basic for Applications (VBA), השתמש בפעולת השירות CancelEvent של האובייקט DoCmd.
דוגמה
אימות נתונים באמצעות מאקרו
מאקרו האימות הבא בודק את מספרי המיקוד שהוזנו בטופס ספקים. הוא מציג את השימוש בפעולות StopMacro, MsgBox, CancelEvent ו- GoToControl. ביטוי מותנה בודק את המדינה/האזור והמיקוד שהוזנו ברשומה בטופס. אם המיקוד אינו מופיע בתבנית הנכונה עבור המדינה/האזור, המאקרו מציג תיבת הודעה ומבטל את שמירת הרשומה. לאחר מכן, הוא מחזיר אותך לפקד המיקוד, שבו ניתן לתקן את השגיאה. יש לצרף מאקרו זה למאפיין BeforeUpdate של טופס הספקים.
תנאי |
פעולה |
ארגומנטים: הגדרה |
הערה |
IsNull([CountryRegion]) |
StopMacro |
אם CountryRegion הוא Null, אין אפשרות לאמת את המיקוד. |
|
[CountryRegion] In ("France","Italy","Spain") And Len([Postal Code]) <> 5 |
MsgBox |
הודעה: המיקוד חייב להכיל 5 תווים. צפצוף: כן סוג: מידע כותרת: שגיאת מיקוד |
אם המיקוד אינו מכיל 5 תווים, הצג הודעה. |
... |
CancelEvent |
בטל את האירוע. |
|
GoToControl |
שם פקד: PostalCode |
||
[CountryRegion] In ("Australia","Singapore") And Len([Postal Code]) <> 4 |
MsgBox |
הודעה: המיקוד חייב להכיל 4 תווים. צפצוף: כן סוג: מידע כותרת: שגיאת מיקוד |
אם המיקוד אינו מכיל 4 תווים, הצג הודעה. |
... |
CancelEvent |
בטל את האירוע. |
|
GoToControl |
שם פקד: PostalCode |
||
([CountryRegion] = "Canada") And ([Postal Code] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MsgBox |
הודעה: המיקוד אינו חוקי. דוגמה של מיקוד בקנדה: H1J 1C3 צפצוף: כן סוג: מידע כותרת: שגיאת מיקוד |
אם המיקוד אינו נכון עבור קנדה, הצג הודעה. (דוגמה של מיקוד בקנדה: H1J 1C3) |
... |
CancelEvent |
בטל את האירוע. |