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

כתוכניתן, מעולם לא חשבתי שיש לי את הזכות לומר ללקוחותיי "תשמע, זה בלתי אפשרי" (למעט מקרים ספורים כמופיע בספרו של דוד הראל "דברים שהמחשב לא יכול לעשות"), למרות זאת, נתקלתי פעמים מספר במפתחים שציינו כי לא ניתן לקשר Subform ב-Access 2003 לתוצאות המוחזרות מ-Stored Procedure. ובכן הדבר בהחלט ניתן, רצוי ואף לא מסובך במיוחד. למעשה, אף קיימות מספר דרכים לבצע זאת. יתירה מזאת, היות וכל שאילתה המופנית לשרת ה-SQL מפוענחת קודם לכן על ידי מנגנוני ה-Access על מנת לוודא כי אכן היא ניתנת להרצה ב-SQL Server, במידה ולא יבוצעו רק החלקים הניתנים להרצה ב-SQL Server והשאר יבוצע ב-Access המקומי, כך שחשוב לדאוג ככל האפשר לכך שהשאילתות יורצו בשרת ה-SQL לטובת ביצועי המערכת, אחת האפשרויות הטובות לעשות זאת היא להשתמש ב-Stored procedures. להלן הפרטים לגבי האפשרות הראשונה כיצד לעשות זאת:

אפשרות א' – הקמת פרויקט המשתמש בנתונים:

1. בשלב הראשון, בונים את מסד הנתונים ובונים את ה-Stored Procedures הנחוצות למערכת שלנו. זאת ניתן לעשות ע"י בחירה באפשרות Create new database בממשק הניהול, מתן שם למסד הנתונים ולאחר מכן הקמה של טבלאות, פרוצדורות שמורות, פונקציות וכל מה שצריך:
יצירת מסד נתונים חדש
הקמת פרוצדורה שמורה
2. כעת, משהקמנו את מסד הנתונים ניתן להקים ולקשר פרויקט Access אליו לצורך הפעלת הפרוצדורות השמורות הקיימות בו. נקים את הפרויקט על-ידי בחירה ב-"פרויקט המשתמש בנתונים קיימים":

הקמת פרויקט אקסס

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

פרטי מסד הנתונים

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

טבלאות בפרויקט החדש

5. כמו כן, נוכל לראות כי גם השאילתות המוצגות ב-Access הן למעשה השגרות המאוחסנות שבנינו:

שאילתות בפרויקט החדש

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

הקמת טופס - שלב א'

הקמת טופס - שלב ב'

בניית טופס - שלב ג'

בניית טופס - שלב ד'

בניית טופס - סיום

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

תוצאות - הפעלת הטופס

8. לאחר שהזנו ערך עבור הפרמטר שלנו, נוכל לראות שה-Stored procedure בוצעה ואכן החזירה לנו רק שורה אחת:

הצגת הטופס - דוגמא 1

9. אם נציג את נתוני הטבלה ישירות נוכל לראות כי קיימות שורות נוספות שסוננו על-ידי ה-Stored procedure:

תוצאות - נתוני הטבלה

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

השאר תגובה