בעת יצירת מסד נתונים חדש, בדרך כלל תוכל להתחיל על-ידי יצירת אובייקטי מסד נתונים, כגון טבלאות, טפסים ודוחות. בשלב מסוים, ייתכן שיהיה עליך להוסיף תיכנות כדי להפוך תהליכים לאוטומטיים ולחבר אובייקטים אלה. מאמר זה מציג את כלי התיכנות ב- Access.
במאמר זה
- מהו תיכנות?
- האם עליי להשתמש בפקודות מאקרו או בקוד VBA?
- שימוש באשף לחצני הפקודה לביצוע משימות תיכנות נפוצות
- הכרת פקודות מאקרו
- הכרת קוד VBA
- המרת פקודות מאקרו לקוד VBA
מהו תיכנות?
ב- Access, תיכנות פירושו להוסיף פונקציונליות למסד הנתונים שלך באמצעות פקודות מאקרו של Access או קוד Visual Basic for Applications (VBA). לדוגמה, באפשרותך ליצור טופס ודוח ולאחר מכן להוסיף לחצן פקודה לטופס שיפתח את הדוח בעת בחירתו. במקרה זה, עליך ליצור מאקרו או VBA פרוצדורה ולאחר מכן להגדיר את מאפיין האירוע של OnClick לחצן הפקודה כך שלחצן הפקודה יפעיל את המאקרו או הפרוצדורה. עבור פעולה פשוטה, כגון פתיחת דוח, באפשרותך להשתמש באשף לחצני פקודות כדי לבצע את העבודה, או לבטל את האשף ולתכנת אותו בעצמך.
הערה
תוכניות רבות של Microsoft Office משתמשות במונח "מאקרו" כדי להתייחס לקוד VBA . זה עלול לבלבל את משתמשי Access, מכיוון שב- Access המונח "מאקרו" מתייחס לאוסף פעולות מאקרו עם שם, שאתה מרכיב באמצעות בונה מאקרו. פעולות המאקרו של Access מייצגות רק קבוצת משנה של הפקודות הזמינות ב- VBA. בונה המאקרו מספק ממשק מובנה יותר מזה של Visual Basic Editor, כך שתוכל להוסיף תיכנות לפקדים ולאובייקטים מבלי ללמוד VBA קוד. במאמרי העזרה של Access, פקודות המאקרו של Access נקראות פקודות מאקרו.
VBA קוד נקרא VBA קוד, פונקציה או פרוצדורה.
VBA קוד מאוחסן במודולי מחלקה, שהם חלק מטפסים או דוחות בודדים ובדרך כלל מכילים קוד עבור אובייקטים אלה בלבד, ובמודולים שאינם קשורים לאובייקטים ספציפיים ובדרך כלל מכילים קוד כללי שניתן להשתמש בו בכל מסד הנתונים.
לאובייקטים כגון טפסים ודוחות ולפקדים כגון לחצני פקודות ותיבות טקסט יש מאפייני אירוע שאליהם ניתן לצרף פקודות מאקרו או פרוצדורות. לכל מאפיין האירוע משויך אירוע ספציפי, כגון לחיצה על העכבר, פתיחת טופס או שינוי נתונים בתיבת טקסט. ניתן להפעיל אירועים גם באמצעות גורמים מחוץ ל- Access, כגון אירועי מערכת, או באמצעות פקודות מאקרו או פרוצדורות המצורפות לאירועים אחרים. מסד הנתונים יכול להפוך למורכב אם תוסיף פקודות מאקרו או פרוצדורות רבות למאפייני אירועים רבים באובייקטים רבים. עם זאת, ברוב המקרים, תוכל להשיג את התוצאות הרצויות באמצעות מעט מאוד תיכנות.
האם עליי להשתמש בפקודות מאקרו או בקוד VBA?
ההחלטה אם להשתמש בפקודות מאקרו, או בשתיהן, VBAתלויה בעיקר באופן שבו אתה מתכוון לפרוס או להפיץ את מסד הנתונים. לדוגמה, אם מסד הנתונים מאוחסן במחשב שלך, אתה המשתמש היחיד ואתה חש בנוח להשתמש בקוד VBA , ייתכן שתחליט להשתמש בו VBA עבור מרבית משימות התיכנות. עם זאת, אם בכוונתך לשתף את מסד הנתונים עם אנשים אחרים מתוך שרת קבצים, מומלץ להימנע ממנו VBA עקב שיקולי אבטחה.
בסס את ההחלטה אם להשתמש בפקודות מאקרו או VBA בקוד על שני שיקולים עיקריים: אבטחה והפונקציונליות הרצויה לך. האבטחה חשובה מכיוון VBA שניתן להשתמש בה כדי ליצור קוד שמסכן את הנתונים שלך או פוגע בקבצים במחשב שלך. כאשר תשתמש במסד נתונים שמישהו אחר יצר, הפוך את הקוד לזמין VBA רק אם ידוע לך שמסד הנתונים מגיע ממקור מהימן. בעת יצירת מסד נתונים שאנשים אחרים ישתמשו בו, נסה להימנע מהוספת כלי תיכנות שמחייבים את המשתמש לתת אמון מפורש במסד הנתונים. טכניקות כלליות למניעת דרישה זו מופיעות בהמשך סעיף זה.
כדי לסייע באבטחת מסד הנתונים, נסה להשתמש בפקודות מאקרו כאשר הדבר אפשרי, ולהשתמש VBA בהן רק לפעולות שאינן ניתנות לביצוע באמצעות פעולות מאקרו. בנוסף, נסה להשתמש רק בפעולות מאקרו שאינן דורשות מתן אמון במסד הנתונים לפני הפעלתו. הגבלת פעולות המאקרו בדרך זו עוזרת למשתמשים להרגיש בטוחים שמסד הנתונים לא מכיל תיכנות שעלול להזיק לנתונים או לקבצים אחרים במחשבים שלהם.
שיקולים לגבי פקודות מאקרו
Access מכיל פעולות מאקרו רבות המאפשרות לך לבנות פקודות מאקרו חזקות יותר מאלה שגירסאות קודמות של Access אפשרו. לדוגמה, כעת באפשרותך ליצור משתנים זמניים כלליים ולהשתמש בהם באמצעות פעולות מאקרו, ואף לטפל בשגיאות באופן מבוקר יותר באמצעות פעולות מאקרו חדשות לטיפול בשגיאות. בגירסאות קודמות של Access, תכונות אלה היו זמינות רק ב VBA. באפשרותך גם להטביע מאקרו ישירות במאפיין האירוע של אובייקט או פקד. מאקרו מוטבע הופך לחלק מהאובייקט או מהפקד ונשאר עמם אם האובייקט או הפקד מועבר או מועתק.
פקודות מאקרו מספקות דרך קלה לטיפול במשימות תיכנות רבות, כגון פתיחה וסגירה של טפסים והפעלת דוחות. תוכל לאגד יחד במהירות את אובייקטי מסד הנתונים, כגון טפסים ודוחות, שיצרת מאחר שמומלץ לזכור מעט מאוד תחביר. הארגומנטים עבור כל פעולה מוצגים בבונה המאקרו.
בנוסף לאבטחה המשופרת ולקלות השימוש שפקודות מאקרו אלה מספקות, עליך להשתמש בפקודות מאקרו כדי לבצע את המשימות הבאות:
הקצאת פעולה או סידרת פעולות למפתח. לשם כך יש ליצור קבוצת פקודות מאקרו בשם
AutoKeys.ביצוע פעולה או סדרת פעולות כאשר מסד נתונים נפתח בפעם הראשונה. לשם כך יש ליצור מאקרו בשם
AutoExec.הערה
המאקרו
AutoExecפועל לפני כל פקודת מאקרו אוVBAקוד אחרים, גם אם ציינת טופס אתחול בתיבת הדו-שיח 'אפשרויות Access' וצירפת מאקרו אוVBAקוד לטופס אוOnLoadלאירוע שלOnOpenאותו טופס.
לקבלת מידע נוסף אודות בניית פקודות מאקרו, ראה הכרת פקודות מאקרו.
שיקולים לגבי VBA
השתמש VBA במקום פקודות מאקרו אם ברצונך לבצע אחת מהפעולות הבאות:
- השתמש בפונקציות מוכללות או צור פונקציות משלך. Access כולל פונקציות מוכללות רבות, כגון
IPmt, שמחשבת תשלומי ריבית. באפשרותך להשתמש בפונקציות אלה כדי לבצע חישובים מבלי ליצור ביטויים מורכבים. באמצעותVBA, תוכל גם ליצור פונקציות משלך כדי לבצע חישובים שחורגים מהיכולת של ביטוי או כדי להחליף ביטויים מורכבים. בנוסף, באפשרותך להשתמש בפונקציות שאתה יוצר בביטויים כדי להחיל פעולה משותפת על יותר מאובייקט אחד. - ליצור אובייקטים או לטפל בהם. ברוב המקרים, קל יותר ליצור ולשנות אובייקט בתצוגת 'עיצוב' של אובייקט זה. עם זאת, במצבים מסוימים, ייתכן שתרצה לטפל בהגדרה של אובייקט בקוד. באמצעות
VBA, באפשרותך לטפל בכל האובייקטים במסד נתונים, וכן במסד הנתונים עצמו. - ביצוע פעולות ברמת המערכת. באפשרותך לבצע את הפעולה
RunAppבמאקרו כדי להפעיל תוכנית אחרת, כגון Microsoft Excel, מתוך Access, אך לא ניתן להשתמש במאקרו כדי לבצע פעולות רבות אחרות מחוץ ל- Access. באמצעותVBA, באפשרותך לבדוק אם קובץ קיים במחשב, להשתמש באוטומציה או בחילופי מידע דינאמיים (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 באמצעות קיצור מקשים
הפיכת אירועי אתחול לאוטומטיים באמצעות מאקרו
יצירת מאקרו המופעל בעת פתיחת מסד נתונים