בעת יצירת מסד נתונים חדש, בדרך כלל אתה מתחיל ביצירת אובייקטי מסד נתונים כגון טבלאות, טפסים ודוחות. בשלב מסוים, ייתכן שיהיה עליך להוסיף תיכנות כדי להפוך תהליכים לאוטומטיים ולחבר אובייקטים אלה. מאמר זה מציג את כלי התיכנות ב- Access.
במאמר זה
- מהו תיכנות?
- האם עליי להשתמש בפקודות מאקרו או בקוד VBA?
- שימוש באשף לחצני הפקודה לביצוע משימות תיכנות נפוצות
- הכרת פקודות מאקרו
- הכרת קוד VBA
- המרת פקודות מאקרו לקוד VBA
מהו תיכנות?
ב- Access, תיכנות פירושו הוספת פונקציונליות למסד הנתונים באמצעות פקודות מאקרו של Access או קוד Visual Basic for Applications (VBA). לדוגמה, באפשרותך ליצור טופס ודוח ולאחר מכן להוסיף לחצן פקודה לטופס שפותח את הדוח בעת בחירתו. במקרה זה, עליך ליצור מאקרו VBAOnClick או פרוצדורה ולאחר מכן להגדיר את מאפיין האירוע של לחצן הפקודה כך שלחצן הפקודה י מפעיל את המאקרו או הפרוצדורה. עבור פעולה פשוטה, כגון פתיחת דוח, באפשרותך להשתמש באשף לחצני הפקודות כדי לבצע את העבודה, או לבטל את האשף ולת תוכנית זאת בעצמך.
הערה
תוכניות רבות של Microsoft Office משתמשות במונח "מאקרו" כדי להפנות לקוד VBA . זה יכול לבלבל את משתמשי Access מכיוון שהמונח "מאקרו" מתייחס לאוסף בעל שם של פעולות מאקרו שאתה מרכיב באמצעות בונה המאקרו. פעולות מאקרו של Access מייצגות רק קבוצת משנה של הפקודות הזמינות ב- VBA. בונה המאקרו מספק לך ממשק מובנים יותר מאשר עורך Visual Basic, כך שתוכל להוסיף תיכנות לפקדים ולאובייקטים ללא קוד VBA למידה. במאמרי העזרה של Access, פקודות מאקרו של Access נקראות פקודות מאקרו.
VBA הקוד נקרא קוד VBA , פונקציה או פרוצדורה.
VBA הקוד מאוחסן במודולים של מחלקה, המהווים חלק לטפסים או דוחות בודדים, שבדרך כלל מכילים קוד רק עבור אובייקטים אלה, וב במודולים שאינם קשורים לאובייקטים ספציפיים, וברוב מכילים קוד כללי שניתן להשתמש בו בכל מסד הנתונים.
לאובייקטים כגון טפסים ודוחות, ופקדים כגון לחצני פקודות ותיבות טקסט, יש מאפייני אירוע שאליהם באפשרותך לצרף פקודות מאקרו או פרוצדורות. כל מאפיין אירוע משויך לאירוע ספציפי, כגון לחיצה על העכבר, פתיחת טופס או שינוי נתונים בתיבת טקסט. ניתן להפעיל אירועים גם על-ידי גורמים מחוץ ל- Access, כגון אירועי מערכת, או על-ידי פקודות מאקרו או פרוצדורות המצורפות לאירועים אחרים. מסד הנתונים שלך עשוי להיות מורכב אם אתה מוסיף פקודות מאקרו או פרוצדורות רבות לממאפיינים רבים של אירועים באובייקטים רבים. עם זאת, ברוב המקרים, באפשרותך לקבל את התוצאות הרצויות באמצעות מעט מאוד תיכנות.
האם עליי להשתמש בפקודות מאקרו או בקוד VBA?
ההחלטה להשתמש בפקודות מאקרו, או VBAבשניהם תלויה בעיקר באופן שבו בכוונתך לפרוס או להפיץ את מסד הנתונים. לדוגמה, אם מסד הנתונים מאוחסן במחשב שלך, VBA אתה המשתמש היחיד, ואתה מרגיש בנוח להשתמש בקוד, VBA ייתכן שתחליט להשתמש ברוב משימות התיכנות. עם זאת, אם בכוונתך לשתף את מסד הנתונים שלך עם אנשים אחרים משרת קבצים, VBA מומלץ להימנע משימוש עקב חששות אבטחה.
בסס את החלטתך להשתמש בפקודות מאקרו או VBA בקוד על שני חששות: אבטחה והפונקציונליות הרצויה. יש חשיבות לאבטחה VBA מכיוון שניתן להשתמש בו כדי ליצור קוד המסכן את הנתונים שלך או פוגע בקבצים במחשב שלך. בעת שימוש במסד נתונים שמישהו אחר יצר, VBA הפוך קוד לזמין רק אם ידוע לך שמסד הנתונים מגיע ממקור מהימן. בעת יצירת מסד נתונים שאנשים אחרים ישתמשו בו, נסה להימנע מכלול כלי תיכנות הדורשים מהמשתמש לתת אמון מפורש במסד הנתונים. טכניקות כלליות למניעת דרישה זו מופיעות בהמשך סעיף זה.
כדי לסייע באבטחת מסד הנתונים VBA שלך, נסה להשתמש בפקודות מאקרו כאשר ניתן ולהשתמש בהן רק עבור פעולות שלא ניתן לבצע באמצעות פעולות מאקרו. כמו כן, נסה להשתמש רק בפעולות מאקרו שאינן דורשות מהימנות במסד הנתונים כדי שניתן יהיה להפעיל בהן. הגבלת פעולות מאקרו באופן זה עוזרת למשתמשים להיות בטוחים שמסד הנתונים אינו כולל תיכנות שעלול להזיק לנתונים או לקבצים אחרים במחשבים שלהם.
שיקולים לגבי פקודות מאקרו
Access מכיל פעולות מאקרו רבות שמותר לבנות פקודות מאקרו חזקות יותר מאשר גירסאות קודמות של Access. לדוגמה, כעת באפשרותך ליצור משתנים זמניים כלליים ולהשתמש בהם באמצעות פעולות מאקרו, ואף לטפל בשגיאות באופן מבוקר יותר באמצעות פעולות מאקרו חדשות לטיפול בשגיאות. בגירסאות קודמות של Access, תכונות אלה היו זמינות רק ב- VBA. באפשרותך גם להטביע מאקרו ישירות במאפיין האירוע של אובייקט או פקד. מאקרו מוטבע הופך לחלק מהאובייקט או מהפקד ונשאר איתו אם האובייקט או הפקד מועברים או מועתקים.
פקודות מאקרו מספקות דרך קלה לטיפול במשימות תיכנות רבות, כגון פתיחה וסגירה של טפסים והפעלת דוחות. באפשרותך לא קשר במהירות את אובייקטי מסד הנתונים, כגון טפסים ודוחות, שיצרת מאחר שאין מעט תחביר שיש לזכור. הארגומנטים עבור כל פעולה מוצגים בבונה המאקרו.
בנוסף לאבטחה המשופרת ולקלות השימוש שפקודות מאקרו אלה מספקות, עליך להשתמש בפקודות מאקרו כדי לבצע את המשימות הבאות:
הקצאת פעולה או סידרת פעולות למפתח. פעולה זו דורשת יצירת קבוצת מאקרו בשם
AutoKeys.ביצוע פעולה או סדרת פעולות כאשר מסד נתונים נפתח בפעם הראשונה. פעולה זו דורשת יצירת מאקרו בשם
AutoExec.הערה
המאקרו
AutoExecפועל לפני פקודותVBAמאקרו או קוד אחרים, גם אם הגדרת טופס אתחול בתיבת הדו-שיח אפשרויות AccessVBAOnOpenוצורפת מאקרו או קוד לטופס או לאירועOnLoadזה.
לקבלת מידע נוסף אודות אופן בניית פקודות מאקרו, ראה הכרת פקודות מאקרו.
שיקולים לגבי VBA
השתמש VBA במקום בפקודות מאקרו אם ברצונך לבצע אחת מהפעולות הבאות:
- השתמש בפונקציות מוכללות או צור פונקציות משלך. Access כולל פונקציות מוכללות רבות, כגון
IPmt, המחשבות תשלום ריבית. באפשרותך להשתמש בפונקציות אלה כדי לבצע חישובים מבלי ליצור ביטויים מורכבים.VBAבאמצעות , באפשרותך גם ליצור פונקציות משלך כדי לבצע חישובים מעבר ליכולת של ביטוי או להחליף ביטויים מורכבים. בנוסף, באפשרותך להשתמש בפונקציות שאתה יוצר בביטויים כדי להחיל פעולה משותפת על יותר מאובייקט אחד. - יצירה או טיפול באובייקטים. ברוב המקרים, הדרך הקלה ביותר ליצור ולשנות אובייקט בתצוגת עיצוב של אובייקט זה. עם זאת, במקרים מסוימים, ייתכן שתרצה לטפל בהגדרה של אובייקט בקוד.
VBAבאמצעות , באפשרותך לטפל בכל האובייקטים במסד נתונים וכן במסד הנתונים עצמו. - ביצוע פעולות ברמת המערכת. באפשרותך לבצע את
RunAppהפעולה במאקרו כדי להפעיל תוכנית אחרת, כגון Microsoft Excel, מתוך Access, אך לא ניתן להשתמש במאקרו כדי לבצע פעולות רבות מחוץ ל- Access.VBAבאמצעות , באפשרותך לבדוק אם קובץ קיים במחשב, להשתמש באוטומציה או ב- Dynamic Data Exchange (DDE) כדי לקיים תקשורת עם תוכניות אחרות המבוססות על Microsoft Windows, כגון Excel, ופונקציות שיחה בספריות קישור דינאמי של Windows (DLLs). - לטפל ברשומות ב אחת בכל פעם. באפשרותך להשתמש כדי
VBAלעבור על קבוצת רשומות של רשומה אחת בכל פעם ולבצע פעולה בכל רשומה. לעומת זאת, פקודות מאקרו פועלות עם קבוצות שלמות של רשומות בו-זמנית.
שימוש באשף לחצני הפקודה לביצוע משימות תיכנות נפוצות
אם אתה מוסיף לחצן פקודה לטופס, אשף לחצני הפקודות יכול לעזור לך להתחיל בעבודה עם תיכנות. האשף מסייע לך ליצור לחצן פקודה שמבצע משימה ספציפית. בקובץ Access (.accdb) האשף יוצר מאקרו המוטבע במאפיין OnClick של לחצן הפקודה. בקובץ .mdb או .adp בקובץ, האשף יוצר VBA קוד מכיוון שפקודות מאקרו מוטבעות אינן זמינות בתבניות קובץ אלה. בכל מקרה, תוכל לשנות או לשפר את המאקרו או הקוד כך שיתאימו VBA בצורה טובה יותר לצרכיך.
בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על הטופס שברצונך להוסיף לו את לחצן הפקודה, ולאחר מכן לחץ על תצוגת עיצוב.
בכרטיסיה עיצוב טופס, לחץ על החץ למטה כדי להציג את גלריית הפקדים ולאחר מכן ודא שהאפשרות השתמש באשפי בקרה נבחרה.
בכרטיסיה עיצוב טופס , בגלריית הפקדים , לחץ על לחצן.
ברשת העיצוב של הטופס, לחץ במקום שבו ברצונך למקם את לחצן הפקודה. אשף לחצני הפקודה יופעל.
בעמוד הראשון של האשף, לחץ על כל קטגוריה ברשימה קטגוריות כדי לראות אילו פעולות האשף יכול לתכנת לביצוע על-ידי לחצן הפקודה. ברשימה פעולות, בחר את הפעולה הרצויה לך ולאחר מכן לחץ על הבא.
לחץ על האפשרות טקסט או על האפשרות תמונה, בהתאם לבחירתך אם להציג על לחצן הפקודה טקסט או תמונה.
- אם ברצונך להציג טקסט, באפשרותך לערוך את הטקסט בתיבה לצד האפשרות טקסט.
- אם ברצונך להציג תמונה, האשף יציע תמונה מהרשימה. אם ברצונך לבחור תמונה אחרת, בחר בתיבת הסימון הצג את כל התמונות כדי להציג רשימה של כל התמונות ש- Access מספק עבור לחצני פקודה, או לחץ על עיון כדי לבחור תמונה שמאוחסנת במקום אחר. לחץ על הבא.
הזן שם בעל משמעות עבור לחצן הפקודה. שלב זה הוא אופציונלי, ושם זה אינו מוצג בלחצן הפקודה. עם זאת, מומלץ להזין שם בעל משמעות כך כאשר תצטרך להפנות ללחצן הפקודה מאוחר יותר, כגון בעת הגדרת סדר הטאבים עבור פקדים בטופס, יהיה קל הרבה יותר להוסיף לחצני פקודות זה לזה. אם לחצן הפקודה סוגר את הטופס, לדוגמה, תוכל לבחור שם או
cmdClose.CommandCloseלחץ על סיום. Access ימקם את לחצן הפקודה בטופס.
אם ברצונך לראות מה האשף תיכנת עבורך, בצע שלבים אופציונליים אלה:
אם גליון המאפיינים אינו מוצג עדיין, הקש F4 כדי להציג אותו.
לחץ על הכרטיסיה אירוע בגליון המאפיינים.
בתיבת המאפיין בעת לחיצה, לחץ על לחצן בנה .
Access מפעיל את בונה המאקרו ומציג את המאקרו שהאשף יצר. באפשרותך לערוך את המאקרו אם תרצה. לקבלת מידע נוסף, ראה הכרת פקודות מאקרו. לאחר שתסיים, בכרטיסיה עיצוב מאקרו , בקבוצה סגור, לחץ על סגור כדי לסגור את בונה המאקרו. אם Access יציג לך הנחיה לשמור את השינויים ולעדכן את המאפיין, לחץ על כן כדי לשמור את השינויים או על לא כדי לדחות את השינויים.
בכרטיסיה עיצוב טופס , בקבוצה תצוגות, לחץ על תצוגה ולאחר מכן לחץ על תצוגת טופס. לחץ על לחצן הפקודה החדש כדי לוודא שהוא פועל כמצופה.
הכרת פקודות מאקרו
מאקרו הוא כלי המאפשר לך להפוך משימות לאוטומטיות ולהוסיף פונקציונליות לטפסים, לדוחות ולפקדים שלך. לדוגמה, אם תוסיף לחצן פקודה לטופס, OnClick תוכל לשייך את מאפיין האירוע של הלחצן למאקרו המכיל את הפקודות שברצונך שהלחצן יבצע בכל פעם שהוא נבחר.
מומלץ לחשוב על פקודות מאקרו של Access כעל שפת תיכנות פשוטה שבה אתה יוצר קוד על-ידי בניית רשימת פעולות לביצוע. בעת בניית מאקרו, אתה בוחר כל פעולה מרשימה נפתחת ולאחר מכן ממלא את המידע הנדרש לכל פעולה. פקודות מאקרו מאפשרות לך להוסיף פונקציונליות לטפסים, לדוחות ולפקדים מבלי לכתוב קוד במודול VBA . פקודות מאקרו מספקות קבוצת משנה של הפקודות VBAהזמינות ב- , ורוב האנשים מגלים שיהיה קל יותר לבנות מאקרו מאשר לכתוב VBA קוד.
יצירת מאקרו מתבצעת באמצעות בונה המאקרו, שמוצג באיור הבא.
כדי להציג את בונה המאקרו:
- בכרטיסיה צור, בקבוצה פקודות מאקרו וקוד, לחץ על מאקרו.
הכרת קוד VBA
כמו פקודות מאקרו, מאפשר VBA לך להוסיף אוטומציה ופונקציונליות אחרת ליישום Access. באפשרותך להרחיב באמצעות VBA פקדים של ספקים חיצוניים, ולכתוב פונקציות והליכים משלך עבור צרכים ספציפיים.
דרך מהירה להתחיל בעבודה היא לבנות VBA תחילה מאקרו של Access ולאחר מכן להמיר אותו לקוד VBA . הוראות לביצוע פעולה זו נכללות במאמר המרת פקודות מאקרו לקוד VBA. תכונה זו יוצרת מודול חדש VBA המבצע את הפעולות המקבילות במאקרו. היא פותחת גם את עורך Visual Basic כך שתוכל להתחיל לשנות את הפרוצדורה. כאשר אתה עובד בעורך Visual Basic, באפשרותך ללחוץ על מילות מפתח ולהקיש F1 כדי להפעיל את העזרה למפתחים של Access וללמוד עוד אודות כל מילת מפתח. לאחר מכן תוכל עיין בעזרה למפתחי Access ולגלות פקודות חדשות שיעזרו לך לבצע את משימות התיכנות הרצויות.
המרת פקודות מאקרו לקוד VBA
באפשרותך להשתמש ב- Access כדי להמיר באופן אוטומטי פקודות מאקרו למודולים VBA או למודולים של מחלקה. באפשרותך להמיר פקודות מאקרו המצורפות לטופס או לדוח, בין אם הן קיימות כאובייקטים נפרדים ובין אם כפקודות מאקרו מוטבעות. באפשרותך גם להמיר פקודות מאקרו כלליות שאינן מצורפות לטופס או לדוח ספציפיים.
המרת פקודות מאקרו המצורפות לטופס או לדוח
תהליך זה ממיר VBA לפקודות מאקרו המוטבעות על-ידי טופס או דוח, או כל אחד מהפקדים שלהם, VBA ומוסיף את הקוד למודול המחלקה של הטופס או הדוח. מודול המחלקה הופך לחלק מהטופס או מהדוח, ועובר יחד איתם כאשר הם מועברים או מועתקים.
בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על הטופס או הדוח ולאחר מכן לחץ על תצוגת עיצוב.
בכרטיסיה עיצוב טופס , בקבוצה כלים , לחץ על המר פקודות מאקרו של טופס ל- Visual Basic או על המר פקודות מאקרו של דוח ל - Visual Basic.
בתיבת הדו-שיח המרת פקודות מאקרו של טופס או המרת פקודות מאקרו של דוח, בחר אם ברצונך ש- Access יוסיף קוד לטיפול בשגיאות לפונקציות שהוא יוצר. אם פקודות המאקרו שלך כוללות הערות, בחר גם אם ברצונך לכלול הערות אלה בפונקציות. לחץ על המר כדי להמשיך. אם לא קיים מודול מחלקה עבור הטופס או הדוח, Access יוצר מודול כזה ומוסיף פרוצדורה למודול עבור כל מאקרו ששויך לטופס או לדוח. Access גם משנה את מאפייני האירוע של הטופס או הדוח כך שהם יפעילו את ההליכים
VBAהחדשים במקום את פקודות המאקרו.כדי להציג ולערוך את
VBAהקוד:כאשר הטופס או הדוח עדיין פתוחים בתצוגת עיצוב, אם גליון המאפיינים אינו מוצג עדיין, הקש F4 כדי להציג אותו.
בכרטיסיה אירוע של גליון המאפיינים, לחץ על תיבת מאפיין כלשהי שמציגה
[Event Procedure]ולאחר מכן לחץ על לחצן בנה. כדי להציג את מאפייני האירוע עבור פקד ספציפי, לחץ על הפקד כדי לבחור אותו. כדי להציג את מאפייני האירוע עבור הטופס או הדוח בשלמותם, בחר טופס או דוח מהרשימה הנפתחת, בחלק העליון של גליון המאפיינים.
Access פותח את עורך Visual Basic ומציג את הפרוצדורה של האירוע במודול המחלקה שלה. באפשרותך לגלול למעלה או למטה כדי להציג פרוצדורות אחרות שנמצאות באותו מודל מחלקה.
המרת פקודות מאקרו כלליות
בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על המאקרו שברצונך להמיר ולאחר מכן לחץ על תצוגת עיצוב.
בכרטיסיה עיצוב מאקרו , בקבוצה כלים, לחץ על המרת פקודות מאקרו ל- Visual Basic.
בתיבת הדו-שיח המרת מאקרו, בחר את האפשרויות הרצויות ולאחר מכן לחץ על המר. Access ימיר את המאקרו ויפתח את עורך Visual Basic.
כדי להציג ולערוך את
VBAהקוד:- בעורך Visual Basic, אם החלונית Project Explorer לא מוצגת, בכרטיסיה View, לחץ על Project Explorer.
- הרחב את העץ תחת השם של מסד הנתונים שבו אתה עובד.
- תחת מודולים, לחץ פעמיים על המודול
Converted Macro-<macro name>. עורך Visual Basic יפתח את המודול.
צירוף פונקציית VBA למאפיין אירוע
בעת המרת מאקרו כללי ל VBA- , VBA הקוד ממוקם במודול רגיל. שלא כמו מודול של מחלקה, מודול רגיל אינו חלק של טופס או של דוח. סביר להניח שתרצה לשייך את הפונקציה למאפיין אירוע בטופס, בדוח או בפקד, כך שהקוד יפעל בדיוק בזמן ובמקום שתרצה. לשם כך, באפשרותך VBA להעתיק את הקוד למודול מחלקה ולאחר מכן לשייך אותו למאפיין אירוע, או לבצע שיחה מיוחדת ממאפיין האירוע למודול הרגיל באמצעות ההליך הבא.
- בעורך Visual Basic, רשום את שם הפונקציה. לדוגמה, אם המרת מאקרו בשם
MyMacro, שם הפונקציה יהיהMyMacro(). - סגור את עורך Visual Basic.
- בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על הטופס או הדוח שאליו ברצונך לשייך את הפונקציה ולאחר מכן לחץ על תצוגת עיצוב.
- לחץ על הפקד או המקטע שאליו ברצונך לשייך את הפונקציה.
- אם גליון המאפיינים אינו מוצג עדיין, הקש F4 כדי להציג אותו.
- בכרטיסיה אירוע של גליון המאפיינים, לחץ על תיבת המאפיין של האירוע שאליו ברצונך לשייך את הפונקציה.
- בתיבת המאפיין, הקלד סימן שוויון (
=) ואחריו את שם הפונקציה - לדוגמה,=MyMacro(). הקפד לכלול את הסוגריים. - שמור את הטופס או הדוח על-ידי לחיצה על שמור בסרגל הכלים לגישה מהירה.
- בחלונית הניווט, לחץ פעמיים על הטופס או הדוח ולאחר מכן בדוק אותם כדי לוודא שהקוד פועל כראוי.
כעת אתה מכיר את השלבים הבסיסיים להוספת VBA קוד למסד הנתונים שלך. מאמר זה מתאר רק את היסודות של אופן תחילת העבודה. ספרי עזר ומשאבים מקוונים רבים מצוינת יכולים לעזור לך לבנות את כישורי התיכנות שלך.
למידע נוסף
יצירת מאקרו של ממשק משתמש (UI)
הפעלת מאקרו ב- Access באמצעות קיצור מקשים
הפיכת אירועי אתחול לאוטומטיים באמצעות מאקרו
יצירת מאקרו המופעל בעת פתיחת מסד נתונים