בעת יצירת מסד נתונים חדש, בדרך כלל תוכל להתחיל על-ידי יצירת כמה אובייקטי מסד נתונים, כגון טבלאות, טפסים ודוחות. בסופו של דבר, תגיע לנקודה שבה עליך להוסיף מעט תיכנות כדי להפוך תהליכים מסוימים לאוטומטיים לאגד יחד את אובייקטי מסד הנתונים. מאמר זה מסייע לך להתמצא בכלי התיכנות ב- Access.
במאמר זה
מהו תיכנות?
ב Access, תיכנות הוא תהליך הוספת פונקציונליות למסד הנתונים שלך באמצעות פקודות מאקרו של Access או קוד Visual Basic for Applications (VBA). לדוגמה, נניח שיצרת טופס ודוח, וברצונך להוסיף לטופס לחצן פקודה שלחיצה עליו תפתח את הדוח. במקרה זה, תיכנות הוא התהליך של יצירת מאקרו או פרוצדורה של VBA ולאחר מכן הגדרה מאפיין האירוע OnClidk של לחצן הפקודה, כך שלחיצה על לחצן הפקודה מפעילה את המאקרו או הפרוצדורה. עבור פעולה פשוטה, כגון פתיחת דוח, באפשרותך להשתמש באשף לחצני פקודות כדי לבצע בעזרתו את כל העבודה, או לבטל את האשף ולתכנת בעצמך.
הערה: תוכניות רבות של Microsoft Office משתמשות במונח "מאקרו" כדי להתייחס לקוד VBA. הדבר עשוי להיות מבלבל Access המשתמשים משום שב- Access, המונח "מאקרו" מתייחס לאוסף בעל שם של פעולות מאקרו שניתן להרכיב באמצעות בונה המאקרו. Access מאקרו מייצגות רק קבוצת משנה של הפקודות הזמינות ב- VBA. בונה המאקרו מספק ממשק מובנה יותר מזה של Visual Basic Editor, ומאפשר לך להוסיף תיכנות לפקדים ולאובייקטים מבלי שתצטרך ללמוד קוד VBA. זכור כי במאמרי Access, Access מאקרו נקראות פקודות מאקרו. לעומת זאת, המונחים 'קוד', 'פונקציה' או 'פרוצדורה' מתייחסים לקוד VBA. קוד VBA כלול במודולי מחלקה (שהם חלק מטפסים או דוחות בודדים ובדרך כלל מכילים קוד עבור אובייקטים אלה בלבד) ובמודולים (שאינם קשורים לאובייקטים ספציפיים ובדרך כלל מכילים קוד "כללי" שניתן להשתמש בו בכל מסד הנתונים) .
לאובייקטים (כגון טפסים ודוחות) ולפקדים (כגון לחצני פקודות ותיבות טקסט) יש מאפייני אירועים שונים, שאליהם ניתן לצרף פקודות מאקרו או פרוצדורות. לכל מאפיין האירוע משויך אירוע ספציפי, כגון לחיצה על העכבר, פתיחת טופס או שינוי נתונים בתיבת טקסט. ניתן להפעיל אירועים גם על-ידי גורמים מחוץ Access, כגון אירועי מערכת, או על-ידי פקודות מאקרו או פרוצדורות המצורפות לאירועים אחרים. מסד הנתונים יכול להפוך למורכב אם תוסיף פקודות מאקרו או פרוצדורות רבות לכמה מאפייני אירועים של אובייקטים רבים, אך ברוב המקרים, תוכל להשיג את התוצאות הרצויות באמצעות מעט מאוד תיכנות.
האם עליי להשתמש בפקודות מאקרו או בקוד VBA?
ההחלטה אם להשתמש בפקודות מאקרו, ב- VBA או בשניהם תלויה בראש ובראשונה באופן שבו אתה מתכוון לפרוס או להפיץ את מסד הנתונים. לדוגמה, אם מסד הנתונים מאוחסן במחשב שלך ואתה הוא המשתמש היחידי, ואם בקי בשימוש בקוד VBA, ייתכן שתחליט להשתמש ב- VBA כדי לבצע את רוב משימות התיכנות. עם זאת, אם בכוונתך לשתף את מסד הנתונים עם אנשים אחרים על-ידי מיקומו בשרת קבצים, מומלץ להימנע משימוש ב- VBA משיקולי אבטחה.
עליך לבסס את ההחלטה אם להשתמש בפקודות מאקרו או בקוד VBA על שני שיקולים עיקריים: אבטחה והפונקציונליות הרצויה לך. אבטחה היא נושא חשוב מאחר שניתן להשתמש ב- VBA ליצירת קוד שפוגע באבטחת הנתונים שלך או עלול לגרום נזק לקבצים במחשב. כאשר תשתמש במסד נתונים שנוצר על-ידי אדם אחר ולא על-ידך, עליך להפוך את קוד ה- VBA לזמין רק אם אתה יודע שמסד הנתונים מגיע ממקור מהימן. בעת יצירת מסד נתונים שבו ישתמשו אנשים אחרים, עליך לנסות להימנע מהוספת כלי תיכנות שמחייבים את המשתמש לאשר באופן ספציפי את מסד הנתונים כמהימן. טכניקות כלליות המאפשרות למנוע את הצורך שהמשתמשים יתנו אמון במסד הנתונים מפורטות בהמשך סעיף זה.
כדי להבטיח שמסד הנתונים יהיה מאובטח, עליך לנסות להשתמש בפקודות מאקרו כאשר הדבר אפשרי, ולהשתמש בתיכנות VBA רק לפעולות שאינן ניתנות לביצוע באמצעות פעולות מאקרו. יתר על כן, עליך לנסות להשתמש רק בפעולות מאקרו שהפעלתן אינה מחייבת לאשר את מסד הנתונים כמהימן כדי לפעול. הגבלת השימוש בפעולות מאקרו בדרך זו מאפשרת למשתמשים להיות בטוחים שמסד הנתונים לא מכיל תיכנות שעלול להזיק לנתונים או לקבצים אחרים במחשבים שלהם.
שיקולים לגבי פקודות מאקרו
Access מכיל פעולות מאקרו חדשות רבות המאפשרות לך לבנות פקודות מאקרו חזקות יותר מאלה שניתן לבנות באמצעות גירסאות קודמות של Access. לדוגמה, כעת באפשרותך ליצור משתנים זמניים כלליים ולהשתמש בהם באמצעות פעולות מאקרו, ואף לטפל בשגיאות באופן מבוקר יותר באמצעות פעולות מאקרו חדשות לטיפול בשגיאות. בגירסאות קודמות של Access, תכונות מסוג זה זמינות רק באמצעות VBA. בנוסף, באפשרותך להטביע מאקרו ישירות במאפיין האירוע של אובייקט או פקד. מאקרו מוטבע הופך לחלק מהאובייקט או מהפקד ונשאר עם האובייקט או הפקד אם הוא מועבר או מועתק.
פקודות מאקרו מספקות דרך קלה לטיפול במשימות תיכנות רבות, כגון פתיחה וסגירה של טפסים והפעלת דוחות. תוכל לאגד יחד בקלות ובמהירות את אובייקטי מסד הנתונים (טפסים, דוחות וכן הלאה) שיצרת מאחר שעליך לזכור מעט מאוד תחביר. הארגומנטים עבור כל פעולה מוצגים בבונה המאקרו.
בנוסף לאבטחה המשופרת ולקלות השימוש שפקודות מאקרו אלה מספקות, עליך להשתמש בפקודות מאקרו כדי לבצע את המשימות הבאות:
-
הקצאת פעולה או סידרת פעולות למפתח. לשם כך יש ליצור קבוצת פקודות מאקרו בשם AutoKeys.
-
ביצוע פעולה או סדרת פעולות כאשר מסד נתונים נפתח בפעם הראשונה. לשם כך יש ליצור מאקרו בשם AutoExec.
הערה: המאקרו AutoExec פועל לפני כל פקודות המאקרו האחרות או קוד ה- VBA, גם אם הגדרת טופס אתחול בתיבת הדו-שיח אפשרויות Access וצירפת מאקרו או קוד VBA לאירוע OnOpen או OnLoad של טופס זה.
לקבלת מידע נוסף על בניית פקודות מאקרו, ראה סעיף הכרת פקודות מאקרו.
שיקולים לגבי VBA
עליך להשתמש בתיכנות VBA במקום בפקודות מאקרו אם ברצונך לבצע אחת מהפעולות הבאות:
-
השתמש בפונקציות מוכללות, או צור פונקציות משלךAccess פונקציות מוכללות רבות, כגון הפונקציה IPmt , המחשבת תשלום ריבית. באפשרותך להשתמש בפונקציות מוכללות אלה כדי לבצע חישובים מבלי שתצטרך ליצור ביטויים מורכבים. באמצעות קוד VBA, תוכל גם ליצור פונקציות משלך כדי לבצע חישובים שחורגים מהיכולת של ביטוי או כדי להחליף ביטויים מורכבים. בנוסף, באפשרותך להשתמש בפונקציות שאתה יוצר בביטויים כדי להחיל פעולה משותפת על יותר מאובייקט אחד.
-
יצירה או טיפול באובייקטים ברוב המקרים, תוכל לגלות שהכי קל ליצור ולשנות אובייקט בתצוגת עיצוב של אובייקט זה. עם זאת, במקרים מסוימים, ייתכן שתרצה לטפל בהגדרה של אובייקט בקוד. באמצעות VBA, באפשרותך לטפל בכל האובייקטים במסד נתונים, בנוסף למסד הנתונים עצמו.
-
ביצוע פעולות ברמת המערכת באפשרותך לבצע את הפעולה RunApp במאקרו כדי להפעיל תוכנית אחרת (כגון Microsoft Excel) מתוך Access, אך לא ניתן להשתמש במאקרו כדי לבצע פעולות רבות מחוץ Access. באמצעות VBA, באפשרותך לבדוק אם קיים קובץ במחשב, להשתמש באוטומציה או ב חילופי מידע דינאמיים (DDE) כדי לקיים תקשורת עם תוכניות אחרות המבוססות על Microsoft Windows, כגון Excel ופונקציות שיחה בספריות קישור דינאמי (DLL) של Windows.
-
טיפול ברשומות ב אחת בכל פעם באפשרותך להשתמש ב- VBA כדי לעבור בין ערכה של רשומות, רשומה אחת בכל פעם, ולבצע פעולה בכל רשומה. לעומת זאת, פקודות מאקרו פועלות עם קבוצות שלמות של רשומות בו-זמנית.
שימוש באשף לחצני הפקודה לביצוע משימות תיכנות נפוצות
אם אתה מוסיף לחצן פקודה לטופס, אשף לחצני הפקודות יכול לעזור לך להתחיל בעבודה עם תיכנות. האשף מסייע לך ליצור לחצן פקודה שמבצע משימה ספציפית. בקובץ Access (.accdb), האשף יוצר מאקרו המוטבע במאפיין OnClick של לחצן הפקודה. בקובץ .mdb או .adp, האשף יוצר קוד VBA, מכיוון שפקודות מאקרו מוטבעות אינן זמינות בתבניות קובץ אלה. בכל אחד מהמקרים, באפשרותך לשנות או לשפר את המאקרו או את קוד ה- VBA כדי להתאימם בצורה מיטבית לצרכיך.
-
בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על הטופס שברצונך להוסיף לו את לחצן הפקודה, ולאחר מכן לחץ על תצוגת עיצוב.
-
בכרטיסיה עיצוב טופס, לחץ על החץ למטה כדי להציג את גלריית הפקדים ולאחר מכן ודא שהאפשרות השתמש באשפי בקרה נבחרה.
-
בכרטיסיה עיצוב טופס , בגלריית הפקדים , לחץ על לחצן.
-
ברשת העיצוב של הטופס, לחץ במקום שבו ברצונך למקם את לחצן הפקודה.
אשף לחצני הפקודה יופעל.
-
בעמוד הראשון של האשף, לחץ על כל קטגוריה ברשימה קטגוריות כדי לראות אילו פעולות האשף יכול לתכנת לביצוע על-ידי לחצן הפקודה. ברשימה פעולות, בחר את הפעולה הרצויה לך ולאחר מכן לחץ על הבא.
-
לחץ על האפשרות טקסט או על האפשרות תמונה, בהתאם לבחירתך אם להציג על לחצן הפקודה טקסט או תמונה.
-
אם ברצונך להציג טקסט, באפשרותך לערוך את הטקסט בתיבה לצד האפשרות טקסט.
-
אם ברצונך להציג תמונה, האשף יציע תמונה מהרשימה. אם ברצונך לבחור תמונה אחרת, בחר בתיבת הסימון הצג את כל התמונות כדי להציג רשימה של כל התמונות של לחצני הפקודה Access, או לחץ על עיון כדי לבחור תמונה המאוחסנת במקום אחר.
לחץ על הבא.
-
-
הזן שם בעל משמעות עבור לחצן הפקודה. זהו שלב אופציונלי, ושם זה אינו מוצג על לחצן הפקודה. עם זאת, מומלץ להזין שם בעל משמעות כך שכאשר עליך להתייחס ללחצן הפקודה במועד מאוחר יותר (לדוגמה, אם אתה מגדיר את סדר המעבר באמצעות מקש טאב בין פקדים בטופס), יהיה קל יותר להבחין בין לחצני הפקודות. אם לחצן הפקודה סוגר את הטופס, לדוגמה, תוכל להעניק לו את השם cmdClose או CommandClose.
-
לחץ על סיום.
Access מציב את לחצן הפקודה בטופס.
-
אם ברצונך לראות מה האשף "תיכנת" עבורך, בצע שלבים אופציונליים אלה:
-
אם גליון המאפיינים אינו מוצג כבר, הקש F4 כדי להציגו.
-
לחץ על הכרטיסיה אירוע בגליון המאפיינים.
-
בתיבת המאפיין בעת לחיצה, לחץ על לחצן בנה .
Access את בונה המאקרו ומציג את המאקרו שהאשף יצר. באפשרותך לערוך את המאקרו אם תרצה בכך (לקבלת מידע נוסף על עריכת מאקרו, ראה סעיף הכרת פקודות מאקרו). לאחר שתסיים, בכרטיסיה עיצוב מאקרו , בקבוצה סגור, לחץ על סגור כדי לסגור את בונה המאקרו. אם Access לשמור את השינויים ולעדכן את המאפיין, לחץ על כן כדי לשמור את השינויים או על לא כדי לדחות את השינויים.
-
-
בכרטיסיה עיצוב טופס , בקבוצה תצוגות, לחץ על תצוגה ולאחר מכן לחץ על תצוגת טופס. לחץ על לחצן הפקודה החדש כדי לוודא שהוא פועל כמצופה.
הכרת פקודות מאקרו
מאקרו הוא כלי המאפשר לך להפוך משימות לאוטומטיות ולהוסיף פונקציונליות לטפסים, לדוחות ולפקדים. לדוגמה, אם תוסיף לחצן פקודה לטופס, תשייך את מאפיין האירוע On Click של הלחצן למאקרו שמכיל את הפקודות שברצונך שהלחצן יבצע בכל פעם שלוחצים עליו.
מומלץ לחשוב על 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 כדי להציג אותו.
-
בכרטיסיה אירוע של גליון המאפיינים, לחץ על תיבת מאפיין כלשהי המציגה את [פרוצדורת אירוע], ולאחר מכן לחץ על לחצן 'בנה' . כדי להציג את מאפייני האירוע עבור פקד ספציפי, לחץ על הפקד כדי לבחור אותו. כדי להציג את מאפייני האירוע עבור הטופס או הדוח בשלמותם, בחר טופס או דוח מהרשימה הנפתחת, בחלק העליון של גליון המאפיינים.
Access את עורך Visual Basic ומציג את פרוצדורת האירוע במודול המחלקה שלו. באפשרותך לגלול למעלה או למטה כדי להציג פרוצדורות אחרות שנמצאות באותו מודל מחלקה.
-
המרת פקודות מאקרו כלליות
-
בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על המאקרו שברצונך להמיר ולאחר מכן לחץ על תצוגת עיצוב.
-
בכרטיסיה עיצוב מאקרו , בקבוצה כלים, לחץ על המרת פקודות מאקרו ל- Visual Basic.
-
בתיבת הדו-שיח המרת מאקרו, בחר את האפשרויות הרצויות ולאחר מכן לחץ על המר.
Access את המאקרו ופתח את עורך Visual Basic.
-
כדי להציג ולערוך את קוד ה- VBA:
-
בעורך Visual Basic, אם החלונית Project Explorer לא מוצגת, בכרטיסיה View, לחץ על Project Explorer.
-
הרחב את העץ תחת השם של מסד הנתונים שבו אתה עובד.
-
תחת מודולים, לחץ פעמיים על המודול מאקרו מומר - שם המאקרו.
עורך Visual Basic יפתח את המודול.
-
צירוף פונקציית VBA למאפיין אירוע
בעת המרת מאקרו כללי ל- VBA, קוד ה-VBA ימוקם במודול רגיל. שלא כמו מודול של מחלקה, מודול רגיל אינו חלק של טופס או של דוח. סביר להניח שתרצה לשייך את הפונקציה למאפיין אירוע בטופס, בדוח או בפקד, כך שהקוד יפעל בדיוק בזמן ובמקום שתרצה. לשם כך, באפשרותך להעתיק את קוד ה- VBA למודול מחלקה ולאחר מכן לשייך אותו למאפיין אירוע, או לבצע קריאה מיוחדת ממאפיין האירוע אל המודול הרגיל באמצעות ההליך הבא.
-
בעורך Visual Basic, רשום את שם הפונקציה. לדוגמה, אם המרת מאקרו בשם MyMacro, שם הפונקציה יהיה MyMacro().
-
סגור את עורך Visual Basic.
-
בחלונית הניווט, לחץ באמצעות לחצן העכבר הימני על הטופס או הדוח שאליהם ברצונך לשייך את הפונקציה, ולאחר מכן לחץ על תצוגת עיצוב.
-
לחץ על הפקד או המקטע שאליו ברצונך לשייך את הפונקציה.
-
אם גליון המאפיינים אינו מוצג כבר, הקש F4 כדי להציגו.
-
בכרטיסיה אירוע של גליון המאפיינים, לחץ על תיבת המאפיין של האירוע שאליו ברצונך לשייך את הפונקציה.
-
בתיבת המאפיין, הקלד סימן שוויון (=) ואחריו את שם הפונקציה — לדוגמה, =MyMacro() . הקפד לכלול את הסוגריים.
-
שמור את הטופס או הדוח על-ידי לחיצה על שמור בסרגל הכלים לגישה מהירה.
-
בחלונית הניווט, לחץ פעמיים על הטופס או הדוח ולאחר מכן בדוק אותם כדי לוודא שהקוד פועל כראוי.
כעת אתה מכיר את השלבים הבסיסיים להוספת קוד VBA למסד הנתונים שלך. מאמר זה מתאר רק את היסודות של אופן תחילת העבודה; ישנם ספרי עיון רבים והמשאבים המקוונים מצוינת, אשר יכולים לעזור לך לבנות את כישורי התיכנות שלך.
למידע נוסף
יצירת מאקרו של ממשק משתמש (UI)
הפעלת מאקרו ב- Access באמצעות קיצור מקשים
הפיכת אירועי אתחול לאוטומטיים באמצעות מאקרו
יצירת מאקרו המופעל בעת פתיחת מסד נתונים