המדריך השלם VBA 2000 ACCESS

תרגום – במילים אחרות תיעוד ; עריכה לשונית ועיצוב – ענת קדם צבי, שרה עמיהוד ; עריכה מקצועית – ארז ירון, איל גוטליב | 580, 43, 16 עמודים : איורים ; 24 ס"מ + 1 תקליטור. – ISBN 965-361-206-9

OCR (הסבר)
המדריך השלם 6660555 0 / 5 ז501סזשו!/!ו יש להתעלם מכל מה שנכתב על התקליטור את קוד המקור ניתן להוריד מאתר הוד-עמי בתיקיה "קבצי תרגול לספרים" עורך ראשי ומקצועי: יצחק עמיהוד תרגוס: במילים אחרות תיעוד בע''מ עריכה לשונית ועיצוב: ענת קדם צבי, שרה עמיהוד עריכה מקצועית : ארז ירון איל גוטליב, מנהל מרכו התמיכה של מיקרוסופט ישראל אינדקס: זהר עמיהוד עיצוב עטיפה: סטודיו מצגר שמות מסחריים שמות המוצריס והשירותיס המוזכריס בספר הינס שמות מסחריים רשומיס של החברות שלהסם. הוצאת 5 11070500)6%] והוצאת הוד-עמי עשו כמיטב יכולתן למסור מידע אודות השמות המסתריים המוזכרים בספר זה ולציין את שמות החברות, המוצרים והשירותים. שמות מסחריים רשומים (%7806708785 7691556760) המוזכריס בספר צוינו בהתאמה. 5וססחו/ ו-066106 הינס מוצריס רשומיס של חברת 167050%]. הודעה ספר זה מיועד לתת מידע אודות מוצריס שונים. נעשו מאמציס רביס לגרוס לכך שהספר יהיה שלס ואמין ככל שניתן, אך אין משתמעת מכך כל אחריות שהיא. המידע ניתן יכמות שהוא' ("5ו 85"). הוצאת 655ז 670506 והוצאת הוד-עמי אינן אחראיות כלפי יחיד או ארגון עבור כל אובדן או נזק אשר ייגרס, אס ייגרס, מהמידע שבספר זה, או מהתקליטור המצורף לו. לשם שטף הקריאה כתוב ספר זה בלשון זכר בלבד. ספר זה מיועד לגברים ונשים כאחד ואין בכוונתנו להפלות או לפגוע בציבור המשתמשים/ות. ב) טלפון: 09-9564716 ב) פקס: 09-9571582 [) דואר אלקטרוני: |ו.60.וחב06000-3+חו ב אתר באינטרנט: |60.1. ווח ב -100].שעש המדריך השלם 0 66655 ה ריק דובסון 60ח6ו658ס וו הוצאת הוד-עמי " זא פוססחו לספרי מחשבים | 7555/ ]4/07/0508 | 000608 0 66655/ +60501ו1] הווהוחבּיוטסיוק הס5סכ א6ו₪ ץ 5 )111670504 עכ 60ח8!ו|סוק הווחה .1 :זס0= הסוס זסכןזס6 050%ה6ווי] עס 1999 .6 %ח8הץקס6 .ח0050כ א6ו₪ עט 1999 %ח8הץק60 הסחו60 1300806 הפוופַחם |החופוזס ,5 1167050 ,זסח5ו|סטק |החוףוזס 6ח+ חטוצו +ה6וח6שחהזוהּ עס הסתפוופטק סח ווה ,ח0ל0חוח35/ , הסור ₪60 ,הסטהזסקזס6 50%סזסו 01 חסופוצום בּ ץם 60ח8ו!ס טכ הס0ו60 00806ח3! עוסזסס 0 66 %ח8הץ600 .10 ווחהה-0סז )0( כל הזכויות שמורות הוצאת הוד-עמי לספרי מחשבים בע'ימ ת.ד. 6108 הרצליה 46160 טלפון: 09-9564716 פקס: 09-9571582 |ו.סס6.וַהְהִבּ-00 06+חו אין להעתיק או לשדר בכל אמצעי שהוא ספר זה או קטעים ממנו בשום צורה ובשום אמצעי אלקטרוני או מכני, לרבות צילום והקלטה, אמצעי אחסון והפצת מידע, ללא אישור בכתב מאת ההוצאה, אלא לשם ציטוט קטעים קצרים בציון שם המקור. הודפס בישראל 2000 (כולל התאמה לעברית) 0/ 5סחטו ווה .יש! זוזה-ססוז 8ן|2ז6 ,6108 .0.8.ק 0 ,15851 מסת'יב 965-361-206-9 158% תוכן עניינים מקוצר פרק 1: היכרות עם 23 :בי בכ:52::ובב 2 פרק 2: מודלי גישה לנתונ'ים........:5555999999999099990י5.55555. 85 פרק 3: עיצוב טבלאות :5.2 155 פרק 4: טיפול בנתונים באמצעות שאילתות ...........111155556 199 פרק 5: בניית ממשק משתמש באמצעות טפסים.............. 269 פרק 6: יצירת דוחות .2121 307 פרק 7: מודולי מחלקה, טופס |ד1155555555555000999990.......0. 335 פרק 8: אובייקטי 011166 11070501%] ::1551555555555559999999990. 369 פרק 9: שילוב 466655 עם יישומי 014166 אחרים .......1111566 409 פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים ........... 439 פרק 11: שכפול מסדי נתונים ......:111111.566555555559999009999 467 פרק 12: בניית פתרונות עם 1505 ופרויקט' 66655( ........ 497 פרק 13: 2000 466655 |[ה-762/ ...1515555555555556500999999990. 537 פרק 14: מהדורת 2000 0111606 למפתחים (11555........)025 567 אינדקס הוו.ההההההההההההההה ה ההההההה ה הההההה ה ה ההההה ה ה הההה ה ההההה התה .הויו 1 תוכן עניינים מקוצר | 5 תוכן עניינים הקדכ ה::::::::,,:::::וווווווווווו,יווווווווווווווווווווווווווווויייי:: 15 על 2000 06655 ...15 רכיביסם חדשיס ב- 2000 66655 1 על הספר 1 קהל חיעד ב 19 תולת קול המק 1000007006 מוסכמות בהן נעשה שימוש בספר )זה 2 פרק 11 היכרות עם :שג 21 אוספים, אובייקטים, מאפיינים, שיטות ואירועיס 7 אוספיס ואובייקטיס 2 אירועיס ל שגרות ומודוליס 27 שגרות משנה 7 שגרות פונקציה 7 שגרות מאפיין ןו מודוליס .2 ממשק 85 0 חלונות ם8 2.15 סורק האובייקטיס 0 %, סוגי נתוניס והצהרות 0 1% 1 סוגי נתוניס .| הצהרות ...47 לוגיקה של התניות ומבני לולאה 7 הסחד.. .1 50 6) 56606 ל %%)...זס ל 6%)... 86 זסת ו- הזו\ סחם... האוע ל תוכן עניינים | 7 פונקציות מוכללות 6 תקציר פונקציות נבחרות 2 ניפוי באגיס ולכידת שגיאות 0 לכידת שגיאות - תחביר בסיסי ...4 דוגמאות ללכידת שגיאות 7 העלאת שגיאות 0 פקודות מאקרו ]|| תכנון פקודות מאקרו 1 84 לעומת פקודות מאקרו .8 פרק 2: מודלי גישה ורי 5 סקירה כללית על 0גס ...0.1 סביבות העבודה של 360 2 סביבות העבודה של 00860176 7 אובייקטיס המשותפיסם לסביבות העבודה של 26% ו-1766פ0086 577 אובייקטי סביבת העבודה של 360% 0 אובייקטי סביבת העבודה של 00860160 6 סקירה כללית על 00 7 הספריה 08סכג ב 1 הספריה אססג 1 פרק 3: עיצוב טבלאות הההההההההההההההה ה ה ההההה ה ה ההההה ה[ ההההה םהה .ה הויו 15 טבלאות ומסדי נתוניס יחסייס 1 נרמול 1 קשרי גומלין בין טבלאות ...159 יצירת טבלאות באמצעות אשפים 1 אשפי מסד הנתוניס 162 אשף הטבלאות ו בונה השדות 1 יצירת טבלה באופן ידני .165.5 סוגי נתוניס 165 אימות נתוניס 1 יצירת אינדקסיס 1 יצירה וניהול של טבלאות באמצעות קוד 1 יצירת טבלה .34 ...178.0 עבודה עס אינדקסים 1 אכלוס טבלה באופן דינמי :188.10 עבודה עס נתוניס בתבניות אחרות 1 406655 2000 8 8 פרק 4: טיפול בנתונים באמצעות שאילתות .........11111155666 0 199 סקירת סוגי שאילתות 2 שאילתות בחירה 56|660) .2002 שאילתות פעולה (ח600) 0 סוגי שאילתה אחריס ו ל 20 פעולות להגדרת נתוניס 2 עבודה עס מקורות נתוניס מרוחקיס 20 עיצוב שאילתות באופן ידני 07 שימוש באשפיס 20 שימוש בתצוגה עיצוב 2 שאילתות בחירה מיוחדות 0 2 שאילתות פרמטר ד 2 שאילתות פעולה ...24 שאילתות עדכון 2 שאילתות הוספה 2 שאילתות מחיקה 2 שאילתות יצירת טבלה 2 תכנות שאילתות באמצעות 501 ו-400 0 משפטי ז60= 551 ל פונקציות הגדרת נתוניס 9 תצוגות ושגרות מאוחסנות - 1 הפעלת שאילתות על מקורות נתוניס מרוחקיס 2 הפעלת שאילתות על מקורות 0086 מקושרים .201 הפעלת שאילתות בפרויקט נתוניס של 4606655 0 תכנות שאילתות עבור מסדי נתוניס מרוחקיס 6 פרק 5: בניית ממשק משתמש באמצעות טפס'ם.............. 269 טופס מסך פתיחה 27 יצירת מסך פתיחה 0 בקרה על משך התצוגה 2 טופס מסך ניווט 110 בג4ב-... 272 ניווט בעזרת היפר-קישוריס 2 ניווט באמצעות קוד 2-7 קישור טפסים לנתוניס 2 שימוש באשף הטפסיס האוטומטייס 76 עיצוב מותנה ל .277.41 טפסי משנה 2 בדיקת מידע והצגת נתוניס ו 0 הוולו ...281.0 יצירת טופס בדיקת מידע 1 הצגת מידע דינמית - 0 תוכן עניינים | 9 יצירת תרשיס מקבוצות משנה של נתוניס טיפול בקבציס באמצעות 88 מספור טפסים ופקדיס הסתרה והצגה של טפסים מספור טפסיס בפרויקט אחר שימוש במחלקות טופס הצגת מאפייניסם ושיטות של מחלקת טופס טיפול במחלקות טופס הפניות למופעי מחלקת טופס פרק 6: יצירת דוה|([:::::::::ו::::ו:ו:וואוצוווואוצוווווווווווו::::: 201 כיצד ליצור דוח שימוש באשף הדוחות האוטומטייס שימוש באשפים נוספיס יצירה ידנית של דוח בתצוגת עיצוב מקרה לדוגמה: ספר האורחים של סחָ628חסז= ייבוא נתוניס המרת מבנה הנתוניס יצירת תוויות מען יבירת מכתב אחיד מיון, קיבוצ וחישוב יצירת דוחות מרובי עמודות שימוש באשף הדוחות יצירת דוח מותאס אישית הפצת דוחות באמצעות תמונות יצירת תמונה הצגת תמונה 00ח805ח5) שימושיס נוספיס בתמונות הפיכת דוח לדינמי עיצוב והוספת תוכן סיכוס ערכי דף עדכון דוח באופן דינמי טיפול בדוחות ובפקדי דוח באמצעות קוד מספור דוחות - ה שינוי מאפייני פקד דוח משלוח תמונות 0 חש 2000 460655 פרק 7: מודולי מחלקה, טופס וד||]::::::אוווווואוווווווווווו::::: 225 סוגי מודוליס 6 מודולי מחלקה .330 פונקציות מאפיין ושיטות מותאמות אישית .-//-/-/- 0 יצירת מופעים של מחלקות 2 מחלקות ואירועיס מותאמיס אישית ה שיטות ומאפייניס מותאמיס אישית 0 חשיפת מאפיינים באמצעות משתנה ציבורי 8 חשיפת מאפייניס באמצעות פונקציית מאפיין ל משתניס ציבורייס לעומת פונקציות מאפיין 2 מודולי מחלקה ומקורות נתוניס 2 מקרה לדוגמה: תכנות ממשק כניסה בסיסי 0 טופס הכניסה הראשון .34220 טופס הכניסה השני 2 תכנות אירועיס לתוך מחלקות מותאמות אישית 0 שתי מחלקות אירועים מוכללות 2 שימוש במילת המפתח שח6עםחטו/\ ללכידת אירועיס שהופצו 0 מודוליס סטנדרטיים הגורמיס לאירועיס 7 שימוש באוספי 411 0 מאפייני 6665500166 2 האוספים ||4 2 מספור חברי האוסף ||4 מ התאמה לסוגי הקבצים פ0ח.* ו-ס80.* ...360 5וחוס=|!ג. ו-65!טססוו|ה 200 עריכת מודולים באמצעות קוד ...302 גישות עריכה 7 הוספת טקסט למודוליס 6 מחיקת טקסט ממודוליםס 2 הוספת טקסט למודולי מחלקת טופס 26 מחיקת טקסט ממודולי מחלקת טופס 300 פרק 8: אובייקטי 011106 +11070501] ::11511555555555559999999999 369 שימוש באובייקטיס המשותפים של 07666 ל האובייקט ה656876!= 0 ניהול חיפוש קובץ בסיסי 7 מיון הקבוצה המוחזרת .374 חיפוש המבוסס על תוכן הקוב 7 הכללת קריטריוני חיפוש מרוביס 2 האובייקט %ח25515%8 0 מסייעים 2 תוכן עניינים | 11 האובייקט 31 חח 60 םפש מ ספירת האלמנטים בסרגלי פקודות 2 טיפול בסרגלי פקודות מוכללים 7[ יצירת סרגלי פקודות מותאמיסם אישית ...401 שינוי סרגלי פקודות מותאמיס אישית .0 יצירת סרגלי פקודות מוקפציס 7 מחיקת סרגלי פקודות מותאמים אישית 0 פרק 9: שילוב 466655 עם יישומי 014166 אחרים .......1115265 409 קישור 8460655 ליישומי 0866 אחריס .410 מנהלי 15416 ברי התקנה 10 השיטה 0309500706 חק ב אוטומציה 0 050 05 0 ד ו 1 עבודה עס |68א5 מתוך 60655 ל עבודה עס ערכים מתוך גליונות עבודה של |66א= 1 יצירה דינמית של טבלאות 8466655 המבוססות על גליונות עבודה של |66א5 144 הפעלת שגרות |66א5 מתוך שגרות 06655 2 עבודה עס 000% מתוך 60655 0 ספירת פריטיס בתיקיה אנשי קשר ו הוספת פריט לתיקיה אנשי קשר 0 מחיקת פריט מהתיקיה אנשי קשר ל 0 42 הוספת פריטיס מרוביס לתיקיה אנשי קשר 0 מחיקת פריטיס מרוביס מהתיקיה אנשי קשר 8 12 עבודה עס 6זס/\ מתוך 60655 2 אוטומציה של 6זס/ מתוך 406655 0 הפקת תוויות מען בל 43 הפקת מכתב אחיד - ו פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים .:.......... 439 שיתוף קבציס 7 המאפיין | שחס60 חס66חהח0ס6 ב 7 רשימת המשתמשיםס 1 שיתוף טפסיס 0.1 447 נעילת רשומות באופן ידני 1 רענון ערכי שדה :אי ו:---....402.0 נעילת רשומות באמצעות קוד ו שיתוף ערכות רשומות ב נעילה ברמת השורה ...2.0 7-ה נעילה ברמת עמוד 7 2 החש 2000 460655 חלופות לאבטחה ברמת-משתמש -ְְ[|/|// 0 בקרה על אבטחה ברמת-משתמש באמצעות קוד 0 טרנזקציות |[ פרק 1: שכפול מסדי נתונים הה,ה,הההההההההההההההההההההההה ההא ההות 57 כיצד עובד השכפול 6 שכפול בעזרת סמל המזוודה בר פקודת השכפול 0 תכנות ₪0 [// ה מנהל השכפול 0 סינכרון דרך האינטרנט 2 ב בש בש 55 0 1 שינוייס בעיצוב השכפול ...472 חידושיס בתחוס השכפול ב- 2000 66655 7 שכפול דו-כיווני ב- 56/6 .360-501 0 עדכוניס ברמת-עמודה 0 רמות החשיפה של עותק משוכפל 7[ פתרון התנגשויות המבוסס על קדימויות 7 שכלוליס שוניס 7 טכניקות פיתוח ב- 380 0 הפיכת מסד נתוניס לבר-שכפול 7 יצירת עותקיםס מלאים נוספים 8 יצירת עותק משוכפל חלקי, ומסנניס 4 סינכרון עותקיס משוכפליס 0 עבודה עס עותקיס משוכפליס הנמנעיס ממחיקות 7 עבודה עס מאפייני עותק משוכפל 7 דחיסה והצפנה של עותקיס משוכפליס 7[ פרק 12: בניית פתרונות עם 1505 ופרויקט' 66655( ........ 497 מנגנון הנתוניס של 6-050₪ון₪ (₪ס5!ו) 1 505 לעומת 166 0 פרויקטי 66055 05 5 חיבור פרויקט 866655 עס מסד נתוניס 0 לימוד ממסדי הנתוניס 65שחושוחזזסאא ו- 5טטק 0 דיאגרמות וטבלאות של מסדי נתוניס 0 מיפוי קשרי גומלין באמצעות דיאגרמות של מסדי נתוניס 0 ניהול דיאגרמות של מסדי נתוניס מרוביס 1 עריכת טבלה בחלון של דיאגרמת מסד נתוניס 1 עריכה ויצירה של טבלאות באמצעות גיליון עבודה 1 תצוגות ושגרות מאוחסנות 1 שימוש בתצוגות .5180 תוכן עניינים - 123 שימוש בשגרות מאוחסנות 0 דוחות וטפסים 0 מיון ועיצוב באמצעות דוחות, ועוד 50 הוספת היפר-קישוריס 1 עריכה והצגה של נתוניס באמצעות טפסיס 2 סינכרון מחדש של טופס באמצעות נתוני יחיד לרביס 7 סוגיות של תכנות 5 עבודה עס טפסיס 5 עבודה עס מודוליס עצמאייס 520 פרק 3: 20000 5" וה-60] הוהההההההההההההההה|ה|ההה ה .הוה 7 גישות מסורתיות 5 פרסום גליונות נתוניס .55 שימוש בטפסי וד - ו שימוש בתמונות ק1- עס דפדפני 46056306 0 שימוש בהיפר-קישורים .519.5 סוגיס של היפר-קישוריס 0 סוג הנתונים אחווזספעו 7 הוספה ועריכה של היפר-קישוריס 0 דוגמאות של חיפר-קישוריס 5 יצירת דפי גישה לנתוניס והשימוש בהס 55 יצירת דף גישה לנתוניס 0 יצירת דף טורי פשוט והשימוש בו ...555 קיבוצ רשומות 0 רכיבי פ6\ של 2000 01606 בדפי גישה לנתוניס 559 נושאי תכנות הקשוריסם בדפי גישה לנתוניס .562 פרק 14: מהדורת 2000 0111606 למפתחים (11555........)025 567 סקירה כללית על פס ...568 כלי 84 לפריון עבודה 0 גישה לנתוניס ל הטמעה וניהול 5700 ספרן הקוד 1 פתרונות אריזה והטמעה 5/0 גישה לנתוניס ביישומיס שאינס 460655 7-ו חתימה דיגיטלית של פרויקטי 84 57 אינדקס הו..,הההההההההההההההההההההה ה[ ה הההה ה ה ה הההה ה ה ה ההה ה ה ההההה םהה .וו 1 14 ם,/ 2000 460655 הקדמה על 2000 466655 היישום 466655 הוא מערכת פיתוח פופולרית נפוצה ביותר, עקב היותו חלק מקבוצת יישומי 07066 050%יסו1. לקוחות רבים מעונייניס שיישומי 406655 יפעלו בשיתוף עס שאר יישומי 0866 בצורה ברורה וקלה לתחזוקה, ללא צורך בתמיכת איש הפיתוח. הטכניקות המתוארות בספר יסייעו לך לענות על ציפיות אלו (לקבלת תמיכה נוספת, בקר בשני אתרי 167050 : /01866/ח506.60סז6וח.צוצוצו העוסק ביכולות הכלליות של 5, ו- /011106000/ח05010.600ז6!וח. אואואו, הסוקר את רכיבי הפיתוח של המוצר). רכיבים חדשים ב- 2000 ₪06655 0 860655 מתקדם באופן משמעותי בתחומיס רביס. 1670506 יצרה מוצר הכולל חידושיס רבים, אך מתנהג עדיין כמו הגירסה המוכרת של 160655. הספר מדגיש את החידושיס בחמישה תחומיס עיקריים: 4 אובייקטי נתוניס של א6ע460 - 400 (09[16600 88 6%ע60ה), תפקודיות מורחבת של ז8/ז56 501 בסביבות מחשוב שונות, 5 ו8סו!קק זסז 88516 |ה0פו/ (הפצ) והרתבות אריזה (05ח6 366 חח6 8ַחו6630הכ), שיפורי מנגנון 26%, צא / /- / תפקודיות פ6/ משופרת בסביבות מחשוב שונות. הקדמה 15 אובייקטי נתונים של 6%עו6%/ אובייקטי נתונים של 466% - ססג, מחליפים כמעט את כל פונקציות הגישה לנתוניס שבוצעו באמצעות אובייקטי גישה לנתונים (220 - 00[66₪5 466655 מּז08). 0 46660585 מציע תפקודיות 400 באמצעות שלוש ספריות : 8ססס, אססג ו-סחנ. הספריה 2.1 09[66%5 בז03 6%/על46 (8פסס) כוללת פונקציות עיבוד גישה לנתוני ליבה. האובייקטיס העיקריים של 0008 הס: חהס660הה60, ₪660,050% ו-0חְהּוחוח60. אפשר להשתמש באובייקטיםס אלה, במאפיינים ובשיטות (005ח6%ח) שלהם, כדי להתחבר ולטפל במקור נתוניס. לאובייקט ח6000חחס6 ממשק לטכנולוגיה חדשה של ספק 8 0]5. לטכנולוגיה זו חשיבות חיונית עבור גישה אוניברסלית לנתוניס - 65 (460055 8%8 |הפזסטוח( 0506ז6י) המספקת גישה עתירת ביצועיס למיגוון תבניות נתוניס (יחסיות ולא יחסיות כאחד). טכנולוגיית 004 מאפשרת עיבוד משולב של מקורות נתוניס מקובלים, כגון ‏ 26 ו- 56706 501, עס מקורות פחות מקובלים, כגון דואר, ספריות קבציס ואפילו וידאו. 004 מייצגת התקדמות התפתחותית מעבר לממשקי הנתוניס המקובלים כיוס, כגון קישוריות מסד נתוניס פתוחה (02806 - שע660חהחה60 6פַהּפַַזהכ תח6ק0), אובייקטי נתוניסם מרוחקיס (₪00 - 00[666 28%8 0%6ח56) ו-סמס. הספריה (400%) 566010 6חה3ּ וספ זסז 2.1 .%א= 400 50%סזסו1 מציעה גישה מבוססת-אובייקט להגדרת נתוניס ולאבטחה ברמת-משתמש. היא מספקת אוספי משתמשים וקבוצות (פקטסזס 800 0565) ברמת משתמש מקובלת של 166. היא גס קושרת הרשאות בקבצי מסד נתוניסם אל חברים (00675ח96) באוספי משתמשים וקבוצות שבקוב מידע של קבוצת עבודה (8!6 חסטאחזס)חו קטסזטאזסו). מודל אססא של ספריה וו מטפל במטלות הגדרת נתוניס באמצעות אובייקטים כגון טבלאות (30!65ד), עמודות (פחוחט!60), אינדקסים (65א06ח1), מפתחות (5ש6א), תצוגות (פאוסו/) ושגרות (65זט600סזק). תוכל לנצל אובייקטים אלה כדי להגדיר בצורה דינמית טבלאות, אינדקסיס וקשרי גומלין חדשיס בין טבלאות. תוכל גס להגדיר שאילתות על טבלאות. הספריה 2.1 02[66%5 7|!630078ק₪6 חב 76% 16-050%/ (0א1) מספקת בעיקר שירותי שכפול (חס₪פסו!ק₪6) של מנגנון 36 באמצעות ממשק ססג. המודל החדש ססא מאפשר לנצל את היתרון של רכיבי השכפול המתוכנתיס של מסד הנתונים ז26. בנוסף, המודל כולל פונקציות של מנגנון 26%, כגון דחיסת מסדי נתונים ורענון המטמון. הגברת הפעילות המשולבת של ו6עו56 .501 0 800058 מאפשר לטפל במסדי נתונים מסוג 6פקזסטחם באותה קלות בה מטפלים במסדי נתוניס מבוססי 36, קישוריות 400 היא חלק מהסיבה לכך. סוג הקוב החדש פרויקט 60655( (800.), מאפשר גס השתלבות הדוקה עס גרסאות 6.5 ו-7 של ]5606 |50. סוג קובץ וה עובד עס מסדי נתונים מבוססי 566% |50 ו- 6חופַחם 8% 06פסזסווא (0פ!וא) בדיוק כפי שקבצי טסוח מאפשריס לטפל במסדי 6 ם,/ 2000 460655 נתונים מבוססי 360. 6505 הוא מנגנון מסד נתוניסם חדש שמבוסס על מודל 7 ז6/ז56 .501. הוא מיועד לפתרונות עבור קבוצות עבודה קטנות, ומשליס את תפקודי המנגנון המקובל 266. תוכל לבחור לפתח פתרונות בעזרת 36% או =ספ!. הפרויקטים של 8460655 מגלים תצוגות ושגרות במסגרת המוכרת של מסד הנתונים. תוכל להתחבר מיידית למסדי ‏ 501 מרוחקיםס תוך שימוש בממשק הגרפי הפשוט והמוכר ממסדי נתוניס מסוג 3%. תוכל גס לנצל את נתוני ז6ז 56‏ 501 בעבודה עס טפסיס ודוחות של 460655 (בדיוק כפי שאתה נוהג עס נתוני 16%). לרשותך גם יכולת פעולה שקופה של 8 015 עם ז9/ז56 .501 ומקורות נתוניס עורפיים (0ח=-886%) בסביבות מחשוב שונות. השימוש באובייקט ח0ו664חח 60 של 00 ובספק 8 015 מאפשר להתחבר למקורות נתונים מרוחקים ולהפנות (66ח60076ז) אליהם באמצעות קוד עבור יישומיס מותאמיס אישית. 88/ והרחבות האריזה 0 8606558 ממשיך בהתאמת גרסת %8 שלו ל-84פ% של שאר יישומי 0006. 0 6060585 כולל עורך - 8₪/ (ז0ס0/6= 88516 וה180/) שממשק המשתמש שלו זהה לוזה של 6זס/, |06אם ו-)חוסקזפוסק. ניתן להעביר את מיומנויות ניהול הקוד והפיתוח ישירות אל שאר היישומים, ועל ידי כך להעשיר אותס בפונקציות גישה לנתוניסם. מהדורת הפיתוח של 2000 0666 כוללת אפשרויות אריזה והפעלה משופרות. לדוגמה, ניתן להפעיל פתרונות באמצעות 505 ופתרונות המתבססים על מסדי נתוניס דמוי-ז6/ז56 .501. סידור גה מאפשר לקבל את עושר התצוגות והשגרות של הממשק הגרפי וממשק התכנות. הדבר חשוב במיוחד במקרה של יישוס קטן שמתפתח וזקוק מעתה ליכולות של מסד נתוניס ז8/ז56 .501. ל- 2000 460655 יכולת הטמעה חדשה המאפשרת להפיץ חבילות התקנה מותאמות אישית (פססַ8א86כ 56002 הח6500) באמצעות האינטרנט. כך תוכל להרחיב במידה רבה את תחוס לקוחותיך. מאגר הלקוחות הפוטנציאלייס שלך יגדל ויקיף את כל מי שמחובר לאינטרנט, גם אס הוא נמצא בקצה העולס. שיפורים במנגנון 36% 0 8066585 כולל את גירסה 4 של מנגנוו מסד הנתונים 360, המציעה שיפוריס בתחומיס תפקודיים אחדים. מצודדת במיוחד היא זמינות נעילת דף ברמת השורה (9חו066! 806 |6ע6!-שוסז). הנעילה הנמוכה ביותר של גרסאות קודמות של 406655 היתה ברמת הדף. אחת הסיבות להכללת נעילה ברמת השורה היא ומינות תמיכת 6 בתווי טקסט. ב- 2000 07866 ניתן לייצג נתוני טקסט בשפות שונות ביישומיס רב-לשוניים. שיטת הקידוד החדשה של שדות טקסט מגדילה את הזיכרון הדרוש לאחסון תו בודד מבית אחד לשני בתים, והדף גדל מ-260 ל-465. מאז העליה בגודל הדף, 1670506 אפשרה לנעילה ברמת השורה לצמצסם את אפשרות נעילת דף בו-זמנית ביישומיס מרובי משתמשים. 17 המדקה‎ גם בשכפול מסד נתוניס חלו מספר שיפורים, אחד מהם הוא זמינות שכפול ברמת העמודה (ח60|!6800 |6/8!-חוחט!|ס6). גרסאות 365 קודמות זיהו התנגשויות ברמת השורה, שני עותקיס התנגשו אפילו אס שינו שדות שוניס באותה רשומה. שכפול ברמת העמודה משפר את הביצועים על ידי הסרת התנגשויות אלו. 2000 06655 כולל גם שכפול דו-כיווני בין מסדי הנתוניס 265 ו-ז8/ז56 .501. הגירסה הקודמת אפשרה שכפול חד-כיווני בלבד, מ- ז6/ז56 .501 אל 160. עוד שיפור ראוי לציון הוא בקרה תכנותית שבאמצעותה משניס את ערך שדות המספור האוטומטי (ספוחטאססטה). בעת יצירת טבלה תוכל להגדיר את הערך ההתחלתי ואת ערך הצעד (כ5%) של שדות מספור אוטומטי. תוכל גס לשנות ערכיס אלה לרשומה הבאה. בפרויקט 860655 ניתן להגדיר שדות מספור אוטומטי מתצוגת עיצוב טבלה (ח0ו265 6|מ18). אפשר גסם לשנות ערכיס אלה לאחר היצירה הראשונית של הטבלה. 6% אף מציע גישה ברמת 501 לתצוגות ושגרות. שיפורי 501 של 36 מאפשרים ליצור או לשנות את שני הסוגיס של מודולי אובייקט מסד הנתונים. הגברת הפעילות המשולבת ב-60/ אחת התכונות החדשות והמשמעותיות של 2000 66655 הוא דפי גישה לנתוניס, המתנהגיס כמו טפסיס ודוחות 866655 ב-60/. תוכל לעצב דפי פ6) הקשוריס ישירות למקורות נתונים מסוג ז6ז56 501 או 260. דפים הפועלים כטפסיםס מאפשריס למשתמש לערוך, להוסיף ולבטל רשומות בצורה גרפית מתוך הדף. תוכל להשתמש בכלי זמן-עיצוב (0₪06-ח06514) כדי לבקר באופן תכנותי תכונות אלו, וגם כדי לנצל את יכולות המיון והסינון. הדפים אינס מאפשריס יצירת טפסי-משנה, אך ניתן ליצור דפיס מקובציס של גישה לנתוניס (28065 806655 0868 60קטסז6) שגדליס באופן מותנה בהתאס לקלט המשתמש. דפי גישה לנתוניס יכוליס לשמש גס כמארחים של רכיבי אינטרנט חדשים, וניתן להשתמש בהסם ליצירת דפיס המכילים גליונות אינטראקטיבייס, תרשימים דינמייס וטבלאות ציר (190!65 זסטוס). ניתן גם לקשור את רכיבי ה-9פ/ של גליונות ותרשימיס לנתוניס המוצגיס בדפיס מקובציס או בלתי מקובציס של גישה לנתונים. משמעות הדבר היא שבאפשרותך להציג חישוביס ותרשימים המשתנים בצורה דינמית בעת המעבר מרשומה אחת לבאה אחריה. דפי גישה לנתוניס המכילים טבלאות ציר אינס מתקשרים עם מקורות נתונים אחרים בדף, אלא מספקים ייסידור בטבלת ציריי (פחטסטוס) בסגנון |66אם, על ידי הנעה גרפית של חלקי נתוניס בתצוגה נפרדת. בנוסף, ניתן לנצל טבלאות ציר לניתוח סוגי נתוניס רבים, לרבות מקורות נתוניס של 501, 26% ועיבוד ניתוחי מקוון - קה 01 (0חו6655סזק |068/|החה 6חו[חס). 8 ם,/ 2000 460655 על הספר סגנון הלימוד של הספר מיועד להעניק לך יכולת מעשית כאיש פיתוח, ולהשיג תפוקה גבוהה בעבודה עס הרכיביס החדשים. הלימוד הוא בסגנון הבט, ראה, פעל! דוגמאות הקוד הרבות שתמצא בספר ממחישות את התפיסות שניתן לשלב ביישומיס באופן מיידי. התייחס אליהן כאל מתכונים לביצוע מטלות פיתוח מוגדרות. נסה להפעילן ייכמו שהןיי, ואחר כך התאס אותן לעבודה עס הנתוניס שלך ובהקשר של היישוס שיצרת. הדוגמאות פשוטות למדי, קלות להבנה ולשימוש חוזר, עובדות שתדרבנה אותך ליישמן. קהל היעד ספר זה מיועד למפתחי מסדי נתוניס המתכווניס לפתח יישומים מותאמים אישית באמצעות 2000 260655 67050%6ו1). הספר דן ברכיביס ההופכים את 460655 50%6סזסו]! לכלי המועדף על מפתחים, ובחידושים המיוחדיסם של 2000 860655. הספר מציג דוגמאות קוד רבות המדגימות את טכניקות הפיתוח העיקריות, וכליס לפיתוח יישומים מהיר. פשטות העיצוב נשמרה בקפדנות, כדי לאפשר לקורא לאמ את קטעי הקוד שבספר ליצירת יישומיס מותאמיס אישית, או ליישוס הטכניקות השונות במהלך עבודתו. התקליטור המצורף לספר מכיל את כל דוגמאות הקוד שבספר. הספר מיועד לספק מענה לצרכי מיגוון קוראים. אנשי פיתוח ותיקים ימצאו בו מידע חיוני על הרכיביס המתקדמים הכלולים ב- 2000 66055. קהל יעד נוסף הוא אנשי פיתוח שעובדים בסביבה שונה מזו של 07050%ו1, כגון 08856 או אססְפזפק. אלה מתמצאיס במושגי פיתוח, אך אינס יודעיס בהכרת כיצד ליישס את המושגיס בסביבת 5. קבוצה נוספת היא של משתמשיס מקצועניס השואפים ללמוד לפתח פתרונות באופן עצמאי במינימום ומן. תוכניות וקוד המקור שבספר כל קטעי הקוד המופיעיס בספר מסופקים בתקליטור המצורף. תוכל להשתמש בהס בשלמותם כדי לחסוך זמן, ולמנוע טעויות הקלדה במהלך העבודה. התקליטור המצורף בתקליטור המצורף תמצא את תיקיית קבצי הקוד הרלוונטייס לספר ה - תיקיה בשס 27 הנמצאת בתיקיה 80065. צור תיקיה בשס 266655 פחווחוחפזטסזק בכונן 6 ואחר כך העתק אליה את תיקיות הפרקים שבתיקיה 59237 (קטעי הקוד הרלוונטיים לפרק מסוים, מופיעים בתיקיה ששמה כשם הפרק). להרחבה על תכולת התקליטור ואופן השימוש בו, פנה לקובצ 5פ0%6 שבתקליטור-- 19 המדקה‎ מוסכמות בהן נעשה שימוש בספר זה הספר משתמש במספר מוסכמות ואלמנטים מיוחדים כדי להדגיש נושאיס מסוימים, ולהקל על הקריאה והשימוש. מומלצ להתבונן בהס בטרס תחל בקריאה. הרשימה שלהלן מפרטת את המוסכמות בהן עושה הספר שימוש: 4 מיליס ומשפטיםס המדגישים את כוונת המחבר, כמו גס מונחיס חדשים, מופיעיס באותיות מודגשות. קטעי קוד ופקודות לדוגמה מופיעיס בגופן 8וחסחּד וברקע אפור. חלקיס שוניס בקטעי הקוד מופיעים מדי פעם בגופן נטוי כדי לציין שאלה חלקיס אשר עליך להוסיף או לשנות (למשל פקודות או שמות משתנים). שיטה זו מאפשרת לך לראות מה עליך להוסיף או לשנות על פי ההקשר. בשל מגבלות הרוחב של עמודי הספר, נאלצנו במקריס מסוימיס לשבור שורות קוד ארוכות במיוחד למספר חלקים. במקרים אלה, מופיע בסוף השורה השבורה סימן המשך שורה ( ). בעת העתקת הקוד למחשב תוכל להשמיט את סימני ההמשך ולכתוב את הקוד במלואו בשורה בודדת או לחילופין - להעתיקו כפי שהוא מופיע בספר. 460655 יידע לפרש את הקוד בכל אחת מהצורות שתבחר. הערה: כל התמונות המופיעות בספר לקוחות מהגירסה האנגלית של 2000 06666. בדיקות נכונות המידע בוצעו על הגירסה העברית, עם התייחסות לגירסה האנגלית בסוגריים. הערה נוספת: כאשר תמצא התייחסות ל-8 |66אם, הכוונה היא ל-97 |66א5. 0 ם,/ 2000 460655 1 היכרות עם 2 לפני יותר מעשור שנים הציע ביל גייטס שפת מאקרו אוניברסלית ליישומיס שולחניים. שפת פחסוטפסו|סק זסז 88516 |הטפוש (מ8/) היא הגשמת החלום ויותר מזה. של 2000 606055 11670506 משותף לכל יישומי 01666, ואפשר למצוא אותו גס במוצרי תוכנה של יצרניס נוספיס. 84/ עומד גס בכל כללי התחביר של שפת התכנות העצמאית 88516 |1508/. 84 מאפשר למפתחיס להשתמש בשפת תכנות יחידה בעשרות הקשרים, כשכל שעליהס לעשות הוא ללמוד מודל אובייקט חדש. 84/ הוא היידבקיי של יישוס 66655 : הוא מחזיק הכל יחד ומעניק ליישוס צורה. ל- 2000 460655 ממשק חדש - עורך 8856 |508ו/ (85/), המופיע ביישומי 086. אך בוודאי תמצא עצמך מוסיף קוד 84/ לטפסי 460655 המוכרים, ולא לטפסי המשתמש שבשימוש יישומי 06666 אחרים. זיווג טכנולוגיות זה ייראה לך טבעי מאוד. בפרק וה נציג את %88 כפי שהוא מופיע ב- 2000 60655, ונסקור את עקרונותיו הבסיסייס בהקשר לפיתוח יישומים. כמו-כן נציג את חידושי 84/ העיקריים ונדגיס טכניקות תמיכה בטפסיס באמצעות קוד. אומנס מדובר בסוגיית פיתוח מקובלת ב-466655, אך קיימיס מספר שינוייס באופן בו מממשיס אותה באמצעות 88/. הפרק ידון בשבעה היבטי 84/ ב-66055א, ויסתיים בתיאור קצר של פקודות מאקרו. > אוספים (00|!660075), אובייקטים (00[609), מאפיינים (פ6חזסקסזק), שיטות (1660005) ואירועים (פזחסעם), שגרות (65זט660סזק) ומודולים (65וגוססוז), ממשק 85/, %, סוגי נתוניסם והצהרות, לוגיקה מותנית ומבני לולאה, פונקציות מוכללות, / 4 / / / / ניפוי ולכידת שגיאות. פרק 1: היכרות עם 84 | 21 אוספים, אובייקטים, מאפיינים, שיטות ואירועים 0 60055 תומך ב-84/, מה שמאפשר פיתוח מונחה-אובייקטיס. בסעיפים הבאיס נעסוק בפיתוח מונחה-אובייקטיס בהקשר של 8 ו- 2000 860655. המידע מיועד למשתמשיס מתקדמים העובריס לפיתוח יישומיס מתוכנת, ולמשתמשיס ברמה בינונית המעונייניס לסקור את נושא התכנות המונחה-אובייקטיס בעזרת ב8/. אוספים ואובייקטים 0 4600055 מהווה סביבת פיתוח מונחה-אובייקטים. חלון מסד הנתוניס שלו מאפשר למשתמש לגשת לטבלאות, שאילתות, טפסים, דוחות, מודולים ופקודות מאקרו. 84 הופך את כל הרכיביס האלה לזמיניס יחד עס מיגוון רחב של תבניות מתוכנתות, כגון ערכות רשומות (פ66070560ז) ואובייקטים של זספפופבּד. כדי להפיק מ-84/ את מירב התועלת ב-466655, עליך להבין את נושא האובייקטיס ומושגיס נוספיס הקשוריס לנושא זה. אובייקט 600[פס) הוא עצם, כגון מכונית, טלפון או מכשיר וידאו. לכל האובייקטיס יש מאפיינים. מכוניות למשל, מוגדרות באמצעות מאפייני הצבע, הדלתות, המנוע ומאפייניס נוספים. מאפיינים יכוליס להגדיר מופעים של אובייקטים כללייס. התנהגות מונחית-אובייקטיס מאפשרת להגדיר מופעים ייחודיים של אובייקטיס בהתאם למאפייניהם. לדוגמה, מכונית אדומה ומכונית שחורה הן שני מופעיס ייחודיים של האובייקט יימכונית'י. מאפייני האובייקט משתניס בהתאסם למחלקת האובייקט שאליה הם מתייחסים. למכונית יש קבוצת מאפיינים שונה מזו של מכשיר טלפון. שני האובייקטיס מאופייניס באמצעות צבע, אך לטלפון יכול להיות גס מאפיין רמקול. למכוניות לעומת זאת, יש מנועים בנפחיס שונים. יש אובייקטיס שמהווים מכולות (615ח%91ח60) עבור אובייקטיס אחריס. גס לאובייקטים המוכלים יש מאפיינים משלהם. מנועיס מיוצריס במיגוון נפחיס ותצורות, בעוד שלרמקולים יש בקרי עוצמה ומאפייני איכות צליל. מאפיינים יכולים להגדיר גס מופעים ייחודיים של מחלקות אובייקטים מוכלים. לטלפון עס רמקול (ז50686) קבוצת מאפייניס שונה מזו של מכשיר טלפון רגיל. בנוסף למאפיינים, אובייקטיס כולליס גם שיטות. שיטות של אובייקט הן הפעולות שהוא מסוגל לבצע: מכשיר הטלפון משמש להתקשרות, מכונית נוסעת. אובייקטיס רביס כוללים שיטות רבות. לדוגמה, מכשיר הטלפון מאפשר לבצע שיחות מקומיות ושיחות בין-עירוניות. מפתחיס בסביבת 60658 אינם מטפלים באובייקטים פיסיים, אלא בתבניות מתוכנתות, כגון טפסיס, טבלאות ושאילתות שיכולים לייצג אובייקטיס ופעולות שהס מבצעים. החלון מסד נתונים (ס2808085) של 2000 266655 מציג חלק ממחלקות האובייקטים של מסד הנתוניסם בסרגל הכליס המזכיר את זה של אססשטס (ראה 2 הח 2000 460655 תרשיס 1.1). לחיצה על לחצן טפסים (פוחזס) שבסרגל הכלים פותחת תצוגה של אובייקטי טופס ומציגה שתי אפשרויות ליצירת טפסים חדשים. אובייקטי טופס מסוגליס להכיל אובייקטיס נוספים שנקראיס פקדים (5!|סשחס6). אובייקטים מוכלים מגדיריס אובייקט בדיוק כפי שפקדיס בטופס מגדירים את מראהו והתנהגותו. 00 ב | סח שסמך ‏ והפפתן אש 06 6 | | - 3 8 | ]| - 8 | - מ )| כ | ₪ א | > 3 ₪6 ש םן 6 : [וס)קבח:) א זזה 12:00:00 זה 12:00:00 סוי הפס חו חזזס] 076866 5 1:00 12:00:00 קווש חופנ עֶם חזזס] 76866 ₪ חחזס= ...:7:17 08/08/1998 = ...7:17:1 08/08/1998 1 0|-חז] חס ...:7:39 08/16/1998 == ...7:39:4 08/16/1998 02 3/0 הז ב חס | ...:7:55 08/16/1998 = ...7:55:0 08/16/1998 8/0303 חח >6זסקפת 7 הז | ...10:0 08/08/1998 = ...:10:08 08/08/1998 04 )הז = |5: זט | ...:3:22 08/18/1998 = ...3:22:5 08/18/1998 3/0300 והז = |5 חחזס= | ...:8:36 08/10/1998 א 1 ב זט | ...:3:15 08/10/1998 א 0 = זס= זז ל חס ...:8:54 08/17/1998 = ...8:54:1 08/17/1998 5 וח | ₪005 || זט ...:1:26 08/08/1998 = ...1:26:3 08/08/1998 56 חח בי בי בינ בי טב 1 תרשים 1.1: החלון מסד נתונים ובו אוסף של אובייקטי טופס ושתי אפשרויות ליצירת טפסים חדשים (שים לב, התרשים לקוח מהגירסה האנגלית) תרשים 1.1 מציג אובייקטי טופס אחדים. אובייקטים אלה מהוויס אוסף (ח00|!6000). באופן טיפוסי, יישומי 8460655 כוללים אוספי טפסים, טבלאות, שאילתות ואובייקטיס נוספיס. החלון מסד נתונים עצמו ממיין אובייקטים לפי מחלקות. לחיצה על סרגל הכליס בחלק הימני (או השמאלי בגירסה האנגלית) מציגה בחלון את כל האובייקטיס שבאוסף. אוספיס דומיס מאוד לאובייקטים. לכל אוספי 460655 יש מאפיין זחטס6 (מונה) שמגדיר את מספר המופעים באוסף. 6 (פריט) הוא מאפיין נוסף של אוסף. תוכל לנצל את המאפיין ו6₪פ1 לקריאה בלבד, כדי להתזיר טופס יחיד מתוך האוסף 5חזזס=!1ה (כל הטפסים). חברי (5ו6טחחסוח) האוסף הס אובייקטים יחידים, ולכן אין להס מאפיין %חט60. אובייקטי אוסף משמשים למטרות שונות. מכונית בעלת גג מתקפל יכולה למלא פונקציות שונות מאלו של מכונית משפחתית רגילה, אך שתיהן יכולות להשתייך לאוסף המכוניות של משפחה מסוימת. מאפיינים ושיטות המאפיינים והשיטות מאפיינים את מראה והתנהגות האובייקטים. תחביר ההפניה למאפיינים ושיטות הוא שזפקסזק.160%[פ0 ו-66%.06170005[פס, בהתאמה. המונת 166[פס (אובייקט) יכול להתייחס לאובייקט יחיד או לאוסף אובייקטים. לדוגמה, פרק 1: היכרות עם 84 | 23 זס|886660. 1+טסח01 מציין את מאפיין צבע הרקע של תיבת טקסט בטופס, ואילו (1:6705)0. 5וחוס=||ה מתייחס לטופס הראשון באוסף הטפסיס. אס שס הטופס הראשון 51 חז), ניתן להפנות אליו בתור ("61!ק580 ")16 5רחזוס=|!|ה. אפשר להציג את מאפייני אובייקט מסד הנתונים על ידי בחירתו בתצוגת עיצוב (ח0ו65כ) ולחיצה על לחצן מאפיינים (65וזז6קסזק) שבסרגל הכלים. תרשים 1.2 מציג טופס בתצוגת עיצוב ביחד עס גיליון המאפיינים שלו. גיליוו המאפיינים מציג ערך מותאס אישית, חסטק63 %|80ו6 ץא במאפיין כיתוב (ח₪0ק609). המאפיין לחצן סגירה (חסט8 01056) נבחר. תוכל ללחו על שורת המאפיין לחצן סגירה ולבחור לא (סא). שינוי הערך של המאפיין יציג באפור את הלחצן סגירה כאשר הטופס יופיע בתצוגת טופס (חחזסת). שים לב שגיליוו המאפייניס מכיל כמה דפיםס (כרטיסיות). תרשים 1.2 מציג את הכרטיסיה תבנית טפוחזס=) שבגיליון המאפייניס. הכרטיסיות מסדרות את המאפייניס בקבוצות, מה שמאפשר שליפה מהירה. הרה מה [ ₪ | אס | 6% [ 3 | סז [ . וקב 686 עזי 0 רהצי שו 30% ו . 561660075 66070 זט הטויב . . 1065 הַואם. . 65006 60 . 6606 טסוו 0091 55/08 . . 80% 00001 . . 80000005 15 חווי . . חסזום 61056 תרשים 1.2: טופס פשוט בתצוגת עיצוב יחד עם גיליון המאפיינים שלו הערה: ב- 2000 66055 גיליון המאפיינים זמין גם בתצוגת טופס, ולא רק בתצוגת עיצוב. משמעות הדבר היא שניתן לשנות ולשפר את מראה הטופס בצורה קלה ופשוטה תוך כדי הצגתו בתצוגת טופס. האובייקט 060 הוא מקור שיטות עשיר למפתחי יישומי 460655 בכל הרמות, אך מפתחים מתחילים ימצאו בו עזר רב בעבודה בסיסית עס שיטות. אובייקט ה כולל שיטות רבות, 6!056, חס ח6קס, |סה0ס06ד60, 0זס6ש סחו= ו-סחהההותס6חטח. שיטות רבות של אובייקט ה דורשות ארגומנטיס המציינים את אופן הביצוע שלהן. שיטות אחרות כוללות ארגומנטיס נדרשים או אופציונליים. אם אין מצייניס ערכיסם של ארגומנט אופציונלי, השיטה מנצלת את הגדרות ברירת המחדל. השיטה סחההחוחס6חט חביבה מאוד על משתמשים מתקדמיס שעוברים לתכנות; ניתן לנצלה כדי לבצע את הפקודות הזמינות בתפריטיס ובסרגלי הכלים של 60655(. ב-460655 אפשר לסגור טופס באמצעות השיטה 6!056 של האובייקט סוחס6סס. לשיטה זו שני ארגומנטיס נדרשיס ואחד אופציונלי. הארגומנט הנדרש הראשון מציין את סוג האובייקט המיועד לסגירה. לסגירת טופס השתמש ב-חזס-80 (7ס-86 הוא קבוע מוכלל של 860655 שערכו מורה לשיטה 610566 כי ברצונך לסגור טופס. לקבלת מידע 4 ם,/ 2000 460655 נוסף על קבועיס מוכללים ב-60655, עיין בסעיף ייסורק האובייקטים'י). הארגומנט השני הוא שס הטופס. ערך זה מופיע במאפיין שם (סוחא8) בגיליון המאפייניס של הטופס. הצב את השס בין מרכאות. הארגומנט האופציונלי מורה ל-466655 אס לשמור שינוייס כלשהם בטופס. ברירת המחדל היא לבקש את אישור המשתמש לביצוע הפעולה. השתמש בשיטות 8658/6%65 או 8658/6%0 לסגירת הטופס תוך שמירת השינוייסם או ללא שמירתם. להלן תחביר המשתמש בשיטה 61056 לסגירת טופס : ס]3658/6 , "סרה הוה זס+" ,וח'זס-36 6|056. חספ שיטות רבות של 00700 חלות ישירות על אובייקטים יחידיס. לדוגמה, השיטה 06000 601 מעבירה את המיקוד לפקד מסוים בטופס. ניתן להשיג ואת גס באמצעות השיטה 5606-0005 שבוחרת את הפקד. נוח להפעיל את שתי השיטות כאשר על היישוס להעביר את המיקוד לשס קליטת נתוניס חדשים, או לתיקון מידע שגוי. אירועים אירועים הם מרכיבים חשובים מאוד בתכנות 88/. ניתן לנצל אותס כדי ליצור יישומים דינמייס ואינטראקטיביים. אירועיס של אובייקטיס ואוספיס משמשים מעין נקודות הפעלה לקוד מותאם אישית שיצר איש הפיתוח. במהלך העבודה עס טפסים תוכל לנצל אירועים לביצוע מטלות, כגון אימות נתונים, הפיכת פקדים לזמינים או בלתי ומינים, העברת המיקוד לפקד אחר, ופתיחה וסגירה של טופס. עליך להבין את תזמון האירועיס וגס את סדר הפעלתם. פתיחת טופס מפעילה שורת אירועיס : ח6ק0, 1080, 865126 ו-%ח6זט6. האירוע ח6ק0 מתרחש בעת שטופס מתחיל להיפתח, אך בטרס הוצגו רשומות כלשהן. האירוע 1080 מתרחש לאחר האירוע ח006 וגורס להצגת רשומות הטופס. קוד הגורס לטופס לשנות את גודלו או מיקומו באמצעות השיטות 6526עס!!, 26וחוחוא, 26וחואהּ!) או 6ז0ז₪65 של האובייקט 6ח6ספם, מפעיל את האירוע ₪6526. האירוע )ח6זזט₪ הוא האחרון שמתרחש בדרך-כלל בעת פתיחת טופס. אירוע זה מסמן את הרגע בו רשומה מסוימת הופכת לרשומה נוכחית או לרשומה ומינה. האירוע מופעל גסם כשהמשתמש מנווט לרשומה חדשה, מפעיל שאילתה, או מרענן טופס. ניגשים לאירועי טופס על ידי בחירת הטופס או הפקד בתצוגה עיצוב ואחר כך בוחריס בכרטיסיה אירוע טחפעם) שבגיליון המאפיינים. לחיצה על הלחצן בניה (0וו80) שבשורת כל אחד ממאפייני אירוע, גורמת לפתיחת תיבת דו-שיח המאפשרת לפתוח את מודול הקוד שמאחורי הטופס. בחירה בבונה קוד (06ו01ו8 6006) גורמת לפתיחת שגרת אירוע ב-85/. שגרת האירוע מקבלת את השס 6008 600806[פס, כאשר 6ח00[60008 הוא שס האובייקט ו-6וחזחפע= הוא שס האירוע. למשל, אס בוחריס טופס ולוחציס על לחצן בניה להפעלת האירוע 61056 (בעת סגירה), שגרת האירוע תקבל את השס ₪056 חזס". אס יוצרים שגרת אירוע עבור האירוע 6|6%ח0 (בעת לחיצה) של תווית הנקראת 6חודט!ו, היא תקבל אוטומטית את השם 616% 6שודטו. פרק 1: היכרות עם 084 | 25 לפניך שלוש שגרות אירוע המתייחסות לטופס המוצג בתרשיס 1.2: ח6ק0 חחסם, 4 הס ו-א6ו01 שטודט!. בעת פתיחת הטופס בפעס הראשונה בתצוגת טופס, מופיעה תיבת הודעה ובה הודעה '"60ח6קס וחזס+ פחדיי (הטופס נפתח). אישור ההודעה גורס להצגת הודעה נוספת, ''8060ס! וחזס+ 6חדיי (הטופס טעון). בתוס טעינת הטופס, לחיצה על התווית גורמת לפתיחת תיבת הודעה שלישית, ''|306! 6 וחסי סוו6'י. (%6067ח1 45 |08066)ח6כ0 החזס- 500 6זפטוזק ,הסו8וזס?ח1טץ ,".60ח6קס סז סד" 80% 5וו "2000 266655 116705000 הווה וחה סק" סט5 0חם ()080.] וחזס= 500 סזעוזק 55006 6|קרחו5 8 15 פוחד ' = ,8000ו0ז0+ח1ש ,".3060ס! סז סד" אס 15 "2000 266655 1670500 הווה וחה סק" .זז קסזקן 8 5665 פוחד ' "ח0ו6300 צוס)]" = ח00ק6.68ו₪ .5 | 60 3 פחוטוף זס? 600005 סע ס6זבּ סזסר ' "600% דשא" |סחס6ס ד0.00ות6סק - ' 5 .א )אס דאס 116 .סקז 8 5665 0 / ,60אזסצ 6000 6+ 8%ח אוסא ' "[6זסח+ ,ור" = %א6 ך.א60א6 דץ 006 6 סט5 0חם ()61166 6ודופ! פט5 6פעווק ,הס זס+ח1סע ,".!306!| 6+ חס סוו6]" א0 50 "2000 266655 16705000 הווה וחה סק" סט5 0חם שגרות האירוע גורמות להצגת תיבות ההודעה. לחיצה על תווית מפעילה את שגרת האירוע א6ו01 ששוזפו. בשיגרה וו משפט יחיד שמציג את תיבת ההודעה (הקו התחתון בסוף השורה הראשונה של המשפט, מציין שהפקודה ממשיכה בשורה הבאה). שגרת האירוע ח6ק0 וס כוללת אף היא משפט אחד. שגרת האירוע 1080 חזס" כוללת משפטיס אחדים נוסף לאה שמציג את תיבת ההודעה. שגרת אירוע זו מגדירה בצורה דינמית את כיתוב הטופס, דבר זה שימושי במיוחד לטופס שממלא שני תפקידים או יותר באותו יישוס. השיגרה גס מעבירה את המיקוד לתיבת הטקסט שנקראת אסא דוס ואחר כך מציבה את המחרוזת *!6זסל ,וי במאפיין 6%ד של הפקד. שגרת אירוע זו מדגימה שתי טכניקות נפרדות לקביעת מיקוד. הראשונה מבוססת על השיטה 560-0605 והשנייה על השיטה |ס₪ח601060. הגרש בתחילת שורות מסוימות מציין שהשורות הן הערות המיועדות לאנשיס הקוראיס את הקוד ו-466655 אינו מתייחס אליהן. שיס לב כי אחת הטכניקות מופיעה בשורת הערה. 6 הח 2000 460655 שגרות ומודולים שגרות הן מכולות (9ז6חוסח0ס6) של קוד ב8/. קיימיס שלושה סוגי מכולות: שגרות משנה (06600765ז00ט5), שגרות פונקציה (65זו660סזק חסטסחט)) ושגרות מאפיין (65זט660סזק /זסקסזט). למרות החפיפה במספר תפקודים, לכל שיגרה מטרה מוגדרת וייחודית לה בלבד. 860655 כולל שני סוגי מכולות בסיסיים: מודוליס סטנדרטייס ומודולי מחלקות. מודולי מחלקות יכוליס להיות מחלקות מותאמות אישית עבור טפסיסם ודוחות. תוכל לנצל אותס כדי להגדיר בעצמך מחלקות, ולפשט את השימוש החוזר בקוד של מטלות שגרתיות כגון הוספת עובד חדש, ביצוע הפקדה לחשבון או משיכה ממנו. שגרות משנה שגרות משנה יכולות לבצע פעולות, לחשב ערכים, לעדכן ולשנות הגדרות מאפיין מוכללות (לעיתים שגרת משנה נקראת בקיצור יישיגרהיי). כפי שלמדנו, 2000 66655 מפעיל אוטומטית שגרות כאשר מתרחשים אירועים, אך תוכל להרתחיב את השימוש בשגרות אלו. שגרות לעולס אינן מחזירות ערכים וגם אינן מגדירות מאפייניס מותאמיס אישית של טופס, דוח או מודול מחלקה. שיגרה מכילה סדרת משפטי הפצ בין המשפטיס טש5 ו- פט5 506 התוחמיס אותה. המשפט טט5 חייב להצהיר על שם שיגרה. שגרות אירוע מקבלות שמות מסוגנניס מאוד (כגון +ח6/6 60%[פס), אך שמות של שגרות נקבעיס לפי כללי מתן שמות למשתניס. עליהס להתחיל באות, אורכס אינו יכול לעלות על 255 תוויס, אין לכלול בתוכס סימני פיסוק או רווחים וגם לא מילות מפתח, שמות פונקציות או שמות אופרטוריס של הפצ. שגרות יכולות לקבל ארגומנטיס הבאיס לאחר שס השיגרה. אס השיגרה כוללת יותר מארגומנט אחד, יש להפריד את הארגומנטיס בפסיקים. אחת הדרכיס להכיר טוב יותר את נושא השגרות היא השימוש באשף לחצני פקודות (2870ו/ הסט הוח 60), אשר כותב קוד 88/ למעל 30 פונקציות. כל שעליך לעשות הוא לבחור הגדרות חדשות בתיבות הדו-שיח. האשף מחבר שגרות פשוטות למדי, ולכן הן מהוות מקור יעיל ללימוד הנושא. גס מפתחיס ברמה בינונית ומפתחיס מתקדמיס יצאו נשכרים משימוש באשף, מכיון שהקוד שהוא יוצר יכול לשמש כשלד בסיסי שעליו אפשר להוסיף קוד מפורט יותר. מפתחיס מתחילים יכוליס לנצל את האשף כדי להפוך תהליכים לאוטומטיים, כמו ניווט בין רשומות, תחזוקת מסד נתונים, טיפול כללי בטופס ובדוח, הפעלת יישומים נוספים ומטלות שונות נוספות, כגון הפעלת שאילתה או חיוג מספר טלפון. את האשף מפעילים מארגז הכלים שבתצוגת עיצוב טופס. בחר בלחצן אשפי בקרה (28705ו) |סשח0ס6) ואחר כך בחר לחצן וצייר את הפקד על הטופס. תיפתח תיבת הדו-שיח המוצגת בתרשים 1.3. בכל קטגוריה מוצעות מספר פעולות. לאחר שתסייס את המעבר על תיבות הדו-שיח, תוכל להציג את הקוד ב-85/. לחץ על לחצן קוד (6006) שבסרגל הכליסם עיצוב טופס (חט!65כ וחזסת) כדי לעבור אליו. פרק 1: היכרות עם הפ 27 הזז : [ חס ] ₪3 בו = ["] |פפ 46 ש 6 3 ₪ : על ['. = 5 הסססנום שחל השחויו הסקקבח ל לחבצי וס 0 חסו36 לבח 5 ם ?וזו זסח305 ה636 זס] 3/3306 76ב 5חסו360 לחשזפ/ום יו וי ז 0 בח 5חסו30 67 66070 זו 00 0+ 0130005 חחזזם= 355 סל סב 30005 ז6ק2) +זסקסת ₪0 065 60 0ב חסוסב6ווקק ה ויז 50 0 05פחב!5001ו1] תרשים 1.3: אשף לחצני פקודות מאפשר ליצור שגרת אירוע מלאה תוך שימוש בתיבות דו-שיח אחדות מפתחיס רבים מעדיפים לכתוב שגרות מהתחלה (מבלי להתבסס על שיגרה קיימת). תוכל לפתוח את חלון הקוד וליצור שגרת אירוע כפי שתואר לעיל, או ליצור שיגרה רגילה. קיימות שתי דרכיס להתחיל שיגרה כזו, ואת בהתאס למקוס בו תציב אותה. אס השיגרה מיועדת לטופס או לדוח, לחץ על הלחצן קוד (0006) שבסרגל הכליס עיצוב. אס הקוד יופיע במודול סטנדרטי שאינו מיועד לטופס או לדוח מסוימים, בחר כלים (100|!5), מאקרו (סז416ּ!)), ז0ז/6ם ₪3516 [ב156₪/, או לחילופין הקש 11=+):|. חלון 85/ ייפתח. בחר 156% (הוספה), 66606סזפ (שיגרה), הקלד שס בתיבת הדו-שיח 5066006 ₪66 ואשר את בחירת ברירת המחדל של לחצן האפשרות טש5. כך תיווצר מעטפת לשיגרה, ובה המשפטיס 540 ו- פט5 6חם. כעת תוכל להוסיף לשיגרה קוד. השתמש בידע שרכשת על מודל האובייקט של 8460655 וכתוב מספר פעולות. וזכור כי האובייקט 00ח6סכ כולל שיטות רבות. הקלד 606סכ ואחר כך הקלד נקודה. תופיע תיבת רשימה נפתחת ובה כל הערכיס החוקייס שיכולים להופיע לאחר 606ספ. במהלך הקלדת הערך, תוצג רשימת ערכיס אפשרייס התואמיס להקלדה (תרשים 1.4). אס אינך בטוח בערך שעליך להקליד, גלול את רשימת הערכיס ואתר את השיטה המבוקשת. טכניקה וו מתאימה לכל האובייקטיס ולא רק ל- 6ס6סכ. 670504 קוראת לתכונה זו 1561156056, מכיון שהיא מזהה בצורה נבונה את התשובות האפשריות. התכונה 56ח556ו!|6ח1 מבצעת למעשה שתי פעולות: מציגה את השיטות והמאפייניס החוקיים בכל שלב של הרכבת משפט 88/, ומספקת נתוני תחביר על תכולת השדות הדרושים למשפטי 84/ שבבנייה. פעולות אלו מצמצמות באופן ניכר את שגיאות התחביר בקוד, ומסייעות לך להתחיל במהירות. 406055 2000 ₪ 8 |<1)- | בא ו = | |5)=. קפ אוסטחועע 500-105 105 חצ₪ הטספ > ספת שופוע פובם 6|ם % < <שץ )א ,08095 ₪00-4 5 () עשמשקסנעסץץ1 כעום 6ג11סגוק מע . ספ קז ווח %: . חק 9 | | 4 0 508 00 ': 8 - יח %: תרשים 1.4: התכונה 56ח%8|!!56ח1 מסייעת להשלים משפט ב8/ באובייקט 6וח6סס. בהקלדת תחילת המשפט, 56ח16|!!556ח1 מציגה רשימת ערכים חוקיים התואמים לטקסט שהוקלד להלן שיגרה פשוטה הכוללת שלוש שורות. השורה הראשונה מקצה מיקוס בזיכרון לתוצאה מחושבת. השנייה מחברת שני קבועים. השורה השלישית מדפיסה את התוצאה בחלון 1016613%6 (מיידי). חלון זה משמש כפנקס לאחסון תוצאות בינייס במהלך בדיקת הקוד. כדי להציגו בחר שפו/ (תצוגה), שסשחו/ 6ז6013וח1. ניתן להפעיל את השיגרה מתוך עורך 8 על ידי לחיצה במקוס כלשהו בשיגרה ואחר כך לחיצה על הלחצן וחזס:ו050 / פט5 חטח שבסרגל הכלים הרגיל. ()5008]6013%07זו= עו 5 ווחוס 2 + 1 = ₪650 >חוזק. פטס סט5 0ח= במצבים אופייניים יותר, תוכל לקרוא לשיגרה באחת משתי דרכים. תוכל לכלול את שמה בשורה עצמאית; אם השיגרה כוללת ארגומנטיס כלשהם, תוכל לכלול אותס לאחר שמה, כשהם מופרדיס בפסיקים. לחילופין, תוכל להקדים את מילת המפתת וו63 לשס השיגרה. ||63 היא מילת מפתח של %84 המשמשת לקריאה לשיגרה. אם תשתמש במילה ||68, תחוס בסוגרייסם את הארגומנטים המופיעיס לאחר שס הפונקציה. להלן גירסה גמישה מעט יותר של פונקציית המחשבון הבסיסית. בדוגמה מופיעות שתי שגרות. השיגרה שנקראת 068!60|3%01ח₪5660 מחברת שני מספרים, ומדפיסה את התוצאה בחלון 8%66ו60חח1. השיגרה קולטת את המספרים באמצעות שני ארגומנטיס שנשלחיס אליה. השיגרה השנייה קוראת לשיגרה שמבצעת את פעולת החיבור. תוכל לשנות את המספריסם שהשיגרה מסכמת, על ידי שינוי ערכי הארגומנטיס שבשיגרה הראשונה. בגירסה מתוחכמת מעט יותר של יישוס וּה, אפשר לקשור את ערכי הארגומנטיס למשתניס או לשדות טופס. פרק 1: היכרות עם 84 29 ()ז3%0]ט068]6ח68|!5660 ספ 3 ,1 ז068]60|3%0ח5660ץ סט5 0חם (566000 ,150 )8|60|8%07 06ח5660ץ פט5 ווחוס 6000 + 6פזן= = ₪650]6 זחוזק. פטטסס סט 0ח= שגרות פונקציה שגרות פונקציה, הנקראות בדרך-כלל פונקציות (פחסטסחט=), שונות משגרות רגילות במספר מובנים. ראשית הן מחזירות ערך, ולכן ניתן לנצלן בביטויים כאילו היו משתנים. שנית, הן אינן משמשות כשגרות אירוע. שגרות ופונקציות יכולות לבצע מטלות. למעט הנקודות שצוינו, ניתן לנצל את שני הסוגיס לביצוע מטלות והות רבות. פונקציה היא אוסף משפטי 88/, תחומים בין משפטי חסוש6חט] ו- הסוזס6חט- 0חם. פונקציה יכולה לקבל ארגומנטים בדיוק כמו שיגרה. היא יכולה להכיל ביטוי אחד או יותר, שלפחות אחד מהם יכול לקבוע את הערך שיוחזר בשס הפונקציה. אפשר לסייס פונקציה לאחר קביעת ערכה, באמצעות המשפט חסופסחטם זואם. כל פונקציה יכולה להכיל כמה משפטי חסטסחגת זואם. פונקציה מסוגלת להחזיר ערך, אך אינה חייבת לעשות כך. פונקציה יכולה להיות אוסף משפטים המפעילים שיטות ומגדיריס מאפיינים, מבלי להחזיר ערך. זו אחת התכונות המשותפות לפונקציות ולשגרות. אתה מתתיל פונקציה ושיגרה באותה דרך, אך בתיבת הדו-שיח 16ט660סזק 06, יש לבחור באפשרות חסחסחט" במקוס באפשרות טש5. ניתן להפעיל פונקציה על ידי לחיצה על הלחצן 50/0500 חט₪ שבסרגל הכליס 0ז08ח8ז5 של 85/. תוכל להפעיל פונקציה גס מתוך החלון 1661316ח1: הקלד סימן שאלה ואחריו שס פונקציה. אס הפונקציה כוללת ארגומנטים, יש להציבס בסוגריים ולהפרידס בפסיקים. מתוך חלון זה תוכל להפעיל פונקציות שכתבת בעצמך וגס פונקציות מוכללות של 606655. תרשים 1.5 מציג את %85 עס פונקציה פשוטה הקובעת אס התאריך המופיע כארגומנט, חל במילניוס השלישי. כדי לעמוד בכללים המקובלים, נתייחס למילניוס זה כאילו הוא מתחיל בשנת 2000 במקוס בשנת 2001. הפונקציה 16%א2ז68צ קולטת תאריך ומחזירה 3 אס התאריך חל במילניוס השלישי, או 0 בכל מקרה אחר. החלון חח המוצג מתחת לחלון 6006, מציג את תוצאת הפעלת הפונקציה על שני תאריכים שוניס. החלון 180186 שבתרשים 1.5 מאשר את התוצאה על ידי החזרת הערך 3 לארגומנט שהוא היוס הראשון בשנת 2000, ואת הערך 0 עבור היוס הראשון בשנת 1999. שיס לב כי עליך לתחוס את התאריך בין תווי %. 0 הח 2000 460655 |<ום]=. א ו ] 66 - | ] + - | ססצת 25 (מ023661ם46) 1532221655 מסנפסטסמגוץ שג1גגוק 3 וגגו1ממ1116 86ע3 מ202 7532221656 ' 0 = 82%1656צ מסשמך 812/31/19998 < מ80028861 +1 3 = 76-2076565 5 תס מסנפסתגוץ הבמס ב | 2758227550 )81/1/20008( 9 2758227550 )81/1/19998( 0 תרשים 1.5: פונקציה פשוטה שמופעלת מתוך החלון 601806וחוח1 הדוגמה הבאה מציגה גישה מתוחכמת יותר לזיהוי המילניום. הפונקציה פותחת בהצהרה על טווח התאריכים המדויק. לאחר מכן היא בודקת את הארגומנט כנגד שני תאריכי ציון. אס התאריך אינו חל במילניוסם הראשון או השני, הפונקציה מניחה שהוא חל במילניוס השלישי. משפט תיבת ההודעה ההתחלתי מציין את טוות התאריכים שבו הפונקציה מחזירה תוצאות מדויקות. 6 25 (ח8%61כ 0% )והטוחפ!!ווזה !טוקס הסטססחט= ס6ווטוק = ,".1/1/3000 6ז06]0 30 12/31/0099 זס10ה 08005 זס1 5אזסעע פוחד" אס ₪5 "2000 60655 167050 חהווהותהזפסזק" ,הסטפווס+ה1סצ הסחך 212/31/999% => ח61כ 00 +1 1 = וחטוחס6!!וויזה!טקסק הסחד 212/31/1999% => ה[6ז3 הז ]₪561 2 = וחטוחפו!וויזה!טקסק 6 3 = והטוחסו!ווז ה!טוססק 0ח= חססס6חט= 6ח= טווח התאריכיס החוקי של 2000 8460655 הוא 1/1/100 עד 31/12/2999. טווח זה מספק את דרישות מרבית היישומיס השולחניים. אס תידרש לטפל בתאריכים החורגיס מטווח זה, שקול תכנות תאריכיס בנפרד ממערכת התאריך הסדרתי של ₪00055. פרק 1: היכרות עם הפצ 31 הערה: 0 066055 תואם לשנת 2000. כמו גרסאותיו הקודמות, הוא מאחסן את ערך השנה בארבע ספרות. היישום גם מטפל בצורה תקינה בשנים מעוברות: שנה שמתחלקת ב-4 היא שנה מעוברת, אלא אם היא מתחלקת ב-100. לעומת זאת, שנה שמתחלקת ב-400 היא כן שנה מעוברת. שנת 2000 מתחלקת ב-400, ולכן היא שנה מעוברת. כלל זה הוא קריטי כשמחשבים את ההפרש בין שני תאריכים. תבנית התאריך הכללי ותבנית התאריך הקצר של 866655 מנצלות את אפשרויות תבנית התאריך הקצר של מערכת ההפעלה, כדי לקבוע כיצד להציג את התאריך בצורה תקינה. אם תשנה את ההגדרות האזוריות שבלוח הבקרה להצגת השנה באמצעות ארבע ספרות, כל תבניות התאריך הכללי תצגנה את השנה כך. החוקים שתוארו אינס כופיס עליך לפתח יישומיס באופן שמבטיח אותם מפני בעיית שנות 2000. למרות ש- 2000 66655 תואס לשנת 2000, כל יישוס שלו מועד לבעיה. בקר באתר 6670050%]: (06180|.00(0/א6372ץ/0165+/+6 חת%66/ 60.ש670501ורח. אווצצ) לקבלת סקירה על הנושא, ומאמריס ייחודייס על מוצריס והתאמתם לשנת 2000. אתר 5 (5ז6ק8ק 2000 זה6 א ]וזח א06ח/5זק 603 ו 6.60הו5ח+. אושאו) מציג עמדה שונה בסוגיה זו. 5" משווקת מוצר שנקרא ז105066)0 4600655 |%סד שאמור לזהות בעיות תאימות שנת 2000 ביישומיס מבוססי 00055(. תוכל להשתמש בשגרות ובפונקציות כדי לפתח פתרון לבעיה. תרשים 1.6 מציג טופס שמבוסס על שגרות ופונקציות. הטופס מאפשר למשתמש להקליד ערכים בתיבות הטקסט שתוויותיהן 1 זפוט ו- 2 זסטוחטא. לחיצה על לחצני /, *, - או +, גורמת לחישוב התוצאה והצגתה בתיבת הטקסט שז₪6501. [< )= | הזז ] : [זס)הּ!טוסוהּ:)חזז) ₪3 תרשים 1.6: טופס זה משמש כמחשבון פשוט. פונקציות 8 מאפשרות שימוש בלחצני הטופס ומציגות את התוצאה בתיבת הטקסט פס בהתאם לערכים שבשתי תיבות הטקסט האחרות קוד 54 של הטופס שבתרשיס 1.6 מנצל רק ארבעה זוגות שגרות, כפי שמתואר בהמשך. ארבע שגרות מטפלות באירועי הלחיצה על לחצני האופרטורים לחישוב. הטיפול באירועים ממוצה בקריאה לפונקציה ששולפת ערכיס מתוך שתי תיבות 2 החש 2000 460655 טקסט, מבצעת פעולת חישוב באמצעות האופרטור שמצוין על הלחצן שנלחצ, ומחזירה את הערך שחושב לשגרת האירוע. בתגובה, מציבה שגרת האירוע את הערך המוחזר מהפונקציה בתיבת הטקסט השלישית בטופס. שיס לב לשימוש האופציונלי בקידומת 6 לפני שמות תיבות הטקסט. משוס שהקוד הינו קוד הטופס שכולל את תיבת הטקסט, אין חובה לצייןו את שס הטופס. שגרות האירוע מנצלות את הקידומת 6 במקוס שס המחלקה הארוך והרשמי של הטופס, 071ז3|ט68|6וח חחזסם. 6 6065 הסטקס +וסוקאם הסטקס 6פטסס 15 00565016 הזוס ()א116 חהס 6000 500 סזפטוזק = ]00650 16 סט5 0חם ()00617 ץע הססס6חטת 6זהעוזק (2ז6ס רת טאס)|פכ6 + (1זספותטא)ס)!פכ6 = 6506חופט 0050 = זסססתשץו חסססחט= סח= ()א116 007860 6050 500 6זפטוזק סש = ]04650 16 טפ 0ח= ()זס86% 07 1/5 הסס6חט= 6זהעוזק (2 זו טא )6 - (1זספותטא6)ס)|פכ6 = 6506חופ | = זס86%פט5ץו! חסססחט= סח= ()66ו61 הססתסו|ק!טח6 סט5 6סהעוזק זסו|קם|טואץוא = 06506 6 סט5 0חם ()זסו!קטוטואץו הסטס6חטת 6זפעוזק (2ז6 סרח )ופ * (1זסטותטא)ס)!פכ6 = 6506חופ פוטס = זסווקטוטץו חססטסחט- 0חם ()א6ו61 חסופוטוכ 0וח6 סט5 6סהּעוזק ועו ץ א = 6.0650 סט5 0חם ()ז06ועוכ עו הסטסחט= 6זפעוזק (2ז6 ו טא )6 / (1זסטוטצט)ס)|פכ6 = 6506חופ 0 = זססוטוסץו חססטסחט- 0חם הפונקציות והשגרות נמצאות במודול הקוד של הטופס. המשפט חחום שבראש המודול מצהיר על משתנה שכל שגרות המודול יכולות לגשת אליו. המשתמשים יכוליס ללחוצ על לחצן אופרטור אחד בלבד בזמן נתון, ולכן ניתן לשתף את 00!₪6505. משפט פרק 1: היכרות עם 88‏ 33 +וסו|ץא= הסושק0 כופה הצהרה על משתנים בטרס שימוש בהם, כדי להימנע משגיאות דפוס המהוות מקור שכיח לשגיאות בתוכנית. 2336 6ז3קוח60 הססקס הוא מפרט ברמת-מודול המקצה משתני מחרוזת ממויניס בסדר שנקבע בלוח הבקרה. זוג השגרות הבא מדגיס את רוב הנושאיס הקשורים לשגרות, פונקציות ושיטות בהס עסקנו בתחילת הפרק. הטופס 2ז17168|60!300 כולל שני פקדיס בלבד: תיבת טקסט שנקראת זטסח1ט ולחצן פקודה שנקרא ז605000876. כשהמשתמש לוחצ על הלחצן, הטופס מחשב את השורש הריבועי של הערך שבתיבת הטקסט. השיגרה מציגה את התוצאה בתיבת הודעה. 6 6 60 הסטקס +וסו|קאם חסטקס 6פטסס 15 00565016 הזוס ()א6116 605008767 500 סזפעוזק טח 2 30| 68|60חז חס זס זה טף5עוו סט 0ח= (6!פטסכ 45 זסטוחטא6ר06ץז)זסז ץז פטפ 6וופטק רחשו * זסטותטאו6ר06סץוא = 6506אוטפס אס 50 5 0 056 6 0ח50780]|! 65ח5598%616 |החסשקס ' "0610" |סשחס6ס ד0.00ות6סס - ' 5 פטס ' 3658/60 ,"2זס68160!3%ז)" ,וח'זס-36 6|056. חספ סט 0ח= שגרת האירוע 6|66 6065008767 מפעילה את השיגרה זסז8ט50ץ₪ ומעבירה לה כארגומנט את תוכן תיבת הטקסט זטסח1)אס. זסזהוף5ץוא מחשבת את התוצאה ומציגה אותה בתיבת הודעה. שלוש שורות ההערה האחרונות מציעות פעולות נוספות לביצוע. השורה הקוראת לשיטה |₪0ח601060 מתארת כיצד להעביר את המיקוד מהלחצן אל תיבת הטקסט. השורה הבאה (560-0605) מציעה דרך חלופית להשיג תוצאה והה. השיטה 6|056 מתארת סגירת טופס. שיס לב ששורה זו מציינת שס נוסף 2ז168!60!800, באמצעותו היא מפנה לטופס. יש חשיבות לשימוש בקבוע 8658/60 מכיון שהוא מאפשר לסגור טופס ללא בקשת אישור שמירה מהמשתמש. שגרות מאפיין שגרות מאפיין משמשות להגדרת מאפיינים מותאמים אישית לטפסים, דוחות ומודולי מחלקה. בסעיף הבא נעסוק במודולי מחלקה, בפרק 7 נציג דוגמאות לשגרות מאפיין. יש שלושה סוגי משפטי מאפיין: 66% שזזוסקסזק, 16% וקסוק ו- 56% ץצזסקסזס. תוכל לנצל משפטים אלה להוספת מאפיינים מיוחדיס לטופס. המשפט 066 ץזזוסססזק ובו ווגו שזסקסזק 0ח= יכוליס להתחזיר ערך, בדיוק כפי שעושה פונקציה. אס מגדיריס 4 ם/ 2000 460655 מאפיין בעזרת משפט 660 שזסססזק בלבד, המאפיין יהיה לקריאה בלבד. מאפיין כזה נוח לשימוש אס אתה יכול להציג ערך כלשהו, אך לא לשנותו. למשל ציוני מבחניס. קיימיס מאפיינים שלא ניתן לקרוא, אך יש חשיבות ליכולת לשנותם. לדוגמה, מנהלי אבטחת מסדי נתונים אינס וקוקיס ליכולת לקרוא סיסמאות משתמשים; הם רק צריכים להיות מסוגלים לדרוס אותן כשהמשתמשים שוכחים את סיסמת הכניסה שלהסם. המשפטים 16% שזסססזק ו- ץזוסססזק 6ח= יכוליס לשמש להגדרת סיסמה. המשפט 565 ששזסקסזק דומה למשפט 16% שזפקסזק בכך ששניהס משמשים להגדרת מאפיין. המשפט ז6! שזסקסזס מגדיר מאפיין ששווה לסוג נתוניס, כגון מחרוזת (פַח501) או מספר שלם (ז6606ח). המשפט 565 שאהסקסזס מגדיר מאפיין ששווה להפניה לאובייקט. משתמשיס במשפט 56% ששוזסקסזק בצירוף הפניות לאובייקטים, כגון הפניה לטופס או לדות. מאפייניס רביס הם לקריאה ולכתיבה גס יחד, ולכן לעיתיסם קרובות משתמשים במשפט )66% ששזסקסזק יחד עס המשפט 16% שזפקסזק או 561 שזסקסזק. במקרה זה, על זוג משפטי שזסקסזק להיות בעלי שס והה, כדי שיוכלו להפנות לאותו מאפיין. מודולים מודול הוא מכולה של שגרות והצהרות, כגון זוסו|קאם חסטקס ו-חופ. קיימים שני סוגי מודול בסיסיים. הסוג הראשון הוא מודולים סטנדרטיים המוצגים ברשימה לאחר לחיצה על הלחצן מודולים (65!ט0סו₪) שבחלון מסד נתונים (פפהּפהּזהכ). השגרות במודול סטנדרטי אינן תלויות באובייקטיס הקיימיס בקוב מסד נתוניס של 60655. משמעות הדבר, שאין הפניות אל 6 או שמות פקדים ללא קידומות מתאימות של הפקדים. לעומת זאת, יישומים יכוליס לפנות לשגרות במודוליס סטנדרטיים מתוך כל אובייקט אחר. הסוג השני הוא מודול מחלקה (100!6! 6!855) ובו שלושה טיפוסיס בסיסיים: מודולי מחלקת טופס, מודולי מחלקת דוח ומודולי מחלקה מותאמים אישית. עקרונית, מודוליס יכוליס לגשת לשגרות שנמצאות במודוליס אחרים. ניתן להוציא שיגרה מחוצ לטווח ההכרה (56006) הכללי על ידי השימוש במילת המפתח 6זהּעטוזש (פרטי) בעת הגדרת השיגרה (תרשים 1.7 מציג דוגמה לתתביר). תוכל גס להצהיר מפורשות על שגרות כבעלות טווח הכרה גלובלי על ידי שימוש במילת המפתח שוופשפ (ציבורי). מודול טופס הוא מודול של טופס כלשהו שכולל הצהרה או שיגרה אחת לפחות. יצירת שגרת אירוע של טופס או פקד בטופס, גורמת ליצירת מודול מחלקת טופס. מודולי מחלקת דוח פועלים בצורה דומה למודולי מחלקת טופס, אך אירועי דוח שוניס מאירועי טופס, ובדרך-כלל לא יופיע צירוף פקדיס זהה בטופס ובדוח. תוכל ליצור מודולי מחלקה מותאמים אישית המכילים פונקציות שיטה ופונקציות שיגרה של אובייקט כלשהו, כגון עובד או חשבון בנק. תוכל לייחס את השיטות והמאפייניס למודולי מחלקה מותאמיס אישית, כפי שניתן לעשות עס מחלקות מוכללות של 5 פרק 1: היכרות עם 84 | 35 השימוש במודולי מחלקה מותאמים אישית דומה לשימוש בשבלונה ומטרתו ליצור מופעים (5%80065ח1) חדשיסם של מחלקה. 06655 מאפשר לעשות זאת בשתי דרכיס. הראשונה, באמצעות משפט וחום אחד שמגדיר את המחלקה וגם יוצר מופע חדש של המחלקה שהוגדרה. להלן תחביר המשפט: 5 ש 66 5 06ח5%8ח1[פס חחוס הגישה השנייה מבוססת על שני משפטים. הראשון מצהיר על מופע האובייקט. השני מגדיר הפניה אל האובייקט. להלן תחביר המשפטיס : 5 88 606ח5%8ח00[1 וחוס 5 ששס)] = 06ח00[105%8 56% השס 0916855 פונה למודול מחלקה הכולל שגרות מאפיין ופונקציות שיטה ציבוריות. פונקציות שיטה אלו פועלות כשיטות מחלקה, בדיוק כפי ששגרות מאפיין משמשות להגדרת מאפייניס. פרק 7 מתאר כיצד יוצרים ומשתמשים במודולי מחלקה מותאמיס אישית. ממשק 85 השינוי הבולט ביותר בסביבת הפיתוח של 260655 הוא הממשק החדש של 85/. מנקודת המבט של ממשק הפיתוח, ממשק %85 מגביר את התאימות בין 0 2600585 ליישומי 01606 האחרים (זס/ש, |66אם ו-6חוסקזטשוסק). בסעיף זה נבחן לעומק את תכלית החלונות ופריסתם וכיצד משתמשיס בהם לניפוי שגיאות ופעולות נוספות. כמו-כן נסקור את השימוש בסורק האובייקטיס (ז6פו0ז8 606[טס). חלונות 85 0 0606055 מציע לפחות שלושה נתיבים אל 85/ של מודוליס שאינס תומכיס בטופס או בדות. מי שיש לו ניסיוו בפיתוח באמצעות רכיבי 06666 אחרים, יכול לבחור בחלון מסד נתונים (28190856) את תפריט כלים (10015), מאקרו (סזסגוא), 83516 |בּטפו ז0פ?ו56. קיצור הדרך מהמקלדת הוא 11=+/4. מקשי הקיצור מאפשרים גם להחליף בין עורך 8 לחלון מסד הנתוניסם. אפשרות נוספת, אם ברשותך מודולים סטנדרטייס כלשהם, לח על לחצן מודולים (65|ט0סוא) שבחלון מסד נתונים, ואחר כך לח לחיצה כפולה על מודול סטנדרטי שברצונך להציג. חלון 85 ייפתח כשהוא מציג את המודול שבחרת. כדי ליצור מודול סטנדרטי חדש, יש ללחו על לחצן מודולים בחלון מסד נתונים ולאחר מכן על חדש (שסא) בסרגל הכלים. פעולה זו תפתח מודול חדש וריק. 6 הח 2000 460655 הערה: צוות הפיתוח של 0166 עובד על פיתוח נתיב הפעלה רביעי של 85 שיהיה מוכר לחלק מהמפתחים לסביבת 66655. הנתיב החדש יאפשר לבחור, טופס או דוח, או מודול סטנדרטי בחלון מסד נתונים וללחוץ על לחצן קוד (6006). לחצן זה יפתח את 85 כשהוא מציג את הקוד התואם לאובייקט הנבחר. כדי להגיע אל מודול התומך בטופס או דוח, עליך לפתוח תחילה את האובייקט בתצוגת עיצוב (חו69כ). תוכל ללחו על לחצן קוד (6006) שבסרגל הכליס עיצוב (ח0ו65כ). חלון 85 ייפתח ויציג את ראש המודול. כדי לעבור לשגרת האירוע המטפלת באובייקט מוגדר בטופס או בדוח, לחץ על הלחצן בניה (801!0) בשורת המאפיין הרצוי, בכרטיסיה א*רוע שבגיליון המאפייניס. אס לא קיימת שגרת אירוע לאירוע הרצוי של האובייקט, הלחיצה על לחצן בניה ובחירה בבונה קוד (זססווטם 0006) תפתח שגרת אירוע ריקה. כשתגיע ל-85/, תרצה בוודאי לפתוח את החלונות 605[סזש (המכונה גס 60%5[סזק זסזסוקאם) ו- 165ו6קסזופ. חלונות אלה מאפשריסם לפתוח ולבחון מודוליס נוספיס של היישוס בצורה נוחה. החלון 0166%זפ מציג מודולים שאינס תומכיס בטופס או בדוח ונמצאיס בתיקיה 06₪165. מודוליס שתומכיםס בטפסים ובדוחות נמצאיס בתיקיה 5 0!3585 166655 11670501%/. כדי להציג ולהגדיר את האובייקטיס הקשוריס למחלקה, תוכל לבחור תיקיה הקשורה לטופס או לדוח. לפתיחת חלונות אלה, בחר בפקודה המתאימה מתוך תפריט ששו/ (תצוגה), או השתמש במקלדת או בלחצני סרגל הכלים. הערה: כדי שהחלון 65'ו6כסיוש יוכל להציג את האובייקטים של מחלקת אובייקט ב-460655, אובייקט זה חייב להיות פתוח בתצוגת עיצוב (חַו65כ). לחיצה כפולה על מודול או על מחלקה בחלון 01605זש מציגה את ההוראות וההצהרות המתאימות בחלון 0006 התואם, אך האובייקטים מופיעים רק בתנאי שאובייקט המחלקה גם פתוח בתצוגת עיצוב. תרשיס 1.7 מציג את קוד מסד הנתוניסם המדגמי של פרק זה, לאחר טעינתו ל-85/. חלון 66%[סזופ מציג את המחלקה 580!61חז וחזס] שנבחרה. תחת חלון זה ניתן להבחין בחלון 61165קסיזש המציג את פקד התווית של כותרת הדוח שנבחר. החלון מראה גם שלפקד התווית שיגרה הקשורה לאירוע >6ו|0ח0. החלון 0066 שמימין לחלונות 0[66%ז2 ו-67%/65ק0זש מציג את קוד שגרת האירוע. באפשרותך להזיו, לשנות גודל או לעגן כל אחד מחלונות אלה. פרק 1: היכרות עם 84 | 37 [אזם) -] ו | אוסטחו/ ‏ 5חז-84 סד הו בנוספ =חפפת1 אופוע 36 ₪6 | |9 קשש9%]|)א.ה, 55 ₪9 00/|₪.4 5 | ץז 5 6 8 תרשים 1.13: כך נראה חלון 111601816 בעת הפעלת שגרות ופונקציות מוכללות פרק 1: היכרות עם הפע - 41 תרשים 1.13 מציג שלושה שימושיסם אפשרייס של החלון 6613%6ו₪ו1₪. עסקנו בפונקציות אלו בתחילת הדיון בשגרות, אך לא הצגנו את הפלט שלהן בחלון 6 חן. הקלדת 5668|60|8007זוחץו] והקשת זפזח= בחלון 6613%6וחוח1, מפעילה שיגרה שנקראת בשס זה. מופעלת הפונקציה שמדפיסה את התוצאה 3 בחלון. כך גס בשיגרה זס68|!56600068)60!3%, והתוצאה במקרה זה היא 4. הדוגמה האחרונה מציגה כיצד מצייניס ארגומנטיס עבור הפונקציה ז068!6|8%0ח5600עו. כל שעליך לעשות הוא להקליד את שמה, רווח ואת הארגומנטיס כשהס מופרדיס בפסיקים. לדוגמה זו חשיבות מכרעת, כיון שהיא ממחישה את אופן השימוש בארגומנטיס המועבריס לשיגרה או פונקציה כדי לחשב ערך החזרה. תוכל גס לנצל את חלון 1₪116013%6 להפעלת פונקציות מוכללות ומותאמות אישית. בעבודה עס פונקציה, עליך לציין פקודת הדפסה כדי להחזיר את תוצאת הפונקציה. באפשרותך להקליד את מילת המפתח שחוזק, ללחוצ על לחצן +, או להקליד את שס הפונקציה ולסיים בהקשה על זפטח5. הדוגמה האחרונה שבחלון ₪16013%6וח1 מציגה כיבד קוראיס לפונקציה המוכללת ס6ַז8ם. סורק האובייקטים 80501 021665 (סורק האובייקטיס) המוצג בתרשיס 1.14, הוא כלי רב-עוצמה ללימוד נושא מודלי אובייקט. הכלי חשוב במיוחד למפתחיס בסביבת 06655, עקב החידושיס הרביס שהוא כולל בנושא מודל האובייקט. לדוגמה, 2000 860655 כולל שפת פיתוח חדשה לגישה לנתונים - 400 (000[66 2818 6%ע60ה) - שתדחק בסופו של דבר את מקומה של ₪220 (00[605 860655 28%%) ממקומה. מימוש ססג ב- 2000 406655 מבוסס על לפחות שלושה מודלי אובייקט. בטרס תציג את מחלקות האובייקט של 400 בסורק האובייקטים, עליך להגדיר הפניה אל הספריה המתאימה. בחר 15ססד (כלים), 60065ז₪616 (הפניות) כדי לאמת או ליצור קישוריס אל ספריות מסוג 00ג. פתח את סורק האובייקטים על ידי לחיצה על הלחצן ז56וס0ז8 66[פ0 בסרגל הכלים הרגיל של 85/. ניתן לפתוח אותו גם באמצעות תפריט שסו/ או הקשה על מקש הקיצור 2=. אחת הספריות ססג נקראת 8סססגה. בחר אותה מתוך הרשימה הנפתחת ץזאזטו !/+60[סזק בראש סורק האובייקטים. בחירת הספריה משנה את תוכן הרשימות 6135565 (מחלקות) ו-9675ו₪16 (חברים) של הסורק. תרשיס 1.14 מציג את המחלקה 66070566 שנבחרה מתוך הרשימה 6|35565 ורשימה מעורבת של מאפיינים, שיטות ואירועיס המוצגיס ברשימה 965ו₪16. בחר ערך של חבר ולת על לחצן ! כדי לקבל עזרה מפורטת בנושא. הודות למנגון החיפוש שלו, סורק האובייקטים מסוגל גם לחפש מחלקות וחברים מוגדריס. השתמש בתיבת הרשימה הנפתחת השנייה כדי לציין קריטריוני חיפוש. לעיתיס מקבליס כך מחלקות וחברים נוספיס שנמצאיס בספריות שונות. סורק האובייקטיס מאפשר לבדוק אותס בנפרד. 2 החש 2000 460655 <ום) = ז0פאסזם )ספןט 0 ש' | | 4% |- 86010581 01 זט וחפוון 5 ' וו 7 | ]= | טחמה זובזב שב 1] ;188 ': הנח 198 חק ב 1 ]| 8>: הזב ₪ > והטח=31 והז 75151 זב 5 18| %>: המהטחם תסוופ 0 ₪ ]>> טסו ₪4 ח08 + [סססז ₪ [ 01 3080 9ק ההנח= 8ז מז הו סז ב 38 ₪ [שן 5 9 ההטח= 8607051810 ב 03808 600פת 7 והטח=6הע9 שב = 960000 ₪5 = ההטח83ח56 שב 4 0]355 8 01 זססחזשו! תרשים 1.14: מחלקת ערכת הרשומות של 008 ומבחר מחבריה, כפי שהם נראים בתצוגת זספווסזם 00166 %, סוגי נתונים והצהרות ב-466055 עליך לציין סוגי נתוניס במקומות רבים, לרבות משתנים בשגרות וטבלאות נתוניס שמאוחסנות בהתקני אחסון. הסעיפים הבאים עוסקים בנושאי פיתוח הקשורים לנתוניס שמקורס ב- 4 36% ובשימוש במשתנים בשגרות. 5% 0 60655 תומך ביסודו בשני מנגנוני מסד נתונים. במקור, 860655 היה קשור למנגנון מסד הנתוניס 265. 2000 860655 כולל גם תמיכה מוכללת במסד הנתוניס 7 567 501. פרק 12 עוסק בהיבטי התאימות של 2000 460655 עס ]567/68 501. הסעיף הנוכחי עוסק בהשפעות חידושי 4 360 על עיצוב יישוס 2000 860655. חידושיס אלה מסוגליסם להשפיע על גודל קבצי מסד הנתונים ועל נעילת רשומות, על אופן הטיפול בסוגי נתוני שדות שנבחריס (כולל שדות המפתח סח6!! (תזכיר), אחווזספץ₪ (היפר-קישור) ו- פחטחסות6זסחו-ססטה (מספור אוטומטי בהפרשיס קבועים) וקישוריס אל מקורות נתוניס חיצונייס. פרק 1: היכרות עם הפצ 43 0 8660655 מאחסן את כל נתוני הטקסט וההערות בתבנית 06ססוח. תבנית זו מחליפה את מערך התוויס מרובה הבתים - 1865 (560 ז6087860 66ץט-טוטח) שהיה מקובל בגרסאות קודמות של 60655, לטיפול בשפות כגון יפנית, סינית ועוד. 6סססוח הוא תקן-משנה של 10646 150, המתאר את שיטת הקידוד הדיגיטלית של כל השפות הכתובות. תקן חדש זה מייצג כל תו באמצעות שני בתיס (65ץ8) ולא באמצעות בית בודד, כפי שהיה נהוג בשיטה הקודמת. לכן, מסדי נתוניס שמבוססיס במידה רבה על שדות מבוססי-תו, עלולים להכפיל את גודלם. 3% מתגבר על הבעיה על ידי דחיסת הנתוניסם ופרישתס מחדש לפי הצורך. הוא דוחס שדות תזכיר (סוח6!]) באורך 4,000 תוויס או פחות, כך חלק משורות שדה נתוני התזכיר נדחסות, אס כי לא כולן. 5 וגם 00 דוחסים אוטומטית תוויסם בקידוד 06ס6וח, אך 0גכ אינו תומך בדחיסת נתונים מסוג מחרוזת. מתכנתיס שמפתחים ב- ‏ 501 266 יכולים לבחור באפשרות 5510%=חקוו60 הדנצ בעת הגדרת טבלאות. נוסף לתבנית הייצוג של סוגי הנתוניס, גודל הדף הוכפל ומעתה גודלו 4%8, דבר שמצמצם את הפעולות הבו-זמניות שמקורן בהתנגשויות נעילת דף ((00)|-0886). % פותר את הבעיה באמצעות נעילת שורה יחידה. ניתן להקטין את בעיית הבו-זמניות על ידי נעילת רשומות בודדות במקוס נעילת דפים שלמים. 2000 466658 מאפשר למשתמשים לעדכן שתי רשומות בו-זמנית באותו דף. הערה: גודל הדף החדש מגדיל את הגודל המקסימלי של מסד הנתונים מ-1.07 ג"ב עד 2.14 ג"ב. נעילה ברמת שורה בודדת היא אפשרות ברירת המחדל הכללית, אך משתמשים ומפתחים יכוליס לנצל את הנעילה ברמת הדף, כפי שהיה מקובל בגרסאות קודמות. שדות תזכיר ואינדקסיס אינס תומכים בנעילה ברמת שורה בודדת. גישה לנתוניס באמצעות 20 או 501 26% מאפשרת לחזור לנעילה המקובלת ברמת הדף. גישה לנתוניס באמצעות טפסי 866655 ו-040 מתבצעת תמיד באמצעות נעילה ברמת שורה בודדת. נעילה ברמת שורה בודדת חיונית לצמצוס התנגשויות בו-ומניות, אך היא כרוכה בתקורה גבוהה של הגדרה והסרת נעילות רשומה. השפעת התקורה תלויה בגודל הרשומה יחסית לגודל הדף, ולמספר הנעילות הדרושות במשימה אחת. המעבר ל-0006סוח() מאפשר לבצע מיון תואס דא פווספחו/ 0פסזסווא, מה שמשפר את התאימות והביצועיס, מכיון ש- 2000 860655 מסוגל לבצע מיון עקבי תחת מערכות ההפעלה 95 פשספחו/ ו- זא פשספחו/ כאחד. הדבר אפשרי מכיון ש-95 פווספחו/ תומכת במיון בשפת ברירת המחדל של המערכת, בעוד ש- דא פ5אוססחו/ תומכת במיון תקין בשפות רבות. 4 ם/ 2000 460655 בנוסף, 6 8856 |1508/ ו- 7 זסוז56 501 תומכות בתקן מיון והה, וכך ניתן לתקנן מוצרי תוכנה רביס. ברוב השפות 2000 460655 מבצע מיון במהירות גדולה ב-50%, אך בשפות מסוימות (כגון תאילנדית) הוא עושה את במהירות גדולה אף יותר. 4 3% תומך ביצירת אינדקס של 255 התוויסם הראשונים של נתוניס מסוג תזכיר (סוח6!!). גרסאות מוקדמות של 66655( ו-36% לא תמכו ביצירת אינדקס של שדות תזכיר. האורך המוגבל של האינדקס אינו עונה על הדרישות של יישומי שדות תזכיר, אך יש לו משמעות מיוחדת עבור נתונים מסוג היפר-קישור, שנגזר מסוג הנתוניס תזכיר. שיטת יצירת האינדקס החדשה מסוגלת לשפר את המיון והחיפוש של שדות חיפר-קישור. 4 3% גס מאפשר למפתחים לציין ערך התחלתי וערך צעד (סטופצ 500) עבור שדות מספור אוטומטי בהפרשיס קבועיס (סחסחסוחסזסחו-ססטה). בנוסף, המשפט החדש = ופד =5ד1ה מאפשר למפתחי 501 6%( לאפס את ערכי ההתחלה והצעד. כדי לשתזר את הערך החדש של עמודת המספור האוטומטי בוחרים משפט ץ-1דא66105 ז0ם |55 חדש. יש להעביר את ערך משפט ‏ 501 כטקסט 501 המיועד עבור השיטה ח6ק0 של אובייקט ערכת הרשומות (766070560) במשפט ססג. 0גס אינה תומכת במשפט החדש. 4 3% כולל את הטכנולוגיה המשופרת הניתנת להתקנה 154%, בכמה תחומיס. 154% עשויה להשפיע על הודמנויות הפיתוח ב-866655 כשיש להשתמש במקורות נתוניס חיצונייסם. הגירסה החדשה | !זאד של 158% מאפשרת לקרוא מסמכי 60) שמבוססיס על תבנית 6006וח0. 1586 ספַח8ח%6ם החדש כולל שיפורים בתחומיס אחדים. ראשית, הוא קורא אינדקסים מתוך 56/8 06ח8ח6א5, דבר שמאיץצ בצורה דרמטית את תהליכי החיפוש אחר רשומות במקורות נתונים של 6פַח608אם. בנוסף, הגירסה החדשה ‏ של 1546 תומכת בפנקס הכתובות של פשסשחועש (₪006 4007655 פשססחוץ) של הלקוח 655זקאם א>ססטטס אספסזסווא. בעסקיס קטניס שבהם הדואר מיועד בעיקרו למשלוח חיצוני ולא פנימי, יש בכך יתרונות משמעותייס (אם כי בתחוס הפריון האישי בלבד). שיפור נוסף הוא יכולת 360 לאחזר לקוחות *סס%וס מוגדרי-התאמה אישית וגסם של לקות א>ססשטס תחת -567/6 6בַההחה6אם. משתמשי מסדי הנתוניס 08856 ו-287800% יכוליס להמשיך לגשת למסדי נתוניס אלה עס זכויות קריאה וכתיבה באמצעות 5 36%. משתמשיס הזקוקיס לתמיכה בגירסה עדכנית יותר, חייביס להשיג עותק של 6חוסַח= 08180856 סחהוזסם מיצרן תוכנה אחר. סוגי נתונים הפ משתמש במשתניס לשמירת תוצאות חישוב, להגדרת מאפיינים, שליחת ארגומנטיס לשיטות ולהעברת ערכים בין שגרות. כדי שיתפקד בצורה יעילה, 84 מבסס משתניס אלה על קבוצת סוגי נתוניס. בסעיף ה נתמקד בסוגי נתוניס של משתנים. סוגיס נוספיס של נתוניס דומים באופן כללי, אך 860655 מאפשר להשתמש בסוגי נתוניס שוניס לכל משימה. פרק 1: היכרות עם הפצ - 45 הטבלה שלפניך מציגה את סוגי הנתוניס העיקריים ודרישות האחסון שלהס בתוכניות הפ/. מפתחים הזקוקים לרמות דיוק גבוהות בחישוביהס המספריים יכולים לנצל לשם כך את סוג הנתונים |08ו66 (עשרוני) בתור קבוצת-משנה של סוג הנתוניס %ח8וזה/. סוגי הנתוניס |03ו60 הס מספריסם שלמים לא חתומיס של 12 בתיס שקנה המידה שלהס מציין את המספר המרבי של ספרות עשרוניות שניתן לאחסן מימין לנקודה העשרונית. לא ניתן להצהיר על סוג נתוניס |08ו66 באמצעות משפט וחופ, אך אפשר לאחסן סוג נתוניס כזה על ידי הפיכת 880% בעזרת הפונקציה 6066. כללית, רצוי להשתמש בסוג הנתוניס הקטן ביותר האפשרי, כדי להותיר מקוס בויכרון עבור משתנים נוספים ופקודות ביצוע של יישומים. יחד עם ואת, כאשר זקוקים לדיוק גדול בפעולות חישוביות, ניתן להשתמש בסוג הנתוניס |18וס6פ. אס לא תצהיר על משתנה בתור סוג מבין המוגדריס, 460655 יקצה לו את סוג הנתוניס +חהּוזה. סוג נתונים וה הוא גמיש, מכיון שהוא מטפל בערכיס מספריים ובערכי מחרוזת כאחד. סוג הנתוניס +חהּווה יכול לאחסן את כל שאר סוגי הנתוניס חוצ מסוגים מוגדרי-משתמש (שנגזריס מכל שאר הסוגיס). כש-84/ מבצע פעולה על שני נתוניס מסוג +חהּוז3/, עליו לאחזר תחילה את תוכן הנתון השני ולהמיר את התוצאה לסוג המשנה של ה-+חהּוו3 הראשון. תהליך וה מאט את הטיפול במשתני 8806 לעומת משתניס מסוגים אחרים. בנוסף, סוג המשנה של הנתוניס המוחזר באמצעות הפעולה, עלול להיות שגוי בהקשר של היישוס. באפשרותך להשתמש בפונקציה 06ץ1ז3 כדי לקבוע את סוג המשנה של סוג הנתוניס +ח8וזה/. הפונקציה קולטת נתון מהסוג זח8וז3/ ומחזירה קבוע 88/, שמציין את סוג המשנה של הערך בתור סוג נתונים 880% /. לדוגמה, 6|ספוז3ּ/ץויזהצ מכיל את הערך ''י!סזסר ,ורזיי, הפונקציה (6!סהוזב3ּ/ץוזזהּצ)6קץ דוה מחצירה את (8)פחוחפפץ. באופון דומה, | אם 6ַטהח8/ץ0זא/ | מכיל| את התאריך +41/1/2000, הפונקציה (6|ס8הץו]וה/)6קץדזה תתזיר את (7)סהוטפסט. עיין בתיעוד המקוון או ב-ז6פ5אוסז8 66%[פ0 (סורק האובייקטיס) לקבלת רשימה מלאה של קבועי סוג-משנה של זחהוזה המוחזרים על ידי 6סץדזּ/. פונקציות ההמרה של 88/ מאפשרות להמיר סוג נתונים +ח8ז8 לסוג-משנה מוגדר, וגם לציין את סוג התוצאה לה מצפים. לדוגמה, (6|ספוזה8ץויזהע)ס6 מחזירה את תוכן המשתנה 6!ספוז8/ץויזז בתור משתנה מהסוג 6!טטסס. על אף הסיכוי לקבלת טעות והצורך בעיבוד נוסף, זוזג הוא סוג נתוניס מקובל. סוג ברירת המחדל של נתוני טבלה, שאילתה, דוח ושדה טופס, הוא זחּוז8. אס תשאיר בטבלה שדה לא מוגדר, הוא יחזיר ערך ריק (ווטא) ברגע שתפעיל עליו שאילתה (בהנחה שלא נשלחו אליו נתוניס), שהוא אחד משני ערכי הנתונים המיוחדיס של %חפוזהּ/. הערך ווטא מציין נתון חסר, לא ידוע, או לא ישיס. הפונקציה ווטא15 של 8/ בודקת אס הערך שנבחר הוא ווטא, והאופרטור ווטא 15 בקריטריון שאילתה עושה פעולה זהה בשדה. טפל בזהירות במשתנים המכילים ווטא, מכיון שערכי ||טוא נוטיס להתפשט. צירוף של משתנה ששווה ל-ווטוא עס משתנה כלשהו אחר, יחזיר תמיד ערך ווטא. 6 הח 2000 466655 סוגי נתונים של משתנים ד מש שו שמשמו 0 אחך 0 > יחיד (8!חו5) 8 עד 1.4012985-45- עבור ערכים שליליים; 5 עד 3.402823538 עבור ערכים חיוביים כפול (6!טטסם) 8 עד 4.... עבור ערכים שליליים; 4] עד 8 עבור ערכים חיוביים מטבע (עסח6זזטו0) 8 0 עד פוצע קנט ו ,7 203, 922,337 1 בינואר, 100 עד 31 בדצמבר 9999 אובייקט (00[660) הפניה לאובייקט (ראה משפט 56% בעזרה המקוונת). מחרוזת קבועה אורך המחרוזת 0 000 0 תווים פחושס 60או= מחרוזת משתנה 0+אורך עד כ-2 מיליארד תווים (9חו50 0 "7 > זח8ח8/ (עם תווים) 7 - - המחרוזת מוגדר משתמש תלוי באלמנט'ם | סך האלמנטים המרכיבים את סוג הנתונים המותאם אישית פרק 1: היכרות עם הפצ 47 % הערה: מאחר שרק נתונים מהסוגים זחאוז8/ יכולים לקבל ערכי ווטא, עליך להשתמש בסוג זה בכל מקרה שהיישום שלך יכול לצאת נשכר מכך. ערכי |ווא מבטלים את הצורך בערכים שרירותיים לציון נתונים חסרים בשדה או בסוג משתנה. מילת המפתח שמחם (ריק) משמשת בתור סוג-משנה ומייצגת ערך משתנה שלא אותחל. ב-84/ משתמשיס בפונקציה 1550 כדי לקבוע אס משתנה הוא בעל ערך כזה. שקחם, ווטא, 0 ומחרוזת ריקה מתוויס (יייי) שוניס וה מזה. כש-84/ הופך משתנה מסוג זח8וז/ שערכו שקחם, הוא הופך את המשתנה ל-0 או ל-יייי, בהתאס לסוג הערך ההולס ביותר במקרה זה, מספר או מחרוזת. כשעליך לקרוא לפונקציות 401 של פושססחו/ באמצעות ספריות קישור דינמי (1ו), לעיתים תודקק למשתנה מוגדר-משתמש. עליך להצהיר על משתניס מוגדרי משתמש ביו המשפטים 6קץד ו- 6קץד 0חם. השורות הבאות בין שני משפטים אלה צריכות להגדיר את האלמנטיס של סוג המשתנה המותאס אישית. למשל, אפשר להתייחס לספר בתור אוסף אלמנטים, כולל א158 (מספר ספר סטנדרטי בינלאומי), שס הספר, שס המחבר (או המחברים), המוייל ומספר דפי הספר. באפשרותך להגדיר את סוג הנתוניס המותאם אישית כך: 0% סמץך 9חס] 35 158% 509 35 סוד 58 35 פזסחסט 509 35 זסתפו!פנוק 1 85 פסִחָבק 6ץד 0חם אססםץו פט5 אססם 35 אססםץןאטסט הזוס 0 = 00%.158ם ץ]]עוסט "2000 06655 0506ז6ו] סחוותותהזטסזק" = 6חוד.>ססםץואטסט "ח0050כ א6ו₪" = פזסחסטה. >ססםץזעוסט "27655 116705086]" = זסתפו|סטק.>ססםץואטסט 0 = 8065ק.6ססםץעסט 50 06ח= מוסיפים את ווג המשפטים 6סץד ו-6קץד 0חם באזור ההצהרות הכללי במודול. השיגרה 800%ץ יוצרת מופע (66ח5%9חו) של משתנה מוגדר-משתמש שנקרא 800%. 8 הח 2000 466655 הצהרות ניתן להצהיר על משתניס וקבועיס (קבוע הוא משתנה מיוחד שלא ניתן לשנות את ערכו לאחר שנקבע במשפט 5090%ח600). להצהרה שני תפקידיס: היא קובעת את טווח ההכרה (560006) של המשתנה (התחוס שבו היישוס מכיר את המשתנה), ומגדירה את סוג הנתוניס של המשתנה. אלו שתי סיבות טובות להצהיר על משתניס בטרס מתחיליס לטפל בהם. באמצעות המשפט זוסו|סאם חסק0 שבאצור |8ז6ח66 (כללי) של המודול תוכל לדרוש הצהרה על משתנה. המשפט סווטטם (ציבורי) באזור ח800ז60!3כ (הצהרות) של מודול משמש כדי להצהיר על משתניס שהיישוס יכול לטפל בהס מתוך שיגרה כלשהי שנמצאת ביישוס, כולל אלו שנמצאות במודוליס אחריס. באפשרותך להשתמש במשפט סזפעוזס (פרטי) כדי להגדיר במפורש משתנה כבעל טווח הכרה מקומי במודול (הדבר אינו הכרחי, כיוו שהמשפטיס וס ו-5%906 מצהיריס על משתניס שהסם פרטיים במודול, כברירת מחדל). ההצהרה חופ שומרת מקוס בזיכרון עבור משתנה רק עד סיוס השיגרה שבה מופיעה ההצהרה על המשתנה. משמעות הדבר, שמשתניס שהוצהרו באמצעות משפט חום מאבדיס את ערכם לאחר הקריאה לשיגרה, עד הקריאה הבאה. משתניס שהוצהרו בעורת משפט 50806 נשמריס לאורך חיי המודול או עד אתחול היישוס או הפעלתו מחדש (אחד השימושים של הצהרה על משתנים סטטיים הוא עריכת סיכומיס או קביעת מספר הפעמים שהשיגרה הופעלה). הערה: באפשרותך לנקות את הערכים מהמשתנים הסטטיים בשיגרה על ידי בחירה באפשרות ₪656% מתפריט חטח של 85/. ניתן להשתמש במילת המפתת 5:86 בהצהרות על פונקציות ושגרות וגם בהצהרות על משתנים. מילת המפתח פועלת בצורה והה עבור פונקציות ושיגרות, בכך שהיא משמרת את כל המשתנים המקומיים בפונקציה או בשיגרה, לכל אורך חיי המודול. מוסיפיס את מילת המפתח 45 להצהרה חוכ או 5906, כדי לציין סוג נתוניס של משתנה. המשפט ז0606ח1 45 זסטותטאץויחו וחום מצהיר על סוג הנתונים של המשתנה זסס וטא ץוחו בתור מספר שלס. מערכים 5 מאפשר להצהיר על מערכים (פְזזה). מערכים הס משתנים המכילים רשימות ערכיס מאותו סוג. מערך יכול להיות רב-מימדי, ומספר המימדיס שלו עשוי להגיע ל-60. לדוגמה, המשפט ז0606ח1 45 (1 ,356076502 חזום, מקצה מערך דו-מימדי של שישה אלמנטיסם: שלוש שורות ושתי עמודות של מספריס שלמיס (הספירה מתחילה מ-0). פרק 1: היכרות עם הפצ 49 כברירת מחדל, מערכיס הס מבוססי-אפס. המשפט (6)1האץוץזהּ וחום כולל שני אלמנטיס, שהקוד :כול להפנות אליהס בתור (6)0וחהאץוץזה ו-(1)סותהּאעואץזהּ. השתמש במשפט 1 8856 חס0ק0 באזור 6683780005 כדי לציין מערך כמבוסס-אחד. השיגרה שלפניך מצהירה על מערך בן שני אלמנטים, מגדירה את ערכיו ומדפיסה את האלמנטיס שלו ואת סכוס האלמנטים בחלון 86ו60וחוח1. ()65% דעְ3זז 5 ץח6 זט 5 |בססד ,שסה6זט6 5 (65)1פח6קאם שץוץזהּ חזוס 5 = (565)0ח6קאםץשץזהּ 5 = (65)1פח6קאם ץץזה (565)1ח6קאם ץ]ץזה + (565)0ח6סאםץוץזה = |פוסד | סד 8 " = " 8 (65)1פ5ח6קאםץוץזה 8 " + " 6 (65)0פחס6סאםעץוץזה +חוזק. פטססס סט5 0חם המערך 65פ5ח6קאם/וץז מכיל שני אלמנטיםס שסוג הנתוניסם שלהם הוא ש6ח6זזט6 (מטבע). סוג נתוניס זה כולל שמונה בתים, ולכן המערך 565ח6קאםץץזה כולל 16 בתים. מאחר שבאפשרותך להגדיר מערכים בעלי מספר רב של מימדים ומחרוזות באורך משתנה, משאבי הזיכרון עלוליס להתכלות במהירות. אתה משתמש במילות המפתח חות, 50806, 6ו|טטק ו-6זפעוזק להגדרת טווח ההכרה של מערך, כמו עבור משתניס סקלאריים. מילת המפתח ההו₪60 משמשת לשינוי דינמי של מימדים במערך רב-מימדי. לוגיקה של התניות ומבני לולאה ביצוע מותנה של קוד ולולאות מהווה מרכיב בסיסי בפתרונות מבוססי-קוד רביס. 84 כולל מבחר אפשרויות גדול ליישוס תהליכיס אלה. הסעיפיס הבאים סוקריס את סוגי המשפטים העיקרייס המאפשרים ביצוע מותנה של תוכנית וכוללים דוגמאות מעשיות. הסחד...ז שגרות רבות אינן ממלאות את תפקידן על ידי ביצוע סדרתי של שורות הקוד. לעיתיס רוציס להתנות את ביצוע הקוד - לדלג על שורות מסוימות ולבצע שורות אחרות. אחת הדרכים הגמישות והבטוחות לעשות זאת בשגרות 84/ היא בעזרת משפטי חסחך...1. משפט בסיסי זה כולל למעשה שלוש וריאציות בסיסיות. הראשונה היא ביצוע מותנה של קטע קוד פשוט. כך נראה התחביר שלה: חסחך הסש/טחס6 + 5 + 06ח= 0 הח 2000 460655 קטע מהסוג 6ַחם...16 יכול להכיל בתוכו משפט אחד או יותר. המשפט 1 0ח5 מציין את סוף הקטע. 84 מבצע את המשפטיס שבתוך הקטע, רק כאשר תנאי מסוים מתממש (כלומר, מקבל ערך 6טזז). ניתן לקנן קטעי 6חם...)1 רביס זה בתוך זה. הווריאציה השנייה של משפט חסחד...1 מאפשרת לקוד לבצע אחד מתוך שני קטעי קוד. כך נראה התחביר שלת: חסחד הסש/טחס6 +1 1 6 72 + 0ח= סוג משפט זה מבצע קטע קוד אחד מתוך שניים. כשמתמלא תנאי הביצוע, מתבצעיס משפטי הקבוצה הראשונה. אחרת, מתבצעיס משפטי הקטע השני. עיצוב וה גמיש יותר, אך הוא עדיין מגביל אותנו לשתי אפשרויות בלבד. לאמיתו של דבר, באפשרותך לקנן משפטי חסחד...)1 כך שמספר האפשרויות יגדל, אך 88 כולל דרך נוספת שמפשטת ביצוע מותנה של קטע קוד אחד או יותר, עס התחביר הבא : חסחדד 1 הסש/טחסס )1 5" .,. חס ד 6000/0002 )561|₪ 5" .,. 6 65 + 0ח= צורה זו של משפט חסחד... משלבת תנאיס רביס ושלוש קבוצות משפטים, או יותר. באפשרותך להוסיף קבוצות משפטיס ותנאיסם חדשים על ידי הוספת משפטי )₪156 ובהס התניות ומשפטים משלהם. דרך וו מציעה אפשרויות רבות יותר מקודמתה, לא זו בלבד שהיא מאפשרת מספר גדול יותר של תנאים, אלא שהיא גס מגבילה את הביצוע של כל קטע קוד (למעט האחרון) למקרה שבו תנאי הבדיקה מתמלא במלואו. בקטע 6ַחם...1 הקודס, משפט חסחך...+1 השני מבצע את קטע המשפטים השני כל פעסם שהתנאי שבמשפט הראשון אינו מתמלא. כאשר אי-מילוי התנאי הראשון אינו מהווה אוטומטית סיבה לבצע את קטע הקוד השני, יש צורך בתבנית התניה נוספת. עיין בטופס שבתרשיס 1.15. הטופס כולל תיבת טקסט, קבוצת לחצני אפשרויות ולחצן פקודה. קבוצת לחצני האפשרויות מאפשרת למשתמש להעלות את הערך שבתיבת הטקסט בריבוע או בחזקת 3. כדי לחשב ריבוע של מספר, יש להקליד את המספר בתיבת הטקסט, לבחור באפשרות 6 5036 ולבסוף ללחו על להצן 61טקוח 60. פרק 1: היכרות עם 84 - 51 |<וםן- זי הא ו וו - | :)סח שקץיך 6פווקוחס > זו ו 6 זו זטס5 65 >! | תרשים 1.15: טופס לחישוב חזקות ריבועיות או חזקות שלישיות של מספרים הקוד שלפניך מציג את שתי השגרות שמאפשרות לבצע העלאה בריבוע. שגרת האירוע א זו 6000 | מגיבה | ללתיצה. | אס קבוצת | לחצני | האפשרויות (6ץ דו6?קוה60קס) מקבלת את הערך 1, סימן שהמשתמש בחר באפשרות 1% 5086 (לחצן האפשרות העלאה בריבוע). אס קבוצת לחצני האפשרויות שווה ל-1, השיגרה קוראת לשיגרה ז6ז1/508. אחרת, היא מסתיימת מבלי לבצע חישובים כלשהם. ()א6116 זס 6060 5 חס ד 1 = 6מץ דסטקו 60פָקס זז סטןה .זחא זס הפשו זז 0חם טפ 0חם (6|פטסכ 45 זסטוחטאס סע )סוה סע פט5 טסו * זססוטא6 רע = 6506הופ "2000 660655 1670506 פהוהחרחה טסוק" , הסטהוזסזה1פע ,00165016 אס5 15 50 06ח= השיגרה 6166 6060061 מנצלת את מבנה חסחד...)1 הראשון. פעולתה העיקרית היא ביצוע מותנה של קטע קוד אחד. במקרה זה, הקטע מכיל שורה אחת בלבד. אס המשתמש בוחר באפשרות זו 6זטף5, 1508701 מכפילה את הערך שבתיבת הטקסט בעצמו, ומציגה את התוצאה בתיבת הודעה. אם המשתמש בוחר באפשרות 1 6056, בטרס לחץ על לחצן הפקודה, הקוד לא ייבצע פעולה כלשהי. קבוצת האפשרויות מחזירה את הערך 2, אך הקוד אינו כולל תנאי לוּיהוי מצב וּה. לאמיתו של דבר, הקוד אינו מכיר קבוצת אפשרויות אחרת מ-1. הקוד הבא מציג גירסה חדשה של שגרת אירוע יחד עס הקוד שמטפל במצב בו המשתמש אינו בוחר באפשרות זו 6ז8ף5. 2 הח 2000 466655 ()א6116 60606 5 חח ד 1 = 6קץ דסלטקוח 600פקס 1 ס6טןה .זחא זסזהס5ץו 6 סטןהּ/.+טסח01אס זססט6ץו + 0חם סט5 0חם (6!פטסכ 45 זסטהטאוסה6סץוז)זססט6ץו פט5 6טטסכ 5( +|0פסח!וס חוחוס 3 + זססוחטאזסח+0ץוא = %|650אוטפס "2000 60655 1670506 פהוהחרחהזטסזוק" , הסטהוזס+ה1פע ,000165016 אס5 150 טפ 0ח= השיגרה 616% זפזטסו060וח6 מנצלת את התבנית השנייה של משפט חסחד...1. היא קוראת לפונקציה ז6ז8ש₪1/50 אס 6סץדוסטקוה ס6פָקֶס שווה ל-1, אך בכל מקרה אחר היא קוראת ל-זפפט6ץו!. הקוד פועל בצורה תקינה כשהמשתמש בוחר באפשרות 6פט6 ;. לעומת זאת, נותרה לפחות בעיה אחת: הטופס נפתח מבלי שאפשרות פעולה כלשהי נבחרה מראש. אס המשתמש מקליד ערך בתיבה ולאחר מכן לוח על לחצן הפקודה, הטופס יחזיר את החזקה השלישית של הערך על אף העובדה שהמשתמש לא בחר באף אחת מהאפשרויות. הבעיה נעוצה בתכנון המשפט חסחד...1. אנו וקוקיס לווריאציה השלישית עס שני תנאים נפרדיס: אחד להעלאה בריבוע והאחר להעלאה בחוקת שלוש. הקוד שלפניך מדגים זאת : ()א6116 60600 5 החד 1 = 6סץ ד6זטקוח 60פקס )1 סטןה .זחא זס הפו חח ד 2 = 6קץד66טסח ס8600סס + ₪156 ס6טןהּ/.זטמח0אס זססט6עץו 6 "חסוזקס חו טק 600 561666 6856" אס וח + 0חם סט5 0חם דוגמה זו כוללת שני תנאים. האחד בודק אס קבוצת האפשרויות שווה ל-1, והאחר בודק אס היא שווה ל-2. אס תוצאות הבדיקה אינן עונות על אף אחד מהתנאים, השיגרה תציג תיבת הודעה ובה הוראה למשתמש לבחור את סוג החישוב. קל ופשוט יהיה עתה להוסיף לחצני אפשרות חדשים לקבוצת האפשרויות ועל ידי כך להגדיל את מיגוון החישובים. כל שעליך לעשות הוא להוסיף משפט ₪156 חדש ובו תנאי מיוחד עבור כל לחצן שהוספת. פרק 1: היכרות עם 84 | 53 כפי שתוכל לראות, המשפט חסחך...16 מצטייו בגמישותו. באפשרותך לנצל אותו לטיפול באפשרויות בחירה רבות, אך הוא מטפל בפריט אחד או שנייס ביתר הצלחה. תחביר המשפט אף הוא משתנה קמעה בהתאס למשימה שברצונך לבצע. 56] 6 המשפט 6856 56!60% מבצע פעולה אחת: הערכת ביטוי וביצוע מותנה של קטע קוד אחד. כשמטפלים ביותר מאפשרות מותנית אחת או שתיים, קל יותר להגדיר ולתחזק משפט 6856 56/6606 לעומת אוסף משפטי חסחד...)1. התחביר הכללי של 6856 56|60 הוא: 50|66% 60356 7051 6005500 5-1 ח6%0/055/0 6856 65 06856 6%0/655/0ְ0 2 65 0856 6 65 6% 6חם משפט 0856 56/60 מעריך ביטוי בדיקה התחלתי. הביטוי יכול להיות פשוט כמו פרמטר שהועבר, או מורכב כמו ביטוי המשמש בהנדסת טילים. 51| חסו655זקא6 ו- 5-2!! חסו655זקא6 הס טוותים (או ערכים מוגדריס) עבור ביטוי הבדיקה. הגדרת רשימות ביטויים יכולה לכלול, קבועים, סדרת פריטיס מופרדים, או ביטויי אמת או שקר. כאשר תוצאת רשימת ביטוייס היא אמת מכיון שהיא תואמת לביטוי הבדיקה, יתבצע קטע משפטים מתאים. דוגמת התחביר שהוצגה מציגה שתי רשימות בלבד, אך תוכל להגדילה על ידי שילוב משפטי 6856 נוספים. משפט 556 6856 הוא אופציונלי, אך הוספתו תורמת לעמידה בכללי התכנות התקני. אפשרות זו לוכדת ערכי ביטוי בדיקה שלא נלכדו על ידי משפטי 6856 קודמים. ניתן לקנן משפטי 6856 566% וה בוה; כל מופע חייב להתחיל במשפט 6856 561600 ולהסתיים במשפט 6856 חם. תרשים 1.16 מציג משפט 6856 56!66 המשמש בשגרת פונקציה. שיגרה זו מטפלת בזוג מספרים שהועברו אליה באמצעות אחת מארבע פעולות מספריות. ארגומנט מחרוזת מציין את הפעולה, והחלון 1₪16613%6ח1 (מיידי) מציג את תוצאת הפעולה שנבחרה. כפי שניתן לראות בחלון המיידי, הבדיקות אינן רגישות לאותיות רישיות. פעולה שאויתה בצורה שגויה גורמת לתוכנית להגיע למשפט ₪56 6856. במקרה זה, הפונקציה תדפיס הודעה בחלון המיידי, בה ייאמר כי הפעולה שנבחרה אינה חוקית. 4 ם,/ 2000 460655 [<זם]- | (006-:)) 65!קחובּ 5!הּוז 01חז - [זטוקבּתם | - 0 ] | - ה )] (אַת1ע585 25 מ8610עעק0 ,2עשמאגת01]1 ,1משכגת11כה) סמשסגועונס6 מסנפקמגוץ 116עוק 8010ע6ע0 0836 815085 "מ20331610" 0836 2משמגוז]1 כ[ + 1משמאגת11 כ = כמשסגוקותסס ₪ "מס1סטהעסנום" 0836 2משמונגון]1 ₪ - 1 משמגו]11 כ = 0מסגוקואסס "מ11₪8610ע1םס1גו]" 0856 2שמנגוןן1 כ * 1תשמן11 ₪2 = 0משסגוקועסס "מ1510ט21" 0836 2שמגוןן1 כ / 1 עשמגוזן1 כ = 0ששסגוקועסס 6 0%835>6 ".18[הט ססםת 13 מ8510ע6ק0" סמבמקע.צגומסכ ומס מסנססמגוץ במם 6 ("ת1,2,"883₪31510) 0עפסגועטנסש?,1) 0משסגועטנסש? 3 ("מס1ססהמסמעופ",1,2) סעשסגוקמסס? 1 ("ת1163510ע161גו",1,2) 0מפסגועטנסש? 2 ("מ1,2,"8101510) סמשסגוקמסס? 5 ("מ1,2,"83833160) כמשסגוענסס? |. 8118 ססם 13 מ88010ע025 תרשים 1.16: שגרת פונקציה והפלט שלה ממחישים את השימוש במשפט 6856 56|606 +אסא... וס המשפט 6א...זס] משמש בעיקר לביצוע קטע קוד בצורה חוזרת (לולאה), מספר פעמים ידוע. ניתן לצאת מתוך הלולאה באמצעות המשפט זסח זואם, ולכן ניתן לנצל את המשפט %א6א...זס= כשלא יודעים בדיוק כמה פעמים יש לבצע את הקוד. אך יש לציין את מספר הלולאות המקסימלי. התחביר הכללי של משפט >6א6א...זס] הוא : 0 560 5000 0 578/11 = ש)תטס0 זס= 5 חסחדד מסש/סחסס + זסת זואם זז 0חם 5 "6007 %א6] לולאת זס] מתחילה בשורה זפחטס6 זס] ומסתיימת בשורה זססחטס6 6% המשפט %א6)...זס] מאתחל את זססחטס6 לערך של 5086 ולאחר מכן מבצע את המשפטים שבין זס= ו-6%0א. מהלך הביצוע חוזר תמיד לראש הלולאה, כש-זססחהטס6 גדל בערך האופציונלי של 5060 (ערך ברירת המחדל של 5060 הוא 1). פרק 1: היכרות עם 084 | 55 בדוגמה, משפטי לולאת זס] מבוצעים פעס אחר פעם, עד שערכו של וסזחטס6 עובר את זה של 5000 (או כאשר זסזחטס6 קטן מ-5600 במקרה ש-5080 שלילי). בשלב זה השליטה עוברת למשפט הבא מייד לאחר זססחטס6 6א6א. המשפט האופציונלי זס] אש גורס ללולאה להסתיים לפני ש-זפזחטס6 עובר את הערך של 5500. ניתן לקנן משפטי 6א...זס] זה בזה. לולאה פנימית מעבירה את השליטה ללולאה חיצונית כשהערך של זפזחטס6 עובר את זה של 5600. 84 מסוגל לגרוס לשגיאת ומן ריצה, אם הוא נתקל במשפט ₪6 ללא בן זוגו זס=, אך סביר יותר שלפני כן תקבל שגיאת תחביר. השיגרה זס-חט60 הבאה מיישמת את הלוגיקה של לולאת 6אפא...זס ובו-בומן מבססת את טכניקות העבודה עס מערכיס והצהרות 50806 (המערך ע8זוהץץזהּ כולל חמישה אלמנטים. כוכור, אינדקס של מערך מתחיל ב-0, אלא אס כן הקוד מציין אחרת במפורש). הקוד מכיל הצהרה על משתנה מסוג ז%606ח1 שיישמש כמונה. המשפט % מציב באופן עוקב את הערכים 1-5 במשתנה המונה, א6סח;טחו. שני משפטיס מתבצעיס לכל מעבר בלולאה. ראשית, ערך אלמנט במערך ץגזזהץואץובּ מחבר את הערך הנוכחי של אשסחשחו לערך הנוכחי שלו. הקוד מצהיר על זזה ץואץובּ באמצעות משפט 5080₪6, ולכן האלמנטים של המערך שומרים על ערכיהם גס כשהשיגרה מתבצעת פעמים רבות. לאחר הביצוע הראשון של השיגרה, האלמנטיס במערך זהיס לערכיס העוקביס של אססחשחו. לאחר הביצוע הבא, ערכי האלמנטיס גדוליס פי שנייס מאלה של א6סחטחו וכך הלאה בכל ביצוע מוצלח של השיגרה. המשפט השני מדפיס את הערך הנוכחי של א66חשחו והאלמנט הקשור אליו מתוך המערך. זכור כי באפשרותך לאתחל מחדש את ערכי האלמנטיס במערך ל-0, על ידי בחירת האפשרות +₪656 מתוך תפריט חטח של פפ/. ()זס-טהטס6 פט5 סח 5 (4)עץבוה ץוץזה 55806 1 5 אססחטחו וחוס 5 סד 1 = אס6סחנטחו זס= | = (1 - אססחהשחו)ץ8זזהץוץזהּ אס6סחטחו + (1 - אססחהשסחו)ץ8זזה ץוץוהּ (1 - א06חסחו)ץ8זזהץוזה ,אססחהטחו זחוזק. פטססס אססחטחו )אס +|טע סחוזק. פטס סט5 0חם תרשיס 1.17 מציג את פלט החלון 111601916 בשלושה ביצועיס עוקביס של השיגרה. העמודה הראשונה מציגה את הערכים העוקביס של א66חשחו, והשנייה מציגה את הערכיס המתאימיס של האלמנטיס במערך. בביצוע השיגרה הראשון, האלמנטיס של המערך תואמיס בדיוק את אלה של אפסחחו. בביצועיס השני והשלישי, האלמנטיס גדולים פי שניים ופי שלושה בהתאמה. תוצאת הסכימה ממחישה את השפעת ההצהרה על משתנה כ- 50806. אס תשנה את מילת המפתח 5906 ל-וחוס, ערכי א66ח1שחו וערכי שְּזזהץואץזהּ יתאימו בדיוק אלה לאלה בכל ביצועי השיגרה. 6 הח 2000 460655 ! 6 |<| תרשים 1.17: החלון 6613%6ו1₪ח1 מציג את תוצאות ביצוע השיגרה זס-0חט60 שלוש פעמים רצופות +סא... 6ב זס: ו- הזוצש החם...חזו המשפטים 6אפא...860ם זס= ו- חטו/ סתם...הטוש יכוליסם להשתלב יחד היטב בפעולות אימות נתוניס ומשימות ספירה מקובלות. אא6א...5860 זס] מבצע הליך חוזר דרך אוסף כלשהו (כגון פקדיס בטופס) או מערך. אין דרישה לדעת את מספר האלמנטיס באוסף או במערך. המשפט חטוו 6חם...חזוש יכול להשלים את א6א...חס₪8 זס"] על ידי פישוט אופן הקידוד של פקדיס רביס בקטע קוד. המשפט )א6א...ח₪80 זס= דומה וגס מורכב פחות מהמשפט >אסא...זס=]. הדמיון בין השניים נובע מכך שבשניהם הלולאה פותחת בשורה זס" ומסתיימת בשורה )א6א. יחד עם וזאת, עיצוב השורות זס= ו-6% שונה בשתי גרסאות לולאת זסז]. המשפט זס= ...586 פשוט יותר מהמשפט )אסא...זס=, מכיון שהוא פוטר אותך מהצורך לעקוב אחר שלושה פרמטרים נפרדים (וס)חטסס, 5911 ו-5%00) או מההתייחסות לערך חיובי או שלילי של 5060. המשפט %א6א...ח₪86 זס] מתחיל תמיד בתחילת האוסף או המערך, ומתבצע בלולאה עד הגיעו לאלמנט האחרון. תחביר המשפט נראה כך: קטסס 6/6060 ₪86 זס= 5 הסח ד ה0ש/0חס6 +[ זסת %ואם + 500 5 . 6/60060% %א6)] פרק 1: היכרות עם 084 | 57 המונח קטסוף שבשורה הראשונה של המשפט %א₪6... 5860 זס] מתייחס לשס האוסף או המערך. 66| בשורה הראשונה ובשורה האחרונה מציין אובייקטיס בודדים באוסף או אלמנטיס במערך. המשפט )א6א...ח586 זס] מבצע בצורה חוזרת את משפטי גוף הקוד על כל אלמנט באוסף או במערך שעליהם הוא פועל. לעיתים תרצה לשלב את המשפט זס] 5% או משפט אחר שביצוע מותנה, במקוס כלשהו בגוף הלולאה זס]. כך תאפשר לקוד להגיב בצורה דינמית לאירוע מיוחד בסביבת המחשוב. בדיקת התנאי מזהה את האירוע המיוחד, ו- זס= אם או משפטים אחרים שביצועם מותנה, יחולו רק בכפוף להתרחשות האירועים. בדומה למשפט )א6א...זסת", ניתן לקנו משפטי אאסא...ח80ם זס= זה בזה. בסיוס לולאת )...86 זס], השליטה עוברת למשפט הראשון שבא לאחר הלולאה. המשפט חחו/ 6חם... חזו\ מפשט את ההתייחסות לשיטות או מאפייניס שוניס של אותו אובייקט. בתחילת השורה חאו/ ציין את האובייקט שברצונך להתייחס למאפייניו או שיטותיו, וסגור את ההפניה לאובייקט בשורה וזו/ 0ח= שבסוף הקטע. בין השורות חזוש ו- חזו\ 6ח= אפשר לגשת למאפייניס או לשיטות האובייקט, מבלי לציין את שמו. הקוד שלפניך מציג את התחביר הכללי של המשפט חטו\ 6חם... וטו: וס חש "61ט|הּע אוסח" = 61והת/ו6קסום. "2 6ט|הע אוסח" = 862ח//6קסוםש. 1.. 2. חזו/ 0חם פס הוא שס האובייקט, הפניה לאובייקט או שס מערך. 61וההחץשוסקסוס ו-62וההח/ז6קסזן הס מאפייני האובייקט ו-600001 ו-6%0002 הן שיטות האובייקט. כפי שניתן לראות, המשפט הסוש 6חם...וזוא מאפשר לגשת למאפיינים ולשיטות האובייקט. תרשימים 1.18, 1.19 ו-1.20 מציגים טופס אימות נתונים בפעולה. למרות שהטופס מכיל רק זוג תיבות טקסט הדורשות אימות, קוד הטופס מנצל לולאת %א6א... ₪860 זס= שניתן להרחיבה כך שתכיל פקדי תיבת טקסט נוספים. באפשרותך לערוך שינוי קל ולכלול סוגי פקדיס נוספיס בשגרת האימות. תרשים 1.18 מציג עיצוב של טופס קליטה בסיסי הכולל זוג תיבות טקסט ולחצן פקודה. לחיצה על לחצן הפקודה 16 סס, מפעילה שגרת אירוע שבודקת את תיבות הטקסט כדי להבטיח שאינן מכילות ערכי ווטא. אס פקד כלשהו מכיל ערך ווטא, שגרת האירוע תציג תיבת הודעה שתזכיר למשתמש להצין נתוניס בשתי תיבות הטקסט. שגרת האירוע קוראת גם לשיגרה שמשנה את הרקע של כל תיבת טקסט שמכילה ערך וטא מלבן לצהוב. השיגרה גס מעבירה את המיקוד לתיבת הטקסט האחרונה שמכילה ערך |וטא. הרקע נשאר צהוב, עד שהמשתמש מעדכן את הנתוניס בתיבת הטקסט. 8 הח 2000 460655 | ום]=. ו וחזס= %ח1 לטוקח1 :> לנוקח1 0 40065% ]/050זסו ה חוחוחזה זט סז .68אס ]טוקחו !ספ הזו הסוזהוזסזחו זטוחס 56ב6וק ענ תרשים 1.18: תוצאת הלחיצה על לחצן הפקודה 16 ₪00 כאשר תיבת טקסט אחת לפחות מכילה ערך ווטא תרשים 1.19 מציג תיבת טקסט שהכילה קודם ערך |!וטא, אך כעת מכילה 1. צבע הרקע של תיבת הטקסט משתנה חורה ללבן ברגע שהמשתמש מזין בה נתוניס כלשהם ומעביר את המיקוד מתיבת הטקסט למקוס אחר. תרשים 1.20 מציג את הטופס לאחר שהערך החדש מעדכן את תוכן תיבת הטקסט. רחס 0%6וןח1 תרשים 1.19: תיבת טקסט מסומנת בצהוב שהכילה קודם לכן ערך ווטא, ועכשיו מכילה 1 זוג השגרות הבאות - 61666 5ווחסט05חס ו-%/0םס 6!057ו-אז3ו -- בוחן את תיבות הטקסט ומאיר בצהוב תיבת טקסט כלשהי שמכילה |וטא. שגרת האירוע 01166 של לחצן הפקודה עוברת בלולאה על כל פקדי הטופס - בין שהס פקדי תיבות טקסט וכאלה שאינס. שגרת האירוע מנצלת את מילת המפתח +60מץד כדי לוהות פקדי תיבת טקסט בין הפקדים. אם לא תעשה זאת, תיגרס שגיאת זמן ריצה, מכיון שלא לכל הפקדים יש מאפיין 6ט|. אס שגרת האירוע מזהה פקד תיבת רשימה, היא מתשאלת את המאפיין 6 של הפקד כדי לקבוע אס הוא מכיל ערך |וטא. פקד שמכיל ערך |וטא יוזס את הפעלת הקוד הכלול במשפט חסחד.... קוד זה מציג את תיבת ההודעה וקורא לשיגרה להאיר את הפקד שחסר לו ערך. פרק 1: היכרות עם 84 | 59 <1ם] - | הזו ו ב ו הו - וחזס= +וכןח1 תרשים 1.20: לאחר שהמשתמש מזין מידע ומעביר את המיקוד, צבע הרקע של תיבת הטקסט חוזר להיות לבן 00 ()א6ו|6 60506 סט5 ס6זהעוזק .5 6ו|8/ זס? 066% ' .וס 606 ה56766 ח1 66 ח86ם זס= חס ך אס0)א ד 15 60 601סץד זז חסחד (סטו3ּ/. 60)!וטא15 זז = ,".65א00 )סח 0% חו הסואוזס+ח! 667ח6 16856" אס8 ₪5 "2000 66655 16705010 פהווחוחהופסזק" , הססהוזס+חה1ט אוהו זסת %ואם + 0חם + 50 60 %אסא 50 0ח= (016=ס ד6!05ו= אוה פט5 סווטוק 5 ס- 606 ה56766 ח1 66 ח86ם זס= חס ך אסא ד 15 60 601סץד זז חסחד (סטובּ/. 60)!וט15 +ז 68 חטו (0 ,255 ,₪68)255 = זס|₪860600. 5 חטוצ 0חם + ₪0 + 0חם 60 %אסא טפ 0ח= 66655 2000 8 גם השיגרה %ו0שס 1187616657 מנצלת את מילת המפתח +60סץד כדי לזהות תיבות טקסט. כשהיא מזהה תיבת טקסט שמכילה ערך ווטא, היא משתמשת במשפט הזו 0חם...חטוש כדי לשנות את צבע הרקע של הפקד ומעבירה את המיקוד אל הפקד. על ידי כך היא מבטיחה שתיבת הטקסט האחרונה שמכילה ערך ווטא תהיה במוקד בתוס השיגרה. כל אחת משגרות האירוע בקוד שלפניך מופעלת בתגובה לאירוע 4670008%6 (לאחר עדכון). כל שיגרה מנצלת קטע מסוג הסו/ 6חם...וזו\ כדי לשנות את צבע הרקע של הפקד המטופל ללבן, אס צבע הרקע הנוכחי שלו צהוב. האירוע 071(00806 מתרחש באופן עצמאי עבור שתי תיבות הטקסט, אך הקוד שבכל אחת מהשגרות זהה, למעט שס האובייקט המטופל (061ח601 או שטסחזט). ()008%06(ז1+0 61כח001 0ט5 ס6אהעוזוק 1 חס תסו חסחד (0 ,255 ,₪00)255 = זס|ס86660פ. ]1 (255 ,255 ,₪08)255 = זס|00א286. + 0חם הז+ו\ 0חם= 50 06ח= ()008%06(ז0+) 62טסח001 500 ס6אהעווק 2טס חס תסו חסחד (0 ,255 ,₪00)255 = זס|ס₪86660. ]1 (255 ,255 ,₪00)255 = ז0ס|60א886. + ₪0 הז%ו 0חם= 50 06ח= כןסס !...סם המשפט מסס]...₪0 הוא סוג נוסף של משפט לולאה של יישומי 84/. משפט זה מהווה חלופה גמישה יותר של משפט הלולאה 6ַח6...)/6וח/ - הוא כולל את כל הרכיביס התפקודיים של 6ח6ו...6וח/ ומוסיף עליהס. %84 ממשיך לתמוך במשפט הלולאה 0ח6).. .6!וח/ משיקולי תאימות לגרסאות קודמות. באפשרותך לנצל את לולאת 0כ כדי לבצע בצורה חוזרת קבוצת משפטים עד שתנאי מוגדר יתמלא (כלומר, יקבל ערך 6טזד או 8|56"). תחביר המשפט מסס)...6ם תומך במפורש בביצוע בדיקת התנאי טרס ביצוע קטע קוד או מייד לאחר מכן. בדומה למשפטי לולאה אחרים, קייס גס משפט מיוחד ליציאה מקוד הלולאה במהלך הביצוע. לפניך שתי גרסאות תחביר של משפט 1000...סם. פרק 1: היכרות עם 84 - 61 60007000 ץוסחט | שווח/ש+ סס 65 חסחחד מסש/טחס6 +1 ספ +זוא= + 06ח= 65 קסס | הדוגמה השנייה: ספ 65 חסחחד מסש/טמס6 +1 ספ +וא= + 06ח= 65 חסשוסחס6 ]סח | 6|וח/+ קסס! הגירסה הראשונה בודקת את התנאי טרס ביצוע משפטי הלולאה, והשנייה עושה ואת לאחר מכן. בדיקת התנאי יכולה לנצל את מילת המפתח פווח/, או את מילת המפתת וטחש. מילת המפתח ש6ווח/ גורמת ללולאה לשוב ולהתבצע כל עוד התנאי מתקייס (אמת); מילת המפתח ושח גורמת ללולאה להתבצע כל עוד התנאי אינו מתקייס (שקר). מפתחים מנוסיס בסביבת 866655 כתבו בוודאי לולאות ₪0 רבות לניווט ברשומות בערכת רשומות עד ויהוי הסימן 50 (סוף קובצ) או +80 (תחילת קוב>). כמו במשפטי לולאה אחרים של הפצ, גס כאן ניתן לבצאת מלולאת סכ לפני תוס המחזור על ידי שימוש במשפט ספ זואם. תרשיס 1.21 מציג זוג שגרות פונקציה ואת הפלט שלהן, כדי להמחיש תכנות לולאות סס. הפונקציה חזחסוַאססַ פע קולטת תאריך ומחזירה את מספר הימים מאותו תאריך עד ליוס הראשון בחודש הבא אחריו. אם תקליד את התאריך הנוכחי, השיגרה תמנה אותו כאחד הימים בתוך מספר הימים הכולל עד החודש הבא. כך, לדוגמה, הפרש הימיס בין התאריך 28/2/2000 לבין היוס הראשון בחודש שאחריו הוא יומייס (התאריכיס 28/2/2000 ו-29/2/2000). הפונקציה פותחת בחישוב הזשחסוא6חוחז0, שהוא תאריך הקלט בתוספת חודש אחד (בדוגמה שבתרשים 1.21, התאריך הוא 0. אחר כך השיגרה משתמשת בשם הפונקציה כמונה שערכו ההתחלתי הוא 0. השורה השלישית מפעילה לולאת ₪0 שהתנאי שלה בודק את חוסר השוויון בין החודש הבא לבין החודש המתקבל מתאריך הקלט בתוספת המונה. כל עוד אין שוויון, הלולאה מבצעת את קטע הקוד שכולל משפט אחד - הגדלת ערך הפונקציה ב-1. 2 הח 2000 460655 |<1ם) - | הח - 83500 |ט5ו/ ]]ס5סזסו!) 3 | קוסם ויוסטחוו 804-105 5ססד חנ הטלפ >ספתן אפ 45 ₪6 | 5 9 שש ש אא ה | ₪800 ₪00 -4ם [<]ם]- | [בא ו ו |+ 505 הס זע ]| - (/613ח06) (מ1 30102856 ) מ0מ510א2878107 מסנפסמגוץ שב11כעוק 386 סמסטטגוש קַמנגבגו1 שמ ' (מ628561 ,1 ,"מ")355203כ2 = מ67026א06ע36 0 = ממ 00א51705ע3ת (ת6מ5110א237510116 + ם3561כמסה)בפסתס <> (ם6מ610א=סה) מפמן 16גגח סע 1 + 5710262א0116ד5צהת = מסמס6א6תַסד5ע3 עססן מסנססמגוץ המע (מ1 856 2ס) 51מ1:3502183%50ע%ע0עע5ע28 מסנפסמגוץ ש11פעוץ 3% סמשמעוש קמגבגו61םת1 ססא' (ע300283561 ,1- ,"")3ב2ססבהכת = בסמתסה5גוס1נטםתקתסה = 6ם510גוס 1 6תת ₪156 ( (6מסז1פגוס1טשתקנס3) עהפצ 6 "/1/" ₪ (ג 10 גוס ש:ק סה ) ב סמסז) 2855081106 0 = 652מ550235580ת1עסעעבצהכ ספ 1 + 62מ0071535011835702ע237572 = ב125350283357026ת200ע5ע3כ 10 סתו5צהעת - מ300236051) <> בסמסזכגוסנטסתק350155 =11גח קססם 5 מסנספסמגוץ במם 6 (28/20008 / 82 ) ת6מ0ז51א2331086? 2 [28/20008/ 82 ) 6מ10 1:30.5 מס 2337? 58 תרשים 1.21: זוג שגרות פונקציה שמשתמשות בבדיקות תנאי בתחילה ובסיום לולאת ₪0 הפונקציה (שחסו855 9606זו= וחסייְ5עְגס מראה את השפעת בדיקת התנאי שמתבצעת בסיוס לולאת ספ. הפלט הוא מספר הימים בין 28/2/2000 לבין היוס הראשון של החודש הקודם (1/1/2000), שהוא 58 (28 ימי פברואר ו-30 הימיס האחרונים בינואר). פונקציה וו מתחילה בחישוב החודש הקודס עד היוס שצוין. לאחר מכן היא מעבירה חודש זה אל הפונקציה 6ט|08%6/8 כדי לקבוע את היוס הראשון בחודש הקודם. לפני תחילת לולאת סם, הקוד מספק ל-הזחסוז35 55061זווהסז-8/5כ ערך 0. הכניסה ללולאה אינה מותנית בבדיקה כלשהי, ו-%0ח0ו4850 |5606זו=והסי08/5 מוגדלת ב-1. בדיקת התנאי בשורה 1000 מאפשרת ביצוע מחזור לולאה נוסף, כל עוד ההפרש בין תאריך הקלט לבין הזחסוז35 85-0156011 קטן מהיוס הראשון לחודש הקודם. באופן זה הפונקציה מונה 58 יוס מתאריך הקלט עד, אך לא כולל, היוס הראשון של החודש הקודם. פונקציות מוכללות חלק גדול מהדוגמאות שהצגנו כולל ספריה עשירה של פונקציות מוכללות של 06055. הפונקציות יכולות לסייע לזרז תהליכי פיתוח של פתרונות מותאמים אישית על ידי צמצוס ופישוט הקוד המותאס אישית. באפשרותך לנצל את הפונקציות המוכללות בדיוק כפי שאתה מנצל את הפונקציות שאתה כותב במיוחד בהזדמנויות רבות, כגון שגרות, שאילתות, טפסים ודוחות. אס תלמד להכיר את השימושיס האפשרייס פרק 1: היכרות עם 88 - 63 בפונקציות מוכללות, תוכל לגלות אופקים חדשים ויצירתיים ליישוס פונקציות מותאמות אישית שתכתוב בעצמך. סעיף זה כולל שלוש דוגמאות המשתמשות בפונקציות מוכללות: אחת לשאילתה, אחת לטופס ואחת לדוח. באפשרותך (וייתכן שתעשה ואת) למזג את כל שלוש הגישות ביישומיך. הדוגמה השלישית מראה כיצד לגרוס לפקד בדוח לתפקד בתור מקור עבור קוד %84 במודול של דוח על ידי שימוש בפונקציות מוכללות. כל שלוש הדוגמאות מבוססות על טבלה קטנה המכילה נתוניס להפקת חשבוניות, ומדגימות דרכי דיווח על חשבוניות שמועד פרעונן חלף. תרשיס 1.22 מציג את הטבלה המקורית 608065סוסעח1 בצד שמאל, ובצד ימיו שאילתה ובה תצוגה של הטבלה. השאילתה בוחרת שתיים מתוך עשר שורות הטבלה 5 ומחשבת עמודה חדשה שנקראת 08/5 6טכ 285% (התרשיס הוא מתאריך 8).. הנדו ו 8ץ8 006 0056| 060816וסשח1 | 66|0וסטת! ‏ | | ||= | 60816סוסשח! | כ!ססוסטתו | | 8 1 ₪ו מ || 8 ]| 2 08 (ז טרוט סז | 08( |08 8 8 3 זס [:1] | | 4 ]4 0 וו 08( 08 8( תו וב ]| 4 ]4 יי 8900 ₪00 וש 000-4 פא ש -= תרשים 1.22: הטבלה 6608%65ו0עח1 ותוצאת שאילתה שבוחרת שורות ומחשבת שדות חדשים בעזרת פונקציות מוכללות באפשרותך למצוא את היוס הנוכחי באמצעות פונקציה מוכללת אחת או יותר: הפונקציה 0816 והפונקציה ששסא (ערך ההחזרה של צוסא כולל גס את השעה הנוכחית). אס ברצונך לטפל בתאריכים בלבד, אין זה משנה באיזו פונקציה תשתמש). השאילתה כוללת את שתי העמודות של הטבלה 608%65סוסעח1. הקריטריון של העמודה 65 הוא 30-()2816>. התאריך הנוכחי בזמן ביצוע השאילתה היה 12/9/98, ולכן חלף מועד פירעונה של חשבונית מתאריך כלשהו שקדס ל- 13/8/98. מכאן שהשאילתה תחציר חשבוניות מהתאריכים 1/7/98 - 15/6/98. ערכי 28/5 6 085% ראוייס לעמודה נפרדת. שדה מחושב ה משתמש בוג פונקציות מוכללות : 2806014 ו-שוסא. הפונקציה 808014 אידיאלית לחישוב ההפרש בין שני תאריכיס. באפשרותך לציין את ההפרש בימים, חודשים, רבעוניס, שניס ויחידות זמן שונות נוספות. במקרה של העמודה 285 6טכ 85%, הפונקציה ₪801 מחזירה את ההפרש בימים. (()אוסא,30+[6ז608סוסעח1], "")ו650יהכ הוא הביטוי שמחשב את ערך השדה. ביטוי זה קובע את התאריך הנוכחי באמצעות הפונקציה אוסא (למרות 4 הח 2000 466655 שהפונקציה 086 יכולה לעשות זאת בצורה וזהה). המונח [60806סוסעח1] מפנה לטבלה המשמשת כמקור הרשומות עבור השאילתה. התוספת 30+ משמשת לציון תאריך התשלום האחרון המותר, מבלי שהדבר ייחושב כאיחור. השאילתה יכולה להיות נקודת פתיחה להפקת שימושים עסקיים מעשיים, אך יש לה כמה חסרונות. אחד החסרונות הבולטים הוא שתצוגת גיליון הנתוניס אינה מציגה את התאריך הנוכחי, מה שעלול לעורר ספק באשר לבסיס החישוב של חשבוניות שמועד פירעונס חלף. אובייקט הטופס זסז8ט|8ש6ט85:0ק 1 שבתרשיס 1.23 פותר בעיה זו על ידי הצגת הנתונים בתצוגת הטופס הידידותית. בתצוגה זו, שלושת שדות הטופס מספקים את המידע החשוב ביותר. השדה 060806ו0שח1 מציג את יוס הכנת החשבונית. השדה הבא אחריו מציג את התאריך הנוכחי. השדה הבא מחשב את מספר הימיס שחלפו מהמועד שנקבע לפירעון החשבונית. שדה זה יכיל את הערך 0, אס החשבונית נוצרה לפני פחות מ-30 יוס. [<1ם) = חזזס-] : זסזהּטו!ה ץצ 6 3510 וחזז! ₪3 זס ₪8 6טכ] 0856 פצְהכ 1 || :ויח 8 | :3 ססופ/יח1 998 | סד 7 ]| :1 פע 0 זז [++|ו] 1% ]| . ₪ 0 תרשים 1.23: טופס לחישוב מספר הימים שחלפו ממועד הפירעון של חשבוניות שני השדות האחרוניס בטופס משתמשים בפונקציות מוכללות לחישוב ערכים. השדה 6 5'ץ008סד (תאריך נוכחי) משתמש בפונקציה 816. במקרה וה, 0806 עדיפה על אוסא, מכיון ש-ששסא מציגה את התאריך וגם את השעה, אס אין מעצביס את השדה אחרת. אס תיתן למאפיין 66זט50 |סשחס6 (מקור פקד) של השדה את הערך ()08%60=, אינך צריך לעצבו במיוחד. השדה 18066 08/5 מנצל פונקציה מסוג =11 (10 601806חח1). הפונקציה משמשת לכתיבת ביטויים מובניס ומוכרת גם למפתתי גליונות אלקטרונייס. לדוגמה הביטוי שבשדה האחרון בטופס הוא: (30,0-[010608%6/ח61)ט ]-( )2856 30 < [6ז68סוסעח11ט ]-()11=)866. הביטוי כולל שלושה ארגומנטיס, בדומה לפונקציית ‏ של הגיליון האלקטרוני. הארגומנט הראשון הוא תנאי שיכול לקבל ערך 6טזד או 8|56=. אם התנאי מתקיים (אמת), פונקציית "11 מחזירה את ערך הארגומנט השני; אם התנאי אינו מתקיים (שקר), פונקציית "11 מחזירה את ערך הארגומנט השלישי. מכאן שאס התאריך שבתיבת הטקסט של תאריך החשבונית, 01660866ע0010ס, מוקדס ב-30 יוס או יותר מהתאריך הנוכחי, פונקציית =ז1 תחזיר את מספר הימיס שמעבר ל-30 ימי האורכה; אחרת, פונקציית :11 תחזיר את הערך 0. פרק 1: היכרות עם 88‏ 65 הדוח שבתרשיס 1.24 מציג גישה נוספת לסיכוס חשבונות שמועד פרעונס עבר. הדות מכיל שלוש עמודות. העמודה האחרונה מחשבת את מספר הימים שחלפו ממועד פירעון החשבונית. בכל שורה נתונה של חשבונית, עמודה וו תהיה ריקה אס מועד פירעוו החשבונית לא חלף. כותרת הדוח מזכירה למשתמש את תאריך הדוח, וכך ניתן לדעת את התאריך שמגדיר את החשבוניות שמועד פירעונן חלף. |<1םן. | 5 60סוסצח] =| וק 1206 12331 1237 30 8 :5 806 5'ע3 סד 5 > +35] 306( מכוומטח| | (68שוסעה! 1 8 59 008 3 8 8 08 8-ו (8 תרשים 1.24: דוח שמציג בצורה מותנית את מספר הימים שחלפו ממועד פירעון חשבונית. אם החשבונית נכתבה 30 יום או פחות מהמועד הנוכחי, העמודה האחרונה תהיה ריקה ערך עמודת הדות האחרונה מחושב באמצעות נוסחה. תוכל להתבסס על שתי הדוגמאות הקודמות כדי לכתוב את הנוסחה. ייחודו של הדוח הוא בכך שהעמודה האחרונה תהיה לפעמיס ריקה. שגרת האירוע זאחחזס=ח0 (בעת עיצוב) של המקטע פירוט ((ו6%כ) של הטופס מאפשרת ואת על ידי הגדרה מותנית, בזמן ריצה, של המאפיין 6|פופו (גלוי) של פקד העמודה האחרונה. לפניך קוד שגרת האירוע. 66055 2000 ₪/7 6 (%6061ח1 5 %הטס6זה הס ,1006007 45 |66ח608)זה הס |3ז6 500 6זפטוזק |₪0ח60 5 כח6 חוחוס 5 |ן6%3. 6 ח1 600 ₪86 זס= החד "0285060875" = ס6והּא. 6 + חסחך 0 =< 6טו0./8 60 +1 סד = 6!ו5ו/. ס|60 56 6 = 6!פןפו/. 6 + 0חם + 0חם 60 אסא 50 06ח= שגרת האירוע מנצלת לולאת %א6א...ח586 זס"] כדי לעבור בלולאה על הפקדים של כל רשומה בחיפוש אחר תיבת הטקסט 5ש85:20608ק))ט. תיבת טקסט זו מכילה את מספר הימיס שחלפו מאז מועד פירעון החשבונית. אס הערך חיובי, מועד הפירעון חלף, והקוד יגדיר את המאפיין 6|פופו של הפקד כאמת. אחרת, מועד פירעון החשבונית לא חלף והמאפיין 6)פופו של הפקד יקבל ערך שקר. אס כן, מספר מצומצס של שורות קוד יכול ליצור עיצוב דוח גמיש בזמן ריצה. תקציר פונקציות נבחרות 0 600055 מכיל מעל 170 פונקציות מוכללות המבצעות מיגוון משימות רחב, לרבות המרה בין סוגי נתונים, עיבוד תאריך/שעה, ניתוח סטטיסטי של תכני טבלאות ושאילתות, פעולות מתמטיות וטיפול בטקסט. תוכל להרחיב את ידיעותיך אודות פונקציות אס תלמד להכיר מה ניתן לעשות באמצעותן. 67050% יצרה פונקציות רבות, ולכן אין צורך לכתוב אותן מחדש. לאחר מכן תוכל לעמוד על הדרך שהפונקציות משלימות זו את זו. באפשרותך גם ללמוד על תכונות הערכיס המוחזרים. לדוגמה, הפונקציה א₪48 מחזירה מחרוזת שמייצגת את השקול ההקסדצימלי של מספר עשרוני, והפונקציה 06 מבצעת המרה דומה על מספרים אוקטליים. פלט שתי הפונקציות מתאיס לשרשור ולהשוואת מחרוזות, אך לא לפעולות חשבוניות. באפשרותך גם לחקור את השפעת ארגומנט אופציונלי של פונקציה על ערך ההתוזרה של הפונקציה. אי-הבנה של ארגומנטיס אלה עלולה לגרוס לתוצאות מוטעות או מבלבלות. לדוגמה, הפונקציה 5600 משווה שתי מחרוזות זו לזו. שני הארגומנטיס הראשוניס הס המחרוזות המיועדות להשוואה. הארגומנט השלישי הוא אופציונלי ומציין את סוג ההשוואה שיש לבצע. באפשרותך לציין השוואה תלוית-רישיות, השוואה שאינה תלויה ברישיות או לחילופין השוואה המבוססת על האפשרות סדר מיון מסד נתונים חדש (06ז0 50% 80856ז8 צוסא) בכרטיסיה כללל (|679ח66) של תיבת הדו-שיח אפשרויות (5חסק0) של 2000 ₪066655. אס לא תציין את ההשוואה פרק 1: היכרות עם 88‏ 67 האופציונלית, הפונקציה תנקוט את שיטת ההשוואה המצוינת במשפט חסטסס 606 באזור ההצהרות (ח066!87800) של המודול (אם לא צוינה שיטה כלשחי, 5 ייבצע השוואה בינארית). הטבלה שלפניך מציגה מבחר קטגוריות פונקציות עס תיאור ייעודה של הקטגוריה. הטבלה אינה כוללת את כל הקטגוריות, וכל קטגוריה מכילה בדרך-כלל יותר פונקציות. סיווג הפונקציות בקטגוריה כזו או אחרת הוא מעשה שרירותי, מכיון שפונקציות רבות מתאימות לכמה קטגוריות. לדוגמה, הפונקציה |₪8165688 המטפלת בתאריכים, מחזירה מספריס סידוריים של תאריך בהתבסס על ארגומנטים שאינס מסוג תאריך/שעה, אך באפשרותה גס להמיר תאריכי מחרוזת למספרים סידוריים. לפיכך הפונקציה יכולה להימנות בו-זמנית עס הקטגוריות תאריך/שעה והמרה. קטגוריות נבחרות של פונקציות קטגוריית פונקציה המרה ,56 ,6266 0 6100 ,חַח05 ,ופכ6 | קביעת סוג הפעולה החשבונית שביטוי 6 , | מבצע והמרה בין סוגי נתונים תאריך/ ה ,הכ ,סא ,866 | ביטוי, חישוב, חילוץ ערכי תאריך ושעה שעה ,טסו ,ע8כ ,הסחסו! ,הס ,סואכ | מתוך מספרים סידוריים של תאריך ,60608 ,0ח5660 ,ססטחוו | וייצוגי מחרוזת של תאריכים ושעות. ,28056118 ,6ט|66/3הכ 336 0א66/ , 6רהבצרט הסמ סח 8167 הרוס צבירה ,פא ,וחטפכ שהטססכ ,קטאססוכ | חישוב ערכים סטטיסטיים, כגון ספירה, המופעלת זה/ם | עבור תחום (לדוגמה, טבלה או על תחום שאילתה) טיפול זסזו155 ,6/1 ,סו | לכידת שגיאות וקודי שגיאות מותאמים בשגיאות אישית בדיקה !15 ,1566 ,15116 ,150866 | הערכת סוגי נתונים באמצעות קוד 6מץ דוה /, 15 ד 005 50 0 ,קל 506 שח הודעות אסטזוקח1 ,500% | הפקת הודעות ואיסוף נתוני קלט מהמקלדת טקסט 6 ,חוד ,סוי %ח9ו₪ ,16 | עיבוד מחרוזות ,0/0756 085057 | 16 שונות ,קא ,= ,₪08 הטס6 ,וחט5 | צבירת ערכים סטטיסטיים, קביעת הח26000[600,5750) 67680000[60% | מאפייני צבע, חישוב ערכים פיננסיים, יצירה או קליטת הפניות אל אובייקטי 66%, הצגת מדי התקדמות ועוד 8 הח 2000 466655 פונקציות אלו מבצעות מיגוון משימות. פונקציות מחרוזת יכולות לחלצ, להמיר ולעגל חלקים לא רצויים של מחרוזת טקסט, אך באפשרותך גם לנצל את הפונקציות המוכללות לחישוב תוצאות פיננסיות או ערכיס מתמטיים. פונקציות בדיקה שימושיות לקביעת סוגי נתוניס לפני חישוב הביטוייס. שימוש מושכל בפונקציות אלו ובפונקציות ההמרה יאפשר לך להימנע משגיאות אי-התאמה אפשריות בין סוגי נתוניס (טיפול בשגיאות הוא חלק חיוני של פתרון כולל כלשהו. בלעדיו הפתרונות שתיצור לא יוכלו ללכוד שגיאות זמן ריצה, או לעורר שגיאות מותאמות אישית של זמן ריצה). פונקציות צבירה המופעלות על תחוס (60005ח0 800760866 חו408) אינן מצטיינות בביצועי מהירות מעולים, אך ביכולתן להחליף שאילתה שלמה או משפט מורכב יותר. לדוגמה, יישומיך יכוליס לנצל את פונקציות הצבירה לתחוס, בשגרות 8 וגס בשאילתות ובטפסים. פונקציות צבירה ל- .501, כגון +חט0ס6 ו-וחט5 יכולות אף הן להפיק תוצאות סטטיסטיות של מקורות רשומות. פונקציות אלו אינן ישימות בהיקף רחב כמו פונקציות צבירה לתחוס. לדוגמה, לא ניתן להשתמש בהן בשגרות 88/. תרשים 1.25 מציג שיגרה ואת החלון 66!8%6ו₪ו1₪ כדי להמחיש את התנהגות הפונקציה א₪46. השיגרה הופכת את שני הארגומנטיס למחרוזות הקסדצימליות ולאחר מכן מדפיסה את התוצאות בחלון 60136 ווח1. [<]) . | - 80 | 01050 ה קוס וווסנטחו 5ח[-800. 5|ססך חאו הנוספם =ספתן אפוע 06 ₪6 | || שש שא ו |- ₪09 ₪00 -₪ 5 [זם -] |[ וו = ו - 6 ס>םפפסאפת - חן |ד (81ח60)| ל 2 (0ע88מ5600 ,8ע110558) סכשפאשם עו 20 42 אפבטמסש ,טמסשחשת ,אפמחפם ,קמהחשת ,א5מ8מ5500 ,א6ב1:56+ מבע 5 0 66 ,16 = 560020820 בם8 16 = 6ע508ע1+? 5די "10" = בתססמ א6ג₪מ5600 4מ8 א6ג21235' (16) א6ם+ (16) א6ם? 1 (8ע208ת21)א86 = אשם25ת1+ [26ע560008) אמ = א6מ0מ0ססב 6%מ50ע1 ,ה6ַע508מ21 סמ1טק.צַגומ6ע 5600058 ,560026820 סמ1טת.שגומפע 2 = שעהטסם' 5600088 + מ8ַע208ע1+ = שעבחפם "20" = א6שמח6ם' (680ם) את = אשמטשת אפתקפת ,העהסשת סמ1מק.הגומפע 0 + 5*16 עס 90 = טמסשח6מ' 0 = טמססטחטשם 1 (טמססח6ם) 86% = אפבטמסס אשמטמסש ,טמססחשם סמ1שת.צגומפע ש מגופ המם 7% 4+ = תרשים 1.25: שיגרה שבודקת את הפונקציה א46] לא ניתן לבצע טיפול מתמטי במחרוזת המוחזרת על ידי הפונקציה א6. הפונקציה ]א מתגברת על הבעיה על ידי ביצוע הפעולה החשבונית באמצעות הארגומנטיס העשרוניים שלה, והמרת התוצאה שמתקבלת בעורת הפונקציה א6ה. שורות הקוד בהמשך השיגרה מדגימות גישה זו: הן מחברות את 9%870זו ואת 506000810 וה לגה ושומרות את התוצאה ב-4ז8ו6ח. לאחר מכן, השיגרה הופכת את 8ַזפו6ח למחרוזת הקסדצימלית ומאחסנת אותו ב-אסח/ופח. לבסוף, היא מדפיסה את 0ְז8וסח ואת א6הש6ח בחלון 6018%6 הווחד. פרק 1: היכרות עם 88 69 פעולת ההמרה האחרונה של 668% הופכת את הערך העשרוני 90 לערך ההקסדצימלי 5. שורות ההערה הקודמות לפעולת ההמרה מציינות את העובדה ש-90 הוא תוצאת הביטוי 10 + 16 א 5. זוג השורות האחרון בחלון 6013%6וו1₪ מראה שהפונקציה 6% מחזירה ערכי מחרוזת. למעשה א6 מחזירה נתון מסוג זחאּוזפּט, אך סוג המשנה שלו הוא מחרוזת. חיבור המספריס ההקסדצימליים 16 + 16 היה אמור לתת תוצאה של 20 הקסדצימלי, אך בחלון 1₪1₪16618%6 מקבליס 1010. תוצאה זו מעידה שסימן החיבור בשורה 56600080 + 1757978 = 0ז8/ו6ח ביצע שרשור מחרוזות במקוס חיבור אריתמטי של מספרים. עליך לחפש בהתמדה דרכיס לצמצוס ומן העיבוד. לדבר חשיבות מיוחדת בפתרונות שנועדו לשרת את משתמשיהם תקופה ארוכה, או כאלה שמבצעים משימות עסקיות חיוניות. תרשים 1.26 מציג שיגרה שיכולה לאמוד משך זמן ביצוע של קוד. השיגרה מחשבת את הזמן הדרוש לביצוע לולאה מספר קבוע של פעמים. באפשרותך להרתחיב את התפקוד הבסיסי ולהוסיף לו השוואת זמניס של שני פתרונות תכנות. כפי שניתן לראות בחלון ₪16013+6וח1, קטע הקוד הפשוט פועל במהירות. מחשב הבדיקה שלי ביצע את הלולאה שני מיליון פעס בשתי דקות. <ום) = | ו > ופ אוסטחו/ע 804-105 5ססך הג הטספ 6וספת1 סו 8 פום | טא א ה||-9|א₪ 9 3|₪ -אם| |< ום]=. (02006) 165סחוב 1315 ₪007 - 1ז6)קבּת |+ סט ו חזוד] [= (181ח66)] (אמסם 25 קססםסת1) קססהסוננדך 865 25 שאנ[התמאסה ,2366 25 6116 2בהספתסה טְסמסשעמגוס 25 עממעותע5ת1 ,הָמסם 25 משסמגוסספם1 1 () 0] = 326116 6ס בקסספת1 סך 1 = מססמגוסספםמ1 עסץ עשסמגוס6פת1 + משסמגוס6פת1 + משסמגוס6סת1 = עמוגותסת1 (עסספמגוס0פסמ1 * 3) - צְממעות5ת1 = שמשעותסםת1 עססמגוס0סמ1 סאשן () זזסז1 = שוג דבתמנסה ( סואג 7 ת 65 | שאע2511ה56סה ‏ ,"122)"5תססהע = 56002065סם1 צ+ - ("88,880" ,005סםסם1) סהמעסץ סמ1מת.אגומפע 8 63מ0סספמסם1 6 " אססס 10028 " 6 ".1666עעסס סס כפהמסססב " 0 כקכק 614100 . 1656עמנסש סם 88ם3600 2 אססס 10028 2,000,000 תרשים 1.26: הערכת זמן ביצוע של משימה. השיגרה ססס |6חוד מציגה, בין היתר, כיצד פועלות פונקציות מוכללות אחדות 0 ם/ 2000 466655 השיגרה מס !שוחוד קולטת ארגומנט יחיד שקובע את מספר הפעמיםס שיש לבצע את הלולאה. ביצוע חוזר של לולאה מספר פעמים ידוע, מאפשר לעיתיס קרובות להבחין בהבדלי ביצועים בין מחשביס. הלולאה הפשוטה שלנו כוללת שני משפטיס קצריס בלבד. שיס לב שלפני שהשיגרה מתחילה בביצוע הלולאה, היא שומרת את השעה הנוכחית (שסא) ב-6חן 5%9711ז0. לאחר שהסתיימו כל החזרות, השיגרה שומרת את זמן הסיוס ב-6וחו0075091. הפונקציה ₪8660/6 מחשבת את ההפרש בין שני הערכיס בשניות (ראינו קודס כיצד פונקציה זו מחשבת את ההפרש בין ימיס ביחידות של ימים. הפונקציה מטפלת ביחידות זמן שונות, כולל שניס, רבעוניס, שעות, שבועות ואפילו סופי שבוע). הפונקציה 808214 מטפלת בהמרה לשניות ובכל התופעות המוזרות המתעוררות כתוצאה מהמעבר של חצות הלילה, ומחלצת את הערכיס הרלוונטייסם של מועדי ההתחלה והסיוס. בדיקה וו של משך זמן מתבססת על מספר גדול מאוד של חזרות, ולכן נוח במיוחד לבטא את מספרן באמצעות פסיקים. הפונקציה ז8וחזס] מאפשרת לבצע משימה זו. פונקציות צבירת התחוס מהוות קבוצה ייחודית. הן מחזירות נתוניס סטטיסטייס ונתוני חיפוש על תחוס (קבוצת רשומות). הרשומות יכולות להימצא בטבלה אחרת, או להיות תוצאה של שאילתת בחירה. הפונקציות יכולות להחזיר נתוניס שוניס על תחוס נתון, כגון: ספירה, סכום, ממוצע, שונות וסטיית תקן. תוכל לנצל את פונקציות צבירת התחום חואפ ו-אאאפ כדי להחזיר את הערך הקטן או הגדול ביותר בעמודה שבתחוס. פונקציות צבירת התחוס -%זו"0 ו-185ם מחזירות רשומה אקראית במקוס רשומה ראשונה או אחרונה מתוך רשומות הממוינות לפי שדה מסוים. פונקציית צבירת התחוס 100600 היא פונקציה מקובלת מאוד; היא מחזירה רשומה אחת או יותר שתואמת לקריטריון נתון. לכל פונקציות הצבירה לתחוס ישנה תבנית הדומה לתבנית הבאה: ("018ש67" ,"סרחה החוה רתס" ,"ח0ו27655א16|06" )סרת בא הסס6תט-כ כל השמות של פונקציות צבירה המופעלות על תחוס מתחילים ב-ייפיי. שיס לב שכל שלושת הארגומנטיס של הפונקציה מופיעיס בין מרכאות כפולות. ניתן, אך לא חובה, להציב את שס השדה של הארגומנט הראשון והשלישי בין סוגריים. שני הארגומנטיס הראשונים הס חובה, והשלישי - אופציונלי. הארגומנט ח0ו655זקא₪6!06 מצייו שדה שעליו יש לדוות. הארגומנט 6וההַחח|0008 הוא שס מקור הרשומות. הארגומנט האופציונלי השלישי מציין משפט קריטריון כדי לצייו את האלמנטיס שברצונך לכלול בסדרת הרשומות המוחזרת (קבוצת ההחזרה). כדי להחזיר את שס החברה מהרשומה הראשונה בטבלה 5ז6סקוח5 שבמסד הנתוניס 6חושח+זוסא, הפעל את הפונקציה קטאסס וס הבאה: ("1 = ס10ז6סקוח5" ,"5זסמסוח5" , "סובּא ץחה קהס6")קטאסס וס הקריטריון בדוגמה זו מצייןו את הרשומה בטבלה שבה שדה פנזוסססקוח5 מכיל את הערך 1. הו שדה מספור אוטומטי המכיל נתוניס מסוג ז%606ח1 פַחס]. אס קריטריון מסוג וה מתאיס לצרכיך, הדבר יפשט את השימוש בפונקציות צבירה לתחום. גירסה פרק 1: היכרות עם 84 - 71 זו מחזירה את ערך השדה מתוך הרשומה היחידה התואמת לקריטריון. אס קיימות כמה רשומות התואמות לקריטריון, הפונקציה תחזיר את הרשומה התואמת הראשונה. פונקציות צבירה נוספות לתחום, כגון וחטפכ, %חט60כ ו-פָצג₪ מחשבות תוצאות המבוססות על רשומה אחת או יותר. משפט 84 שלפניך מדפיס את תוצאת ספירת החשבוניות שמועד פירעונן חלף בחלון 016013%6וח1 בהתאס לתוצאת החישוב של הפונקציה +חטססס : ("30-()ששס] > 6608%6וסעח1" ,"08065 66וסעח1" ,"0866 6סוסטח1"חהטס0 6 שחוזק. פטטפטס דוגמה זו מחשבת את מספר הרשומות שמועד פירעונן חלף ומדפיסה את תוצאת החישוב. כשמפעילים אותה על הטבלה 0608%655ו0שח1 שבקובצ הדוגמה בפרק 1, בתאריך 12/9/98, הפונקציה +חטסספ מחזירה שתי רשומות. ייתכן שתרצה להוסיף רשומות חדשות לטבלה, או לשנות תאריכיס כלשהס כדי לקבל תוצאה אחרת של ספירת הרשומות עבור דוגמה זו. תרשיםס 1.27 מציג טופס שמאפשר למשתמש לקבוע את ערכי הגווניס אדום, ירוק וכחול של צבע ולאחר מכן להציג את הצבע המתקבל כשהמשתמש לותח על תיבת הטקסט שבצד ימין. גווני האדוס, הירוק והכחול של הצבע יכוליס לקבל ערכיסם בטוות בין 0 ל-255. אס כל שלושת הערכיםס הס 0, יתקבל צבע שחור; אס כולס 255, יתקבל צבע לבן. קביעת אחד הגווניס בתור 255 בעוד ששני הגווניס האחרים 0, נותנת צבע חזק של הגוון שקיבל את הערך המקסימלי. הגדרות הגווו במחשב שלי מציגות את הצבע המוגדר בתרשיס 1.27 בתור אדוס בהיר או ורוד. |<1ם) - | חזזס-] : זס)הּ!טס!בּ-)זס!ס;)חזז) 83 ז0ז8!נ8]6) זס|ס) זסטחחנוח 3 זפח= 5 חבטפזת: 0 סז 0 אוס!6ם אסם שחל >סון אסם 6860 סלחו !זס|ס6 זטוסץ 588 .. בחסת* ,וסוט 25 1 0 :660 150 :סו תרשים 1.27: טופס המראה את מציג הצבע שגרת האירוע שלפניך השייכת לתיבת הטקסט הימנית בתרשים 1.27, מבצעת את תהליך הטיפול הפשוט במציג הצבע. מלבד בדיקת ערכיס ריקיס בתיבות הטקסט של גווני הצבע, השיגרה מכילה משפט בודד. המשפט מנצל את הפונקציה ₪68 כדי להגדיר את המאפיין זס|886660 (צבע רקע) של תיבת הטקסט הגדולה בחלקו הימני של הטופס. 2 הח 2000 466655 ()66ו|6 06זס!%60א%% 500 סזפטוזק .6 06/80 38 56% ,₪610 זסוסס |וטח זי הסח ד (6ט[ה /. 060 6ו)!וטא15 זז 0 = 6ט|3/, %₪60א). 16 + 0חם הסח ד (8|06/. ח09766. 16 )!וטא15 + 0 = 06| ח%0766א). 116 + 0חם חסחד (6ט!6./3ט01. 16 )!וטא15 זז 0 = 6./8106ט|60א). 16 + 0חם .ץץזסקסזק זס|60א286 56%' ,06| ה6766א16.6] ,3|06/. 06.0660) 0 = זס|60א86. 6 זסוסא0. ₪16 (6ט!3/. 6ט!0תאס. ₪6 סט 0ח= בדיקת ערכים ריקים (ווטא) חיונית, כיון שערכיס כאלה יגרמו לפונקציה ₪68 להיכשל. ניתן לתקוף את הבעיה בדרכיס רבות, וקוד השיגרה 0/1666 6!זס|ס:6ס הוא רק אחת מהן. לדוגמה, קביעת ערך ברירת המחדל בתור 0 במקרה שלא צוין ערך כלשהו, היא קביעה שרירותית בעליל; הערך יכול היה להיות 255 או מספר כלשהו בין 0 ל-255. אפשרות נוספת היא להימנע מחישוב הפונקציה 868, ובמקוס ואת לבקש מהמשתמש למלא ערכים בכל שלוש תיבות הטקסט. והדרך האחרונה - לאפשר התרחשות של שגיאת זמן ריצה עקב ערך ווטא, ללכוד את השגיאה ואז לטפל בה בהתאם. בסעיף הבא נציג דרכים למימוש גישה זו. ניפוי באגים ולכידת שגיאות אין קוד נקי משגיאות. מלבד שגיאות תחביר ושגיאות לוגיות, נחלת כל פתרון תוכנה בשלבי הפיתוח, גס קוד שאמור לתפקד כהלכה יימניביי לעיתים שגיאות זמן ריצה. שגיאות אלו עשויות להיות תוצאה של אי-הקפדת המשתמש להזין ערך, או הזנת ערך מחוצ לתחום. הפעלות נסיוניות מאפשרות לפתור את רוב הבעיות מסוג זה, אך אינך יכול למנוע מהמשתמש להזין ערך בלתי צפוי כלשהו, או ללחו על לחצן בטרס עת. לכידת שגיאות הוא תהליך "יתפיסתיי השגיאות המתרחשות בזמן ריצה, בטרס תגרומנה לסיוס לא מבוקר של היישוס. לכידת שגיאות מעניקה לך שליטה בענייניס. הקוד יכול לבדוק את השגיאה ולעיתיס אפילו להתגבר על הבעיה מבלי שהמשתמש יבטרך לעשות כלוס. באפשרותך לקבוע את נחיצות התערבות המשתמש ולהציג לו הודעה בהתאם, ואף לקבל ממנו קלט חדש באמצעות תיבות דו-שיח מותאמות אישית ולאחר מכן להמשיך את פעולת היישוס. גס במצביס בהס לא ניתן להתאושש בצורה מסודרת ממצב שגיאה, ניתן עדיין לסיים את התוכנית בתנאיס שנקבעו מראש. פרק 1: היכרות עם 84 - 73 הפתרון יכול לשמור מידע על משפט הקוד בו התרחש הכשל, בצירוף קוד השגיאה, תיאור וכל פרטי המידע הרלוונטיים. אחר כך תוכל להורות למשתמש לדוות על התקלה לגורס המתאים. מאחר ש-860655 מאפשר למפתחיס להגיב לשגיאות זמן ריצה, מומלצ שתחשוב על לכידת מצבי השגיאה ביישוס שלך, כגון הזנת ערכיס לא חוקיים. לאמיתו של דבר, 56 מאפשר ליצור שגיאות מותאמות אישית בדרכים שונות. הדבר מאפשר לקוד להתאושש מהשגיאות המותאמות אישית שיצרת באותו אופן שהוא נוהג בשגיאות רגילות של 466655. קרוב לוודאי שתדע טוב יותר כיצד להגיב לשגיאות המותאמות אישית, מכיון שאתה יצרת אותן. לכידת שגיאות - תחביר בסיסי כדי לממש מנגנון ללכידת שגיאות, עליך להבין את המשפט זסזום חס, את האובייקט זזם ואת המשפט שו טפסח. כל אלה פועליס יחד כדי לאפשר לכידת שגיאות ולסייע לך לטפל בשגיאות לאחר לכידתן. קיימות שלוש גרסאות למשפט זסזזם חס, אך הגירסה שלפניך מאפשרת לכידת שגיאות וקרוב לוודאי שתבחר להשתמש בה: /06/806// 6010 זסזזם הס כש-8066055 מזהה שגיאה, משפט זה מעביר את השליטה במצב לתוכנית שלך, במקוס לתת ל-460655 לטפל בשגיאה לפי ברירת המחדל שלו. הארגומנט |886|פחו! הוא שס השורה שאליה ברצונך להעביר את השליטה. במקוס ש-460655 ייבצע את תהליך הטיפול המוגדר מראש, יתבצע הקוד המתחיל בשורה ששמה צוין במשפט. על הקוד לקבוע ולפענח את מספר השגיאה, כדי שהתוכנית תנקוט פעולה הולמת. אס אין באפשרותך לתקן את התקלה, תוכל לפחות לקבל מידע כלשהו אודותיה בטרס תסתייס התוכנית בצורה מסודרת. האובייקט זזש מלמד על השגיאה. לאובייקט שני מאפיינים. המאפיין זספוחטא מגדיר את השגיאה במדויק. המספרים המאוחסנים במאפיין זפפוחטא אינס משתנים מגירסה לגירסה של 860655. משמעות הדבר היא שניתן לנצל את המאפיין בתור מזהה שגיאות עמיד. מידע נוסף ניתן להפיק מהמאפיין חסטק1וז656ם של האובייקט זזם שמכיל תיאור מילולי של השגיאה. עליך להציג את תיאורי השגיאות בחלון המיידי או בתיבת טקסט. כאשר מתכננים תוכנית מראשיתה, תיאורי האובייקט ₪77 יכוליס לסייע לשפר את התכנון ולפתח תגובות הולמות לשגיאות זמן ריצה שגרתיות, כגון ערך קלט מחוצ לתחום משתנה. גירסה מוכנה לשימוש של התוכנית יכולה גם לשמור תיאורי שגיאה בקובצ יומןו. הדבר מאפשר לתכנן תיקוני קוד מהירים לאורך חיי היישום. יחד עס זאת, בדרך-כלל לא תרצה לזהות שגיאות על פי תיאוריהן שהם ארוכיס ממספריהן (בנוסף, 1670508 עשויה לנסת מחדש תיאורי שגיאה, למרות שמספריהס אינס משתנים). 4 ם,/ 2000 460655 המשפט 65006 משמש לציון נקודת המשך הפעלת היישוס לאחר זיהוי וטיפול בשגיאה. אס ברצונך להעביר את השליטה למשפט שגרס לשגיאה, השתמש במילה ₪56 ללא ארגומנטיס כלשהם. גישה זו עשויה להתאיס למקריס בהס אתה מתקן את התקלה שגרמה לשגיאה מלכתחילה, כגון ערך שדה חסר. אס מנגנון הטיפול בשגיאות אינו מסוגל להתגבר על השגיאה, ייתכן שתרצה למרות זאת להמשיך בביצוע התוכנית שורה אחת אחרי זו שגרמה לשגיאה. במצב וה השתמש במשפט ]6% 6וח650א. כל עוד השגיאה אינה משפיעה על תקפות שורות הקוד הנותרות, גישה זו באה בחשבון. במצביס שהיישוס מגלה שגיאה שאינו מסוגל לטפל בה, ייתכן שתרצה פשוט להפסיק את פעולתו באופן מיידי. במקריס אלה העבר את השליטה למשפט |6|306ח!| 6וח5ס₪. בעת לכידת שגיאות, תכלול לעיתיס קרובות משפט חסססחט= ואש או משפט מט50 50% בצירוף תווית. נוח להשתמש בתווית זו בתור ארגומנט המשפט |6!806ח!| 65006 במקריס שברצונך לצאת מהשיגרה לאחר שגיאה. דוגמאות ללכידת שגיאות סעיף זה מציג שתי דוגמאות של לכידת שגיאות. הראשונה שביניהן היא יישום בסיסי של לוגיקת לכידת שגיאות. הדוגמה מציגה לכידת שגיאות של שגרת פונקציה בתיקיה 6וסו. היא מציגה גס כיצד לעורר קודי שגיאות מותאמיס אישית. הדוגמה הראשונה ממחישה את קלות הטיפול בשגיאות היישוס הפנימיות באמצעות לוגיקה זהה לזו המשמשת ללכידת שגיאות ב-8460655. הדוגמה השנייה מנצלת לוגיקת לכידת שגיאות בקוד התומך בטופס. התכונה הבולטת של יישוס זה היא תגובתו השונה לכל אחת משתי מחלקות של שגיאות. שגרת הפונקציה שלפניך משלבת לכידת שגיאה בדוגמה הפשוטה יותר שהוצגה קודס לכו בתרשיס 1.16. שים לב כי שיגרה זו מבצעת אחת מארבע פעולות חשבוניות. מעביריס לשיגרה שלושה ארגומנטים: שני אופרנדיסם ומחרוזת המציינת את הפעולה החשבונית שיש לבצע על המספריס שהועברו אל הפונקציה. שתי שגיאות לפחות עלולות להתעורר מפעולת הקוד בזמן ריצה. הראשונה, המשתמש עלול לנסות לחלק מספר ב-0. פעולה זו יוצרת שגיאה מספר 11. שגיאה שנייה, הפעולה עלולה ליצור תוצאה גדולה או קטנה מזו שמאפשר סוג הנתוניס. סוג שגיאה זה נקרא במונחי 466655 שגיאת גלישה (זסזוס שסוווסטס) ומספרה הוא 6. מנגנון לכידת השגיאות של השיגרה שלפניך לוכד את שתי השגיאות הללו במפורש, ובאופן משתמע מניח מלכודת לכל סוג אחר של שגיאה. קטע הטיפול בשגיאה מסייע למשתמש, על ידי הצעת תיקון לחילוק ב-0, וגם מסביר מה טיבה של שגיאת גלישה בשפה ידידותית יותר מזו ש-600655 משתמש. הואיל ולעיתיס קרובות תכתוב יישומיס עבור קהל משתמשים מוכר לך, תוכל לפנות אליהס באופן ישיר יותר מאשר תוכנית כללית (כמו 5))). פרק 1: היכרות עם 84 75 (0חו5 45 הס8זסק0 ,2זססוחטאזוס0 , נזססוטצ| )2 סקר ס6 הסססחט=ת ס6וופטק 2 זס טק 60 6070 זסזזם הס חס 8זק 0 6856 %ז56|66 "ח00ו00" 6856 052 + 1זססותטא|פ0 = 2זסטקו 60 "ח8600 50007" 6856 2זסוטא|ט0 - 1זסטותטאז!פ0 = 2זסלטקוח 60 "ח680ו!קט!ט]" 6856 2זסותטאו0 * 1זססותט)|פ0 = 2זסזטקו 60 "חסופוטום" 6856 2זסם טאו / 1זססותט)ז!פ0 = 2זסזטקו 60 סחם :2 זו 60 חסטסחטת +ואם | 2 סוס חסחד 11 = זססוחטא.זזם +[ = ".0 החסז ]טרח 0ה56600 סְחַח8ח6 .2670 עס 06ועו0 %'ח68" א0ס0 150 "2000 66655( 05010זסו!] הווחו סק" , הסטפו'וס+חה1סצ הסח ד 6 = זסטותט).זזם 5611ו₪ = ,הסחהוז0?ח1פ ,".5ווח!ו! 6ט]/ 626 0818 6006605 650|6" א0ס0 50 "2000 66655 1167050 פחוו ותהזסזק" 56 = ,הסטפוזס)ח1פע , הסשקן650כ.זום 8 " :" 8 זסטוחטא.זזם אס 5 "2000 66655( 11605016 חור ותהזסס:ק" + 0חם ]2 סקס 6והט65 חסססחט= סח= המשפט זסזזם ח0 מופיע מייד לאחר תחילת התוכנית. הוא ממוקס שם כדי ללכוד שגיאות מוקדם ככל האפשר. אם פונקציה אחרת קוראת לתוכנית הנוכחית, ייתכן שכדאי להשתמש בלכידת שגיאות באותה תוכנית, כך שהיא תוכל להשתמש בלכידת שגיאות עבור הארגומנטיס שלה המועברים לפונקציה 2זטטו 60. אס תקליד ("חסטפּסו!קט|טוח" ,4 ,2)2זס)טקוה0ס6? בחלון 6ז6013ו0וח1 ותקיש זססחם, הפונקציה תחזיר את הערך 8. החלף את פעולת הכפל בפעול חילוק (חסופוטו0), והערך החוזר יהיה 0.5. כעת החלף את הארגומנט השני ב-0. לולא שילבת מנגנון לכידת שגיאות, התוכנית היתה "נופלתיי בצירוף הודעת מערכת מתאימה. מנגנון הטיפול בשגיאות מעביר את השליטה ל- ז0|6ח28זססטוקו 60 ברגע שנעשה ניסיון לחלק ב-0. הרוטינה בודקת את שגיאה מספר 11, ומכיון שזו השגיאה שאירעה, היא מציגה למשתמש הודעה שעליו לשנות את גורס התילוק למספר שונה מ-0. הקלד 6 החש 2000 460655 ("ח0ס8סו!סט!טוח" ,4 ,2)1.795308ז6סטקוחס6? והקש זספסח= כדי לגרוס לשגיאת גלישה. פעולת הכפל מנסה ליצור תוצאה גדולה מזו ש-66655 מסוגל לייצג. גס במקרה זה מועברת השליטה ל- -0|6ח208זסזטקח 60 מייד לאחר שהפעולה החשבונית נכשלת. לאחר שנקבע כי קוד השגיאה אינו 11, לוגיקת לכידת השגיאות בודקת את קוד השגיאה כנגד 6. התאמת הקוד גורמת להצגת תיבת הודעה שמסבירה את סיבת השגיאה. קטע הטיפול בשגיאות של השיגרה משתמש במשפט 8561]...56ם... חסחד...16. הפסוקית 6 מציעה דרך ללכידת שגיאות שהקוד אינו לוכד באופן מפורש. בעת אתחול היישוס, אינך מסוגל לדעת בדיוק אילו שגיאות תתרחשנה. במקרה וה השתמש במשפט 656...חסחד...+1 ללא פסוקית ‏ ₪156 כלשהי. הפסוקית ₪56 מציגה מספרי שגיאות בצירוף תיאוריהן כשהן מתרחשות בשלב הבדיקה. באפשרותך לנצל מידע וה כדי לפתח מנגנוני לכידה מפורשיס עבור שגיאות מסוגיס מסוימיס יחד עס פתרונות זמיניס למצביס אלה. במהלך בדיקת היישוס ייתכן שתהיינה לך הזדמנויות נוספות לשכלל את אוסף הפסוקיות )₪156 של מנגנון הטיפול בשגיאות. השורה האחרונה בקטע הטיפול בשגיאות היא המשפט 6וח650ח. משפט זה מעביר את השליטה לשורה שממנה יוצאיס מהשיגרה. באפשרותך גס להשתמש במשפטי 6וח₪650 נפרדים לכל אחת ממלכודות השגיאות. גישה זו מתאימה למקריס בהסם היישוס מחייב אותך לנקוט פעולות שונות לכל סוג של מלכודת שגיאות. מנגנון הלכידה לא ילכוד סוגי שגיאות אחדיס. לדוגמה, הוא לא ילכוד שגיאה שמקורה באיות שגוי של הפעולה החשבונית, כגון חס68!כ₪|טוח במקוס חסטפסווסטוטוח. שגיאת מפעיל מעין זו עוברת דרך משפט 6856 56160 מבלי לעצור כדי לבצע פעולה חשבונית כלשהי, עד שהיא מגיעה למשפט חסססחט 6ואם. יש צורך ללכוד שגיאה זו ולהודיע למשתמש מה עליו לעשות. הפתרון הוא לזהות את הבעיה בעזרת הפסוקית ₪56 6856 במסגרת המשפט 6856 56!60%. לאחר מכן מעוררים שגיאה מותאמת אישית שמודיעה למשתמש כיצד לנהוג. לוגיקת הלכידה עמידה מאוד, ולכן עליך לשנות רק את המשפט 6 56!60%6. הקטע הבא מתוך הקוד המתוקן מציג גירסה חדשה, הכוללת רק שני משפטים נוספים: חסו 068 6856 56|66% "ח0סו00" 6856 2זסותטאופ0 + 1זססותטא|פ0 = 2זסזטקו 60 "5000786000" 6856 2זסםותטא|פ 0 - 1זססותטא|פ0 = 2זסזטקו ס6 "חסוספסו!קט!ט]" 6856 2זסםותטא|0 * 1זססותטא|פ0 = 2זסזטקו ס6 "מסופוטום" 6856 2זסם טאו / 1זססותט|פ0 = 2זסזטקוחס6 6 60856 ". חסוסהזסקס פחסז/" , ,1 56וב₪.זום וחם פרק 1: היכרות עם 84 | 77 השורה שלאחר ₪56 6856 מציגה את התחביר לייזוס קוד שגיאה מותאמת אישית. שגיאה מספר 1 אינה מקבלת הצבה מ-080 ,%84 או ססה. לכן, כאשר המשפט 6 6856 לוכד פעולה ששמה מאוית בצורה שגויה, הוא מעורר שגיאה מותאמת אישית וזו מעבירה את השליטה למשפט ז270800!60זס)טקוחס6. הפסוקית ₪156 בקטע משפטים זה מזהה את קוד השגיאה 1 ויוצרת תיבת הודעה ובה קוד השגיאה והתיאור המותאס אישית ''חסטזסקס פחסז/יי (פעולה בלתי חוקית). לאחר שנסקור את תהליך לכידת שגיאות בעזרת טופס, נחזור לנושא בחירת השגיאה המותאמת אישית. הקוד התומך בטופס שמוצג בתרשימים 1.18 עד 1.20 מתבסס על משפטי )...586 זס מקונניס כדי לטפל בתגובות לטופס. כזכור, שגרת אירוע הלחיצה עבור לחצן הפקודה עוברת בלולאה על כל הפקדיס בטופס כדי למצוא את שתי תיבות הטקסט. הדבר נעשה כדי להימנע משגיאה המתרחשת במקרה שהפונקציה |וטא15 מופעלת על פקד, כגון תווית או לחצן פקודה, שאינו תומך בפונקציה זו. גישה חלופית היא לאפשר לשגיאה להתרחש, ללכוד אותה ולהתאושש מהבעיה. הפעלת הפונקציה ווטא15 על פקד שאינו מתאיס לה גורמת לשגיאה מספר 438. לפניך הגירסה החדשה של שגרת האירוע 6166 6חפט05 ח6. ()01166 605001 500 סזְהעוזק קז דזסזז0ו ה 5 0 607 זסזזם חס .5 ]8 0+ 006066 ' .וס 6 6 . ה50766 ח1 60 ה₪86 זס= הסח ד (6טוב3ּ/.60)!וטא15 זז = ,".65א0ם לטסחו 00% חו הסוטהווס)חו %67ח6 016856" 80% ₪50 "2000 66655( 116705010 פחווחוחהוססזק" ,הסטאוזס+חה1סע ואבו זסת %ואם + 0חם :ור 5 60 %אסא :ו 5 ספ ++וא= :קז סז ו 5 חסחך 438 = זססוחטא.זזם +[ רת 5 ₪656 56 = ,הסטפוזס)ה1פע , הסשקן650כ.זום 8 " :" 8 זסטוחטא.זזם אס 5 "2000 66655 16705016 פחורחוח3ּיוסס:ק " או 5 6506 + 0חם טפ 0ח= 8 החש 2000 460655 שיס לב כי הלוגיקה של לכידת השגיאות מאריכה את הקוד, למרות שהיא מאפשרת להסיר אחד משני משפטי 66א...ח₪86 זס=. הלוגיקה החדשה ללכידת שגיאות עמידה יותר. לולאות זס] המקוננות נמנעות מסוג שגיאה אחד בלבד - שגיאה מספר 438. להלכה, החלופה החדשה יכולה לטפל בכל סוג שגיאה. בנוסף, היא מסוגלת להגיב לשגיאות בשתי דרכיס שונות. שיס לב כי שגיאה 438 מגיבה בהעברת השליטה אל המשפט 64% בחלק שנותר בלולאת זס"]. הדבר מאפשר לתוכנית להמשיך לטפל בפקדיס נוספים שתואמים לפונקציה |וטא15. שגיאה מסוג אחר כלשהו גורמת לשגרת האירוע להסתיים לאחר הצגת תיבת הודעה ובה מספר השגיאה הבלתי צפויה ותיאורה. העלאת שגיאות הפונקציה 88156 (העלאה) של האובייקט זזש עמידה, אך היא מחייבת לאפשר את הטיפול בשגיאות. הוספת רוטינות טיפול בשגיאות עלולה להאריך את הקוד. אם אין לך ניסיון רב בכתיבת קוד וברשותך שיגרה קצרה שיש לה פוטנציאל קטן לגרוס לשגיאות, ייתכן שתרצה דרך פשוטה יותר להחזיר קוד שגיאה. השיגרה שלפניך מבצעת ואת בעזרת הפונקציה זום/6. שיטה זו אינה עמידה לתקלות כמו מנגנון שלס לטיפול בשגיאות, מכיון שהיא לוכדת שגיאות מסוג אחד בלבד. הואיל ולא קיים מנגנון לטיפול בשגיאות, היישוס כולו עלול לקרוס אס מתרחשת שגיאת זמן ריצה, אך קל ופשוט להשתמש בפונקציה זזם/6. הפונקציה אינה מתנגשת עס קודי שגיאה מוכללים, מכיון שאינה מחזירה קודי שגיאה באותו מסלול. עליך לשקול את יתרונות וחסרונות השימוש בפונקציה זזפ6 במקריס המחייביס החזרת קוד שגיאה. (0חו567 45 הסח8ז6ק0 ,2זספוהט;זוסם , 1זססוהטאופ)1זס6זט קר 60 הסססחט- 6ווסטק חס 8ז6ק 0 60856 ז56|606 "חסטו00" 6856 052 + 1זססותטא|פ0 = 1זסזטקו 60 "ח500078600" 6856 02 - 1זססותטצז!פ0 = 1זסטקו 60 "ח0ו3ס6ו!קט!ט]" 6856 2זסותטאו0 * 1זססותטא|פ0 = 1זסזטקו 60 "חסופוטוסם" 6856 2זסם טאו / 1זססותטאזופ0 = 1זסזטקו 60 6" 6856 (7:)2002ם/6 = 1ז66טס 60 סחם חסססחט= סח= הפונקציה לוכדת שגיאה של פעולה שאויתה בצורה שגויה או כזו שאינה נתמכת בקוד. המשפט 6856 5616066 מבודד בעיות אלו באמצעות הפסוקית ₪56 6856. כשהמשתמש מקליד פעולה שגויה, הפונקציה מחזירה נתון מסוג )חאוז שסוג המשנה שלו זסזז= פרק 1: היכרות עם 84 79 מכיל קוד שגיאה מספר 2002. גירסה זו אלגנטית יותר מהשיגרה 2זסזטקוחס6 שהוצגה קודס לכן בפרק. יחד עס ואת, 2זסזטקוח 60 לוכדת במפורש שגיאות מסוגי חלוקה באפס וגלישה, גם כשהיא מחזירה שגיאות מסוגיס אחרים. השיגרה 1זטוטקוחס6 קצרה בהרבה ממנה ולוכדת את הבעיה היחידה של פעולה שאויתה בצורה שגיאה, או כזו שאינה נתמכת בקוד. הפונקציה ז6/₪7 אינה מושפעת מהתנגשויות בין מספרי שגיאה של 8/ ו-06055, אך זוג השגרות שלפניך מפשט בצורה משמעותית את תהליך איתור קודי שגיאה פנוייס שתוכל| לנצל | לשימוש | המותאם ‏ אישית | שלך. הפונקציה| הראשונה, 00560 /, מציגה את קודי השגיאה בטווח המספרים שבשימוש %84 ו-40. עליך לצייןו את המספר הפותתח והמספר המסיים בעת הקריאה לשיגרה. המספרים הנעדרים מהפלט זמינים לשימוש בתור קודי שגיאה מותאמים אישית. השיגרה השנייה מאפשרת אף היא לציין מספר פותח ומספר מסיים של הטווח שבו ניתן לאתר קודי שגיאה. שיגרה וו, לעומת זאת, מדפיסה בחלון המיידי את קודי השגיאה שאינס שמורים על ידי 84 או 0פ. חלק גדול מקודי השגיאה של 400 הס מספרים שליליים גדולים. (0ח=סחו ,%ל5לחו)15 סז 00560 סה8/ פט5 509 45 ז0זזם577/60655 ,חַחס] 5 6006זסזזםסחו הזוס 0חםחו סד ז%500חו = 6006זסזזם%חו זס= (%77070006ח1)ז770 66655 = ז507/66655770 הסח ד "" <> ז70ז=50/66655 +1 = <> ]5076665570 +1 הסח "זסיו 60ח0[660-0661 זס 60ח0681-חסטפּסווססה" 5766655 ,60006זסזז=סחו זחוזק. פטטסס + 0חם + 0חם 6 ז שחו זאסא 50 8ח= (0ח=6ח! ,15531 זסזז 560 חנ ספ / פט5 509 45 ז0זז50760655 ,ַחס] 5 6006זסזזםסחו הזוס 0חםתחו סד +%500חו = 6006זסזזםחו זוס= (%77070006ח7707)1 66655 = 5076665501 = = ]50/606552707 0 "" = 7ז0ו50/66655 +1 חסחך "זסיו6 60ח0[660-0611 זס 60ח0681-חסטפּסווססה" 5000655 ,6006זסזוםזחו %חוזק. פטססס + 50 6 סז שחו זאסא 50 06ח= 0 החש 2000 460655 פקודות מאקרו פקודות מאקרו אינן חלק מ-84/, אך הן מאפשרות להפוך יישומי 406055 לאוטומטייס בצורה קלה ופשוטה. אחד היתרונות הגדוליס של פקודות מאקרו הוא שאין צורך לוכור את התחביר שלהן; 460655 מאפשר לבחור בקלות פעולת מאקרו מתוך תיבת רשימה נפתחת. לעומת זאת, טכניקות ניפוי הבאגים של מאקרו אינן עשירות כמו אלו של 8/. חיסרון נוסף - פקודות מאקרו מאוחסנות במכולת מאקרו נפרדת, ולא מאחורי טפסים, מה שעלול לגרוס במשך הזמן לבעיות תחזוקה. בנוסף, פקודות מאקרו של 466055 שונות מאלו של |66אם, סזסש ו-+חוסקזסשוסק. לאמיתו של דבר, פקודות מאקרו הולכות והופכות למיושנות. אס השתמשת עד כה בגירסה קודמת של 160655, יש לך בוודאי ניסיון מעשי בעבודה עס פקודות מאקרו. במהדורות 866655 קודמות, פקודות מאקרו היו האמצעי היחיד ליצירת אפשרויות אתחול מיוחדות ותפריטים מותאמים אישית. מעתה תוכל לנהל תפריטיס באמצעות אובייקט האוסף 5זהם0חח 60 (סרגלי פקודות) של 8/. בנוסף, באפשרותך לנצל את תיבת הדו-שיח הפעלה (600ז50) לשליטה במיגוון ההיבטיס של אתחול יישוס 60655, כגון הצגת טופס בסיוס תהליך אתחול, ציון אס המשתמש יכול לערוך שינוייס בתפריטיס ובסרגלי כלים, וקביעה אס יוצג חלון מסד הנתוניס. תכנון פקודות מאקרו כדי לעבוד עס פקודות מאקרו, עליך לדעת כיצד להשתמש בממשק המאקרו וגם להכיר בצורה בסיסית את פעולות המאקרו. תרשים 1.28 מציג את חלון המאקרו לאחר טעינת מסד הנתונים סחוששחצזסו. כל מאקרו של 466855 מורכבת משורה אחת או יותר בחלון מאקרו (0ז186!). כל שורה מציינת פעולה (כגון העברת מיקוד לפקד), תנאי אופציונלי עבור הפעולה והערה אופציונלית. האזור ארגומנטים של הפעולה (פטחסוחטףזה הס60ה) בתחתית החלון (מוצג בעת בחירת פעולה) מאפשר לציין את האפשרויות עבור כל פעולה ומציג עזרה עבור הפריט שנבחר. בנוסף, השורה הראשונה בכל מאקרו מציינת את שס המאקרו (בחר שמות מאקרו (65ו8 0ז1867]) מהתפריט תצוגה (ש6ו/) של 206055 אס אינך רואה שמות מאקרו). פעולות מאקרו רבות כוללות אפשרויות שניתן לבחור בהן באמצעות לחיצה פשוטה. לדוגמה, השורה השנייה של המאקרו שפוששזק בתרשיס 1.28 (השורה בעלת המשולש שקודקודו פונה ימינה) מציגה תיבת הודעה. באזור ארגומנטים של הפעולה בחלון ניתן לבחור בארגומנטיס של תיבת ההודעה מתוך תיבות רשימה נפתחות. לדוגמה, תוכל להשתמש בתיבת הרשימה הנפתחת סוג (6סץד) כדי לבחור בסמל שיוצג בתיבת ההודעה. בגרסאות קודמות, הבחירה בעזרת הצבעה ולחיצה העניקה לפקודות המאקרו יתרון מוחלט על קוד 84/ מבחינת נוחות השימוש. כיוס, 84 כולל את הרכיב 56ח06|!!556ח1. פרק 1: היכרות עם הפע | 81 אומנס קל להשתמש בפקודות מאקרו עקב קלות הבחירה של ארגומנטים, אך הן אינן מציעות את הממשק הגמיש שמאפשר להציג בו-מנית את הקוד (לרבות הארגומנטים) של פקודת מאקרו בעלת שורות רבות. העמודה החשובה ביותר בחלון מאקרו היא העמודה פעולה (חס60). אינך צריך להקליד פעולות בעמודה זו; באפשרותך ללחו על שורה כלשהי בעמודה כדי לקבל תפריט מלא של פעולות מאקרו. בעמודה תנאי (חסטוטחס6), משמאל לעמודה פעולה, תוכל להגדיר קריטריוניס ששולטיס באופן מותנה בביצוע הפעולה באותה שורה. תוכל לאחסן פקודות מאקרו רבות באובייקט מאקרו יחיד. זו דרך אפקטיבית לאחסון פקודות מאקרו רבות המשתפות ביניהן תפקוד כללי. השתמש בעמודה שם המאקוו (6וח8] 8670) כדי להקצות שמות לפקודות המאקרו שנמצאות באובייקט המאקרו. בעת הקצאת פקודת מאקרו לפעולה על פקד בטופס או בדוח, מצייניס את המאקרו באמצעות שס המורכב משני חלקיס: החלק הראשון הוא שס אובייקט המאקרו, והחלק השני הוא שס פקודת המאקרו המצוין בעמודה שם המאקרו (הפרד את שני חלקי השס בתו נקודה, כמו בשס 06|0ץ05.0150!8ז36 וץו). [<1םן; | סזסה3) : 018100 1.3615 זסחו0ז5טו2) ; - וס 6ב סמו הזוס" 8/0 305 1 055006 06 60 60ח86:זם סז חסוזקס זס=30615 מחוזם 56 50 68ח0:56. סט חטש ץ'זטחנוס 5616016 506 3016ח6 סח 30 ,65וטחנוס=) [1ה 566% ספ ץך 565%/8|6 | 1=[ז306/5=0 |פחוזק]] )הטס-:56160 6|סהחם = טס ע'זלהטוס-:56160% 6ת? 6016 , ע'מחטוס )> 50606 5666060 זספנו זך 56%%/8|66 | 2=[ז30650. מחוז] .00% ספחזס6 561665600 56 60 0 010 8 הסספנום אופו/י6זס 86 0 0136086 .660705 1 ושהוסזק השק | 1=[זס3065 חוזק] בב ...655806 3 01503 ,56166080 5 עשחטוס6 סח 1 א0חָ5] | 2=[זס=306!5. |שחוז] ...אפ 600 5616660 06 50 :> 00 ₪ .3010 56 5500 0ח8..- ב ₪ הטוס 56156060 זם] 1660705 אוסו/יסזם חק 07[=2 30915 מחוזט] הזז רסו 1.3015 ₪500 שח 156 86 = הסספנום לחוז 06 0 063008 5 תשחחנהזה. הסוסה זפטוח וסץ ,30| לחוזם זם אושוישזם סד בי 5 ב | 6חסו מצד ,חס( :אס 6הַ6553 חל חן 15013 60 חסס! זט 6פ/ש שח6 56166 חנו 8 אק וד זוי . הסה ותזסח1 יחה , !טהוחזב א , ?הַהוחזב/ ,וז .605 %ח076ז3 עַחחָו5 1501 ד פשאוסטחועע חב פוסטחועע .זהסוחטַז וט חס קוסת זס] 1= 655ז תרשים 1.28: המרכיבים העיקריים של ממשק המשתמש בחלון מאקרו (סז1!860) 5 כולל שגרת המרה מוכללת לתרגוס פקודות מאקרו לקוד 84/. הפעלת רכיבי ההמרה משתנה במקצת אם היישוס קורא לפקודות המאקרו מתוך טופס (או דוח), או מתוך חלון מסד הנתוניסם. במקרה הראשון, בחר באפשרות מאקרו (0ז86) מתוך תפריט כלים (100!5) ולאחר מכן בחר באפשרות המרת פקודות מאקרו של טופס ל- 6 | טפוש 28510 |508ו/ סד 1186705 5'תחזס- +פעצח0ס6) או באפשרות המרת פקודות מאקרו של דוח ל- 83516 | טפוש 88510 |808ו/ סד 86705 605 וסעחס6). כדי להמיר מאקרו מתוך חלון מסד הנתונים, בחר אותו כרטיסיה מאקרו. בחר בתפריט קובץ (6!ו₪), בחר שמירה בשם (45 58%6) ובתיבת הדו-שיח שמיה בשם, בחר מודול (6!ט100) מתיבת הרשימה הנפתחת כסוג (5). 2 הח 2000 466655 8 לעומת פקודות מאקרו פ הולך ומשתפר במידה רבה מאוד ממהדורה למהדורה, בעוד שפקודות מאקרו נותרו כמעט ללא שינוי. ווהי הסיבה העיקרית לעבור מפקודות מאקרו ל-84/, אך קיימות סיבות נוספות : > מנגנון לכידת השגיאות המוכלל ב- 88/ ורכיבי ניפוי באגיס גמישים נוספיס מקטינים באופן דרמטי את עלות מחזור החיים ואת עלות הבעלות על יישומי 5, עקב הקטנת עלויות התחזוקה שלהם. > 88/ מציע רכיבי עיבוד מתקדמיס רבים, כגון אפשרויות עיבוד בלולאה, תפקודיות אינטרנט מעולה וקישורי ₪8 015 למקורות נתונים חיצונייס. > הטופס המותאס אישית ומחלקות הדוח של 84 מפשטים את השימוש החוזר בקוד. 4 84 מאפשר להציג בו-ומנית ארגומנטיס של כל השורות - לא רק של שורה אחת. 4 88/ מאפשר להפעיל פונקציות 01 של פאוססחו/. פרק 1: היכרות עם הפע 83 2 מודלי גישה לנתונים 0 460055 16705066 תומך בשני מודלים לגישה לנתוניס: המודל המקובל 580 (20[6019) 460655 2868 - אובייקטי גישה לנתוניס) ו-450 (00[600 808 6%ש60 - אובייקטי נתונים 6%ע160). 0אפ מיועד למנגנון מסד הנתונים 366, ומאפשר תכנות פשוט ומהיר של מסד הנתוניס. 2000 466655 הוא הגירסה הראשונה של 4606565 שתומכת גס ב-400 בכל הקשור לטיפול במסדי נתוניס תומכי-360. במקוס להתבסס על מנגנון מסד נתוניס יחיד, 00 מנצל מודל תכנות משותף כדי לספק גישה לנתוניס אוניברסליים, כשאת הקישורים הבסיסיים למקורות נתוניס הוא מקבל מספקי 8 015. טכנולוגיות ₪8 015 תדחקנה בסופו של דבר את טכנולוגיות 0086 שקדמו להן, כפי שמודל 00ג יחליף את מודל 0. אס תלמד לעבוד עס 400 כבר עתה, תוכל לאמא במהירות את השיפורים העתידיים בתחוס הגישה לנתוניס של גרסאות 460655 שתבואנה בהמשך, כולל האפשרות לנצל מקורות נתוניס נוספים ושוניס. בפרק זה נסקור את מודלי הגישה לנתוניס 40 ו-ססג, תוך שימת דגש מיוחד על ססג כמודל תכנות. הסקירה התמציתית על 00 מציגה את תפיסות הפיתוח העיקריות שלו ומבט היסטורי על גישה לנתוניסם באמצעות 460055. מודל 00 לא ימלא תפקיד מרכזי בפרקיס הבאים, ולכן בפרק זה נציג את השימוש ב--36 ובמסדי נתוניס מרוחקיס. לקבלת מידע על קוד סגת, עייו בעאגרה המקוונת של 460655 ובקר באתר התמיכה המקוונת של 160506 (+וססק 5 05000.60ז6ווח.+וסקקט5). האתר מתעד בעיות טיפוסיות ודרכי התגברות עליהן. מאמריס רביס באתר כוללים דוגמאות קוד. בפרק הנוכתחי נתמקד בעיקר במודלי האובייקט 400 עבור 365 ביישוס 460655 ובספריות פסססג ו-אססה. נציג דוגמאות קוד מקיפות שממחישות כיצד לבצע מטלות מסד נתונים אופייניות. הפרקים האחריס בספר מתבססים על הפרק הנוכתי ועוסקים בהיבטי 800 נוספים, כגון שכפול מסד נתונים, גישה למסד נתוניס מרוחק ואבטחה בסביבה רבת-משתמשיס. פרק 2: מודלי גישה לנתונים | 85 סקירה כללית על 0 0 60055( כולל את גרסת 3.6 של ספריית 0ס, שהיא גרסת שדרוג תחזוקה של גרסת 3.5 ששווקה עם 97 66655 (קיים דמיון רב בין הארכיטקטורה הבסיסית והרכיביס התפקודיים של שתי הגרסאות). 40ם מתבסס על מודל אובייקט סביבת העבודה לסוגי גישה לנתוניס. אובייקט סביבת העבודה יכול להכיל מידע הפעלה (00ו5655), אבטחה וטרנזקציה (אובייקט סביבת עבודה מגדיר את האינטראקציה בין היישוס והנתוניס). קיימיסם שני סוגי סביבת עבודה: סביבות עבודה של 26% 60501%ו1 וסביבות עבודה של 66%וופ₪6פס. סביבות העבודה של 36% סביבות העבודה של 26% (6508665)זס/ 26%) מיועדות למקורות נתוניס 360, 0086 הקשור ל-360 ומקורות נתוניס 154% הניתניס להתקנה. מקורות נתוני 0086 הקשור ל-26% מאפשריס להתחבר אל מקורות נתוניס מרוחקים בסביבת 40 המוכרת. למרבה הצער, סוג חיבור וה מחייב שימוש במודל 080 במלואו, והוא טוען את 36 גס כשאין צורך בגישה לנתוניס. מקורות נתוניס 154% הניתניס להתקנה, משווקיס במיגוון תבניות, כגון אס0פזהק ו- 1-2-3 0005]. לסביבות העבודה המקובלות של 36% יתרונות אחדים : > עדכון נתוניס באובייקטיס של ערכת רשומות, > צירוף טבלאות ממקורות נתוניס שוניס לערכת רשומות אחת, > יצירת טבלאות המבוססות על שיטות 00 מוכרות, במקוס על מוסכמות שפת וסס (00806ח3] החסטוחו6כ הַזהכ) של 501, > איגוד נתוניס לטפסיס ולדוחות. לסביבות העבודה של 36% אובייקטיס של אוספי פקטסז6 (קבוצות) ו-5675 (משתמשים), סביבות העבודה של 6זוס0086 אינן כוללות אובייקטיס כאלה. הסיבה היא שמקורות מסדי נתוניס מרוחקים, כגון ז9/ז56 .501 607050%/ יכולים לנהל בעצמס את האבטחה שלהס. סביבות העבודה של 00617666 סביבות העבודה של 0086017666 (508065אזסאו 766ומ0086) היא טכנולוגיית סגס חדשה יחסית שהוצגה לראשונה ב- 97 466655 וב- 3.5 40. משוס שבעבודה עס מקורות נתוניס מרוחקים של 0086 אין שימוש באובייקטי האבטחה של סמס, ואובייקטי 30ם אחריס פועליס בצורה הטובה ביותר עס מקורות נתוניס שמחובריס בצורה מקומית, 16705084 יצרה את מודל האובייקט 66זו860סס, הזמין מסוג סביבת עבודה נפרד. סביבת עבודה זו מאפשרת גישה מהירה וישירה אל מקורות נתוניס מסוג 6 הח 2000 460655 6 (כגון ז6/ז56 501) תוך עקיפת הצורך להשתמש ב-26. אינך מאבד את האפשרויות הרבות הטמונות במודל אובייקט, ואינך חייב להסתמך באופן בלעדי על פקודות 501 כמו במקרה של שאילתות מעבר של 501. להלן מספר היתרונות העיקרייס של סביבת העבודה 760ומ86כ0: > שימוש במקורות נתוניס מרוחקיס ללא טעינת מנגנון 36%, 4 שאילתות אסינכרוניות, 4 גישה משופרת לתפקודיות מסד נתוניס מרוחק, כולל סמניס ושגרות מאוחסנות (770660765 560760), > עדכון אצוות של מקורות מרוחקים מתוך מטמון מקומי, > החזרת ערכות תוצאות מרובות באמצעות שאילתה בודדת. לסביבות העבודה של 008601766 ספריית סמנים עשירה יותר מזו של סביבות העבודה של 26%, והן תומכות בסמניס דינמייס (5זספזטס 6וותהחץ0) ובסמני עדכון אצווה (9ז6750 6866קט ח08%0) שאינם זמיניס בסביבות עבודה של 2%. הסמן הדינמי מאפשר להפעלה (חסו5655) להציג שינוייס שנערכו על ידי משתמשיס אחרים, מבלי לבצע מחדש שאילתה על מקור הנתוניס. סמן עדכון האצווה מאפשר לעדכן אסינכרונית מקור נתוניס חיצוני, דבר התורס לשיפור הביצועים, משוס שאין צורך לנעול רשומות. הערה: סמנים מגדירים את סוג ומיקום הגישה למקור נתונים. הגדרת סמן עשויה לכלול מספר מאפייני מקור נתונים. לדוגמה, סמן יכול להיות בר-עדכון או לא. סמן יכול לאפשר תנועה קדימה בלבד או תנועה דו-כיוונית. הם יכולים להתעדכן באופן אוטומטי כדי לשקף שינויים או הודעות במסד נתונים, והם יכולים לחייב פעולת רענון מפורשת כדי להציג גירסה עדכנית ביותר של מסד הנתונים. תוכל לייעד סמן שפועל בשרת מסד נתונים מרוחק, או בתחנת עבודה מקומית. כדי להפיק את מירב התועלת משתי סביבות העבודה, עבוד עס סביבות עבודה מרובות של שני הסוגים כשהן פתוחות בו-וּמנית. פעולה זו מאפשרת לנצל היטב את פשטות הטפסים המאוגדים לנתונים שמקורס בסביבת עבודה של 7606ופ0086. כל שעליך לעשות לשם כך הוא להשתמש ברשומות המוחזרות בסביבת עבודה של 16%. אובייקטים המשותפים לסביבות העבודה של 26% ו-66%ופ0₪6 0 בשני סוגי סביבות העבודה, אובייקטיס של 540 מאורגניס בדרך כלל בצורה היררכית. תרשיס 2.1 מציג את ההיררכיה של האוספים והאובייקטים של סגס בסביבות עבודה של 26. תרשים 2.2 מציג את ההיררכיה של האוספים והאובייקטיס של 50 בסביבות עבודה של 760ומ86פס0. פרק 2: מודלי גישה לנתונים | 87 צפא | ה0ו90ו!60 | 8 | סק | | א6סה/ || 65א06ה! | | 08 | | סו | תרשים 2.1: אוספים ואובייקטים של 040 בסביבות עבודה של 160 ו ח0סו60!!60 יי תרשים 2.2: אוספים ואובייקטים של 0 בסביבות עבודה של 005860176 406055 2000 ₪ 8 האובייקט 6חופהםטפ 6זףַחם מס הוא אובייקט 540 ברמה הגבוהה ביותר המיועד לשתי סביבות העבודה. השיטה 650866א676356//07 (יצירת סביבת עבודה) של אובייקט ה, משמשת לפתיחת הפעלה (ח0ו5055). 6מְץד (סוג) הוא ארגומנט אופציונלי של השיטה, שמאפשר להגדיר סביבת עבודה של 360 או סביבת עבודה של 6זו860ס0. תוכל גס לקבוע את המאפיין 6 ופסכ (סוג ברירת מחדל) של האובייקט 6חופַח5טכ כך שאחת מסביבות העבודה תיפתח במקרה של העדר הגדרה מסוימת לשיטה 50366א63%6//07'ו6. סביבת העבודה מסוג 3% היא ברירת המחדל הטבעית. הגדרה כלשהי של הארגומנט 6סץד השייך לשיטה 650866א676816/07 תדרוס את המאפיין 6קץזטוטפ/6כ, בין אס הוגדר מפורשות, ובין אס לא. המאפיינים והשיטות של 6ח08ח85כ הזמיניםס לשני סוגי סביבות העבודה כולליס קבוצת פונקציות 40 בסיסיות. השתמש ב-6חו9ח85כ ליצירת מסדי נתוניס וניהולס. השיטה 67688623132856 (יצירת מסד נתוניס) יוצרת סביבות עבודה חדשות. תוכל להפעילה עס ארגומנטים כדי להגדיר את סדר המיון ומצב ההצפנה של מסד הנתוניס. תוכל גס להגדיר את תבנית הגירסה של מסד נתונים כדי ליצור מסדי נתוניסם בצורה מתוכנתת, התואמיס לגרסאות קודמות של 1066655. השיטה 6ִפהּפַהּז03 ח6ק0 (פתיחת מסד נתונים) פותחת מסד נתונים נוכחי באובייקט של סביבת עבודה. לאחר יצירת מסד הנתוניס תוכל להחיל עליו את השיטות 6012866 (דחיסה) ו-זוק₪6 (תיקון) כדי לנהל אותו. 0הם מאפשר לעבד טרנזקציות (חסו860פ5ח8זד) באמצעות שלוש שיטות של האובייקט 6חופח=28 : 5חבז דה601, 5ח3 ד+ווהוחס6 ו-א836!!סא. טרנוקציה היא קבוצת פעולות שמתבצעות בצורת הכל-או-לא-כלוס. אס נכשל אחד השלביס בשרשרת פעולות מסד נתוניס, ניתן לבטל את כל הפעולות (866פ ||ס8). לדוגמה, אס הבנק מעביר סכוס כסף מחשבון עוייש לתוכנית חיסכון, שתי הפעולות יחד - חיוב העוייש וזיכוי חשבון החיסכון - חייבות להסתיים בהצלחה כדי שהרישוס בספריס יתאזן. אס אחת הפעולות אינה מסתיימת בהצלחה, יש לשתזר את המצב שקדס לפעולות בשני החשבונות. טרנזקציות יכולות להאיץ את תהליכי העיבוד במסדי הנתוניס על ידי ארגון פעולות הכתיבה לדיסק באצוות. ניתן לקנן טרנזקציות עד חמש רמות. חלק מהשיטות והמאפיינים הומיניס תלויים בסוג סביבת העבודה, אך בכל סביבת עבודה, תהא אשר תהיה, שַחִפָהם8ס יכלול את האוספיס >זסם (שגיאות) ו-6508665זס/ (סביבות עבודה). האוסף פוסיוו= האוסף פיוסזיזם משמש לטיפול בשגיאות המתרחשות בעת גישה לנתוניםס. האוסף מכיל מספרי שגיאה ותיאור המשפט האחרון שנכשל. בעבודה עס מקורות נתונים מסוג 6 אפשר לקבל שגיאות רבות, מכיון ששכבות שונות של 0086 עשויות לדווח על שגיאות שמקורן באותה תקלה, כגון מקור מסד נתונים מרוחק שאינו פעיל. פרק 2: מודלי גישה לנתונים | 89 האוסף 5וסזזם, בדומה לאוספי 0אפ אחריס, הוא מבוסס-אפס. המאפיין א טס6 (מונה) מציין את מספר השגיאות באוסף, וכל שגיאה נושאת מספר מ-0 ועד 1- +חטס6. הערך האחרון באוסף פזסז₪ מקביל לאובייקט ‏ ום של 60 8856 |1508/ 605066 5חסספסו!קק (ה8/). במהלך ניפוי הבאגים מהיישום, ייתכן שתגלה כי כדי לפשט את החיפוש אחר מקור השגיאה או פתרון הבעיה, כדאי למספר את האוסף. האוסף ססַבּ50>)'וס/ש המאפייניס והשיטות של האוסף 6ס503אוס/ משמשים כדי להפנות להפעלות סביבות עבודה בודדות. האוסף 8650806ז0) ומין תמיד, 866655 יכול לקיים הפעלות רבות בו-ומנית, וגס היישומים יכוליס לפתוח ולנהל צירופיס שוניס של סביבות העבודה 36 ו-ז008601760. הפעלות אלו אינן מתקיימות מעבר להפעלת הכניסה, אך הן מסוגלות להתקיים לכל אורך ההפעלה. באמצעות אחת התבניות הבאות תוכל לנצל את הארגומנט 6וחגּ)] (שס) של השיטה 503806אז768%6//0ו6 כדי להפנות בצורה ייחודית לסביבות עבודה מסוימות באוסף: (6508665)0'זס//. 6חופַחם טכ < ("6הח508665)"]8אזס/. 6חופַחהםסס < [6רח3 ] !508665אזוס/. 6חופַתםסס. < כל אובייקטי 040 מבוססיס על תחביר הפניה זהה לתבניות שבדוגמה. שני הסגנונות הראשוניס עומדיס בכללי 0כג. בתחילת דרכך בתכנות ססג, עליך לאמצ אחת מהן כדי לשפר את מיומנויות ההגירה שלך. אובייקטי 50866אזס/ משתפיסם שיטות חשובות אחדות עס האובייקט 6חופַחשפם, כגון 86, 2800856 026 ו-77805ה8601. שיטות נוספות כגון 6708%6)(05608 ו-67680607000 הן ייחודיות לאובייקט 80866אזס). שתי השיטות האלו מסייעות לנהל אבטחה ברמת-משתמש בתוך סביבת העבודה. האוסף ספהבּטַבּזבּ באמצעות קוד אפשר לפתוח מסדי נתוניס רביס מתוך סביבת עבודה כלשהי. השימוש ב-040 בשילוב עס 88/ מעניק יתרון ברור על פני ממשק המשתמש שמאפשר פתיחת מסד נתונים יחיד בזמן נתון. ניתן להאיצ את הגישה על ידי שימוש בשמות משתניס לצורך הפניה לאובייקטיס של מסד נתונים. גישה ו משפרת את מהירות הגישה לאובייקטי סגפ רביס. המאפיין 6ח8א של מסד נתוניס בודד בסביבת עבודה של 36%, הוא הנתיב אל קוב מסד הנתוניס. קוד 84/ מתייחס למסד הנתוניס בפרויקט הנוכחי באמצעות הפונקציה 0+ח6ייוט6. 860655 תומך גס בתחביר חלופי של: (0()0) 6חו9ח85כ כדי להפנות למסד הנתוניס הנוכתי. תחביר פ0זחפזזטס יוצר מופע נוסף של פרויקט מסד הנתונים הנוכתי, אך תחביר פַחוַּפַח085 מתייחס לעותק הפתוח של מסד הנתונים הנוכחי. תוכל לפתוח 0 החש 2000 460655 אובייקטיס של מסד נתוניס במקורות נתונים השוניס מ-26, כגון 154% (לדוגמה, 6 או סזקאס] 07050%ו1). בצורה זו ניתן להשתמש במקור נתונים 86ס0, אך הביצועים ישתפרו כשמשתמשיס בסביבת העבודה 6%זו00860 (כפי שיתואר בסעיף אובייקטי טסביבת העבודה של 17666פ86פס0). האוסף 466017056% אובייקט ₪66017056% (ערכת רשומות) מייצג רשומות בטבלה או את אלו שהתקבלו כתוצאה משאילתת החזרת שורות (חוחזטס6ז-ווסז). ערכת רשומות חדשה נוצרת באמצעות השיטה 866070656% ח6ק0. אפשר להפעיל את השיטה מתוך אובייקטיס אחדים, לרבות אובייקטי מסד נתוניס ו-18!606, וליצור בעזרתה ערכת רשומות. עס האובייקטים הנוספים הכולליס את השיטה 8660/0566 ח6ק0, נמניס אובייקטי וס ואפילו ערכות רשומות נוספות. שיטה זו מוסיפה ערכת רשומות חדשה לאוסף ערכות הרשומות. אפשר ליצור 5 סוגי ערכות רשומות, כמתואר בטבלה הבאה. אובייקטים של ערכת רשומות סוג זה מתייחס לרשומה בטבלה, כגון זו שיוצרים באמצעות השיטה . הסוג מתייחס רק לטבלה יחידה של 166. ניתן לעדכן ערכי שדה, להוסיף ולמחוק רשומות. אין סמן 0086 מקביל פה | סוג זה הוא אוסף רשומות דינמי שעשוי להיות תוצאה של טבלה אחת או יותר. השדות הנבחרים ניתנים לעדכון, ולכן ניתן להוסיף, למחוק ולשנות רשומות. המאפיין ₪8%8008%806 משמש לקביעה אם שדה כלשהו הוא בר-עדכון. במסד נתונים מרובה-משתמשים, ניתן להציג שינויים נבחרים שנערכו על ידי משתמשים אחרים. סוג ערכת רשומות זה מקביל לסמן 56ץ6א של 0086 | סוג זה מאפשר לבחון רשומות המבוססות על טבלה אחת או יותר, אך אינו מאפשר לשנות אותן. ברגע שטוענים תמונה (0%ח805ח5) לזיכרון, היא אינה משקפת שינויים נוספים כלשהם שנערכו בטבלאות. סוג ערכת רשומות זה מקביל לסמן 5/9806 של 0086 ץוחס-0זוזס= | סוג זה זהה עקרונית לערכת הרשומות 006ַ05כְ8ח5, אך ניתן לגלול אותו קדימה בלבד. סוג זה מקביל לסמן ץוחס-6זהּאוזס? של 0086 6ווחהחץכ | סוג זה מייצג תוצאת שאילתה המבוססת על טבלה אחת או יותר. משתמשים יכולים לעדכן את ערכת הרשומות על ידי הוספה, מחיקה ושינוי רשומות. סוג זה גם מציג שינויים שנערכו על ידי משתמשים נוספים בסביבה מרובת-משתמשים. סוג זה זמין רק בסביבות עבודה של 6%ז1כס0086 ומקביל לסמן 6וווהחץ0 של 0086 פרק 2: מודלי גישה לנתונים | 91 השיטה 6786607056%ק0. שיטה זו וקוקה לארגומנט מקור שמציין את מקור תוצאת ערכת הרשומות. כפי שהוזכר, ארגומנט טיפוסי הוא שס טבלה, שס שאילתה או משפט 501. ניתן לציין גס את סוג ערכת הרשומות; אס אין מצייניס, 40ם מחזיר ערכת רשומות מסוג 80|6ל, +6/0856 או ץוחס-6ז8אוזס), בהתאם למקור הנתוניס. ארגומנט אפשרויות (זחסוחטזהּ 5חסטסס) מאפשר לציין אחת ממספר תכונות של ערכת רשומות, כגון מניעת כתיבה לערכת רשומות או קריאה ממנה. ארגומנט סופי (טחסונסָזהּ |8ח₪) מאפשר לקבוע את המאפיין 6ו0א106 של ערכת רשומות. מאפיין וה מציין את סוג הנעילה התקפה בעת שיישוס מעדכן, מוסיף או מוחק רשומות מתוך ערכת רשומות. בסביבות עבודה של 266, ההגדרות שניתן לספק לארגומנט זה תהיינה בדרך כלל ץ|חס-680?, 0665| 655101506 ו- 06%5| 06פוחשקס. אס ההגדרה היא ץוחס-680ז, לא ניתן לעדכן את ערכת הרשומות. 0665| 0655101506 גורס לשיטה %ו₪0 לנעול את הדף שמכיל את הרשומה. במצב 06%68! 1506 קס, משתמשים אחרים יכוליס לעדכן את הרשומה עד שהיישוס מפעיל את השיטה פזְפּסקש. סידור זה יכול לשפר את ביצועי ערכת הרשומות, אך עלול גס לגרוס להתנגשויות בין פעולות עדכון. שיטות 866070656%. אפשר לשנות את הרשומות בערכת רשומות באמצעות השיטות %, /עצ006., 026316 ו-6ז616. השיטות 01ם ו-6ז08ק0 משמשות במשולב לעדכון הערכים בערכת רשומות. השיטה 506 פותחת רשומה לצורך עריכה, והשיטה 86ססש מחילה את הערכים החדשיס על הטבלאות שבבסיס ערכת הרשומות. השיטות 006 ו-08%6ק פועלות במשולב. הקוד מודיע על הכוונה להוסיף רשומה על ידי הפעלת השיטה ש200%66. לאחר מכן שומריס את הרשומה החדשה באמצעות השיטה 6 השיטה ₪8|666 מסירה את הרשומה הנוכחית מערכת הרשומות. לאחר שרשומה נמחקת היא ממשיכה להתקיים עד למעבר לרשומה חדשה. השיטה 6|6066 אינה מחייבת את השימוש בשיטה 0806סש. בעת הוספת ערכת רשומות לאוסף ₪66070560 אפשר להשתמש בקבוצת השיטות 6עסוא (מעבר אל) כדי לנווט אותה. השיטה +א6אפעסוא מנווטת אל הרשומה הבאה, והשיטה 5 מנווטת אל הרשומה הקודמת. כשנמצאיס ברשומה הראשונה ומפעילים את השיטה פטסוטסזקפטסוא, 040 מחזיר סמן 80 ₪6 +0 פהוהחוס6) מערכת הרשומות. אפשר לנצל סמן זה כדי לציין מעבר לרשומה כלשהי שבאה לאחר הרשומה הראשונה. באופן דומה, כשנמצאיס ברשומה האחרונה ומפעיליס את השיטה ]66%עסו, 0הס מחזיר סמן ₪0 (6= 01 6חהם). ניסיון לנוע מעבר לסמניס 80 או ₪07 יוצר שגיאת זמן ריצה (זסזז= 6וחוד-חטח). השיטה 6טסוז מאפשרת לציין מספר שורות קבוע למעבר. אפשר גס לקבוע מיקום התחלתי שונה מהרשומה הנוכחית. השיטות |-35% 10/61 עוברות ישירות לרשומה הראשונה או האחרונה בערכת הרשומות, בהתאמה. בערכות רשומות גדולות מאוד, עשויה לחול השהיה משמעותית במהלך ההגעה לרשומות הקצה שבערכת הרשומות. קבוצת שיטות נוספת מנווטת אל רשומה חדשה שעונה על קריטריוניס מוגדרים. שיטות אלו הן 5%זו=6ח1", 61351ח1, +אסא שח ו-פטסועסיוקטחות. קריטריוני השיטה מסוג 0חו= (חיפוש) נקבעיס באמצעות תחביר זהה לזה של הפסוקית =מפחה/ שבמשפט . אס לא קיימת ערכת רשומות שעונה על הקריטריוניס שצוינו, שיטות אלו 2 הח 2000 460655 תספקנה למאפיין ה6פואסא של ערכת הרשומות את הערך 6טזז. אחרת, הן פשוט תעבורנה אל הרשומה שעונה על הקריטריונים. השיטות א6א0חו= ו-פטסועסזקסחו= מתחילות את החיפוש מהרשומה הנוכחית. השיטות =8זוח0חו= ו-01850ח= עורכות חיפוש מהרשומה הראשונה או האחרונה, בהתאמה. בטיפול באובייקטים מסוג 3% השיטה 566% מסוגלת להפיק תוצאות מהירות יותר מאלו שיכולות לספק שיטות 6חו=. כללית, בעת הפעלת השיטות 6607056 ח6ק0 ניתן לקבל תוצאות חיפוש טובות יותר באמצעות משפטי 501. בשימוש בשיטות 0חו=, 6שסו! ו-566%, רצוי להגדיר את המאפיין א06ח1 של ערכת רשומות, כדי לאפשר ארגון הרשומות בסדר הנכון שנקבע על ידי שדות האינדקס. אובייקטי סביבת העבודה של 36% אובייקטיס של מסד נתוניס בסביבות העבודה של 360 כוללים אלמנטיס נבחריס של סכימת מסד נתוניס, ובאפשרותם גם להפעיל אותם. לדוגמה, באפשרותך לפתות ערכות רשומות לטיפול או להפעיל שאילתות פעולה שמעדכנות, מצרפות או מוחקות רשומות. שיטות של מסד נתונים אף מאפשרות ליצור ולנהל עותקים. לפניך חמשת האוספים ההיררכיים של מסד נתונים. האובייקט 8808856 כולל שיטות להוספת אלמנטיס חדשיס לכל האוספים הללו. 5 ד <> 5 << 5-ו < 805 < > 605 האוסף 60615וטבּד אוסף זה מאפשר לגשת לאובייקטיס בודדים של /606!ט3ד במסד נתונים. אובייקטיס אלה מכילים את האוספים ₪6|05 ו-65א1006, ולכן הס מאפשרים להגדיר טבלה באמצעות אובייקט 189|8060. | באפשרותך להשתמש בשיטות | 67680660 ו-א61006ז6768 כדי להרכיב את הגדרת הטבלה. בעת השימוש בשיטה 6)0ו08%6ז6, מגדיריס תחילה את השדה על ידי ציון שמו, סוגו וגודלו. לאחר מכן מפעיליסם את השיטה 6ח6סס כדי להוסיף את השדה החדש לאוסף ₪66 עבור אובייקט ספ6וטבּד. אם אוסף מכיל כבר שדה ששמו צוין כארגומנט, הקוד שכתבת ייצור שגיאת זמן ריצה שניתן ללכוד אותה. תוכל לנצל ואת לניהול האובייקט )606!ט3ד למשל, על ידי הסרת השדה הישן באמצעות השיטה 6!606. בעת יצירת אינדקסיס, מפעילים את השיטה א0768061006 ומצרפים לאינדקס שדה אחד או יותר. לאחר מכן מוסיפים את האינדקס החדש לאוסף 65א06ח1 עבור האובייקט /189!806. אס קייס כבר אינדקס בשס זה, תקבל שגיאת זמן ריצה. תוכל לנצל שגיאות אלו כדי לנהל את תהליך יצירת האינדקס של האובייקט 6806!ספד. פרק 2: מודלי גישה לנתונים 93 האובייקט 19606 יכול לנהל קישורים אל טבלאות במקורות הנתונים 15% ו-0086. הקוד דורש את המאפייניס 6%חח60 ו-6חַ66[]30!6%3זטס50 ואת השיטה 6867. השיטה 896060 0768%61 מופעלת כדי להגדיר הפניה במשתנה לטבלה המקושרת. אחר כך מגדיריס את המאפיינים 600086605 ו-80!6806 661זטס5 של המשתנה. המאפיין 6%חח60 מציין את סוג מקור הנתונים, כגון 5.0 08856 או א.5 א800ז8ק, ואת הנתיב אל מקור הנתוניס הספציפי שאליו תיצור את הקישור. המאפיין 6וח80!68 661זנוס5 הוא שס הטבלה המקושרת. לאחר קביעת מאפיינים אלה, משלימיס את התהליך על ידי צירוף האובייקט ]30!606ד לאוסף 80665!טפּד. האוסף 0615 וס 0 אוסף זה מאחסן את האובייקטים הבודדיס מסוג 060ץ067 במסד נתוניס. אובייקט ]טס הוא משפט ‏ 501 שמחזיר באופן טיפוסי קבוצת שורות או מבצע פעולה, כגון עדכון, הוספה או מחיקת רשומות בערכת רשומות. כשמשפט 501 של אובייקט פטס מחזיר שורות, יכול להיות לו אוסף ₪6!05 ובו שדות יחידים. אובייקט זט יכול להכיל אוסף פוסזְסחִַהּזהּק, אס משפט 501 שכתבת מקבל ארגומנטיס שמצייניס את הקריטריוניס שלו בומן ריצה. כשהאובייקט ‏ שסשוסטס פועל, באפשרותך לציין פרמטריס אלה בצורה מתוכנתת (באמצעות קוד), או לאפשר למשתמש לעשות זאת בזמן ריצה באמצעות תיבת דו-שיח. תוכל ליצור אובייקטיס חדשיס מסוג 06ץז6ט0 באמצעות השיטה -6708%60067/26 עבור האובייקט 08198856 בסביבת העבודה של 36%, או האובייקטים סְהּפפַּזהכ או ח6600החס6 בסביבת העבודה של 766ו00860. אס תיתן לאובייקט שפץשזפטס שס באמצעות מחרוזת שאורכה שונה מאפס, 0כ יוסיף את השס אוטומטית לאוסף 5 וישמור את האובייקט %פץזפט0 באופן קבוע בדיסק יחד עס מסד הנתוניס. השתמש בשיטה ‏ 26606 כדי להסיר פריט מהאוסף 666סעזס6טס. כל אובייקט טס שהמאפיין חא שלו הוא מחרוות באורך אפס, הוא אובייקט ומני, ו-80ס אינו מקייס אותו לאורך זמן. אובייקטיס 66פץז6ט0 זמנייס נוחיס לשימוש כשהיישומיס צריכים ליצור אובייקטיס כאלה באופן דינמי. שתי שיטות מאפשרות להפעיל אובייקט שפשזפטס. השיטה 6607056 ח6ק0 מחזירה את השורות שבאובייקט )6סעז6טוס באמצעות המשפט 5607 5₪, והשיטה 66066א₪ מבצעת שאילתת פעולה. האפשרות זסזזםח0ס!ו00-89 יכולה לאפשר ליישוס לקבוע אס אובייקט ]6פץז6ט0 נכשל בביצוע פעולתו המיועדת על כל הרשומות העומדות בדרישות הקריטריוניס. כל עוד אובייקט 087060 מציית לכללי התחביר, הוא לא יגרוס לשגיאה, גס במקרה שייכשל בביצוע פעולתו. האפשרות זסזזםחסוו₪0739 מחזירה את המצב לקדמותו (886% ||0ז), אס האובייקט 060ץז6ט0 אינו מסוגל לבצע את כל השינוייס. אפשרות זו אף יוצרת שגיאת ומן-ריצה כדי לסייע לבצע את פעולות העיבוד הקשורות בתהליך, כגון הצגת הודעות למשתמש. 4 הח 2000 460655 האוסף 5חסו46|3% האוסף 5חס0ג|₪6 (קשרי גומלין) ומערכת קשרי הגומלין שלו משמשים להגדרת קישוריס (פ5אחו|) בין טבלאות באמצעות קוד. השיטה ח07680606!800 של האובייקט 6 יכולה לאתחל קשרי גומלין; היא מאפשרת ליישוס להגדיר קשרי גומלין מסוג יחיד-ליחיד או יחיד-לרבים בין שתי טבלאות, לקבוע שלמות קשרים (|6/676008ז שחפססחו) ולארגן מחיקות ועדכוניס על פי היררכיית קשרים (פרק 4 מרחיב בנושא). מגדיריס קשרי גומלין ביןו טבלאות בהתאם לשדות משותפים בשתי הטבלאות. האובייקט ח869|800 כולל אוסף ₪665 התומך בפונקציה זו. האוסף 5ח₪6|800 ואובייקטיס בודדיס מסוג ח₪6!800 ייחודיים לסביבות העבודה של 6%(. הס אינס צמיניס בסביבות העבודה של 80%זו00860, מכיון שמנגנוני מסדי נתונים מרוחקיס שומריס באופן טיפוסי בעצמס על קשרי גומלין בין טבלאות. האוסף 5ז6חו600%3 אוסף זה מגדיר קבוצת אובייקטים של מכולה עבור מסמכי מסד נתונים. חלק מהאובייקטיס מגיעיס מחלון מסד נתונים (28%90856): טפסים, דוחות, 567015 של מאקרו ומודולים. כל אלה הס אובייקטים של 4660655 ולא אובייקטיס של מסד הנתוניס 2360. האובייקטיס הנוספיס של המכולה הס אובייקטיס מבוססי-36: מסדי נתונים, טבלאות וקשרי גומלין. אובייקט המכולה טבלאות כולל מידע על טבלאות ושאילתות כאחד. אובייקט מכולה נוסף מכיל נתוני מתאר של קשרי גומלין שנשמרו. אובייקטי מכולה מאחסניס מסמכיס המבוססים על כל הרכיבים השמורים של סוג, כגון טפסים וקשרי גומלין. מסמכיםס אלה מספקים מידע מינהלי (ולא תוכן) על האובייקטים שבאובייקט מכולה. מאפייניס נבחריס של מסמכיס כוללים תאריכי יצירה ועדכון של המסמך ואת שס בעליו והרשאות הטיפול בו. 2% משתמש במידע הכלול במסמך לניהול אבטחת האובייקטים של 460655, ושל הטבלאות והשאילתות שלו עצמו. חשוב להבין כי מסמכים באובייקטי מכולה שוניס מאלמנטיס של אוסף. מסמכים מכילים אובייקטים שמוריס - בין אס הס פתוחים ובין אס לאו. אוספיס הס קבוצות אובייקטיס פתוחים. אס אובייקט אינו פתוח, הוא אינו מהווה חלק מאוסף, אך הוא עשוי להשתייך לאובייקט מכולה. בנוסף, מסמכים מכילים מידע מינהלי על אובייקטים, אך אלמנטיס באוסף מכילים מידע על תוכן, עיצוב ואלמנטיס משניים של האובייקטיס שבאוסף. האוספיס 5ז₪56 (משתמשיס) ו-פקטסז6 (קבוצות) מכילים אובייקטים תואמיס משלהס. אוספיס ואובייקטים אלה משלימים את מסמכי המכולה כדי לסייע ל-36% לנהל אבטחה ברמת-משתמש. מסמכים כוללים הרשאות. משתמשים שייכים לקבוצות. הרשאות מסמך מתארות רמות גישה של משתמשים וקבוצות. פרק 10 עוסק בהרחבה באבטחה ברמת-משתמש, לרבות משתמשים, קבוצות והרשאות. פרק 2: מודלי גישה לנתונים | 95 אובייקטי סביבת העבודה של 00860166 כשמשווים את תרשים 2.2 לתרשים 2.1, ניתן להבחין כי מודל 008601766 חסכן יותר, מכיון שסביבות העבודה של :008601766 מעבירות לשרתי מסדי נתוניס מרוחקים חלק מהפונקציות שמנהל 26%. לדוגמה, שרתי מסדי נתוניס מרוחקים מנהלים את האבטחה בעצמם, ולכן אין צורך באוספיס 05675 ו-5קטסז6. בנוסף, לא קיים אוסף 16065ט18, מכיון ששרתי מסדי נתוניס מרוחקים מנהלים את טבלאותיהס בעצמם. כך הדבר גם לגבי קשרים. ישנס הבדלים נוספים בין שני מודלי סביבות העבודה: מודל 008601766 כולל אוסף 005 חדש בעל אובייקטים מקבילים משלו. אובייקט 08689856 ממלא תפקיד אחר במודל 6זו00860, ואובייקטי 06/זסט) אינס מכילים אוסף 605ו₪. ניתן לגזור אובייקט ₪660705% מאובייקט פץזפטס באמצעות השיטה 6607056 ח6ק0. למרות ששתי סביבות העבודה כוללות אובייקט מסוג ספפּפפַּזכ, התנהגות האובייקט בסביבת העבודה של 008601760 שונה במידת-מה מהתנהגותו בסביבת העבודה של . בסביבת העבודה של 6606זו860ס0, אובייקט זה מכיל את המאפיין חטס6 שמחזיר הפניה אל ח8000חח60. האובייקט 60000חח60 מכיל את המאפיין 08680856 שמחציר הפניה אל אובייקט 6ִפהּפפּז8כ. במודלי 40פ, האובייקטים ח6000חח60 ו-8%90856 מהוויס דרכים שונות להפנות למשהו זהה. מאפייניס אלה מפשטים את המעבר ממודלי סביבת העבודה של 36 אל סביבות העבודה של 00860176 וחזרה. האוסף 6077665105 האוסף 6000660005 של סביבת העבודה והאובייקטים שלו מהוויס גורמיס קריטייס בעת טיפול במסדי נתוניס מרוחקיס. בסביבות העבודה של 0086017606 מנצליס את השיטה ח08000ח60ח6ק0 כדי להקים חיבור (ח6600חהחס6) אל מסד נתוניסם מרוחק. הדבר מחייב ארבעה ארגומנטים, ששלושה מהס אופציונלייס. הארגומנט הנדרש הוא השס. מתן שס לחיבור מוסיף אותו לאוסף 0660005ח60. שלושת הארגומנטיס האחריס מגדיריס את טבעו של החיבור. מאחר שהם אופציונלייס, ניתן להגדירס בעת יצירת החיבור או לאחר מכן. לעומת ואת, יש להגדיר חיבור בטרס ניתן יהיה להשתמש בו לשליפת נתוניס לביצוע פעולה אחרת כלשהי במקור הנתוניס המרוחק. לארגומנט 600066 חשיבות מיוחדת, בהיותו הארגומנט שקובע את המאפיין 66חחס6 של האובייקט ח6600חח60. ארגומנט זה מגדיר את מחרוזת התיבור. הוא מתחיל ב-0086 ותו נקודה-פסיק (;) ולאחר מכן באיס נתוני החיבור הדרושיס לקישור אל מקור הנתוניס המרוחק. נתוניס אלה יכולים לכלול שס מסד נתוניסם ושם קישור ב-0086 והס גם יכוליס להכיל שס משתמש וסיסמה תואמת. מפרידים בין סוגי המידע השוניס של הארגומנט באמצעות תווי נקודה-פסיק. יישוס יכול לבחון ולאתחל את מחרוזת החיבור באמצעות המאפיין 6066 של האובייקט ח0 660₪חח60. פרמטר אופציונלי נוסף של השיטה ח6600חח60ח6ק0 שולט בשני תפקודים נפרדים: אופן התגובה של חיבור למידע לא שלם של מחרוזת חיבור, וצורת הפתיחה האסינכרונית של חיבור. במקרה של מחרוזת חיבור שהמידע שבה אינו שלם, ניתן 66 החש 2000 60655 לאפשר לחיבור להיכשל וליצור שגיאת זמן ריצה, או ללכוד את השגיאה ולבקש מהמשתמש להשלים את המידע. באפשרותך גס לנצל פרמטר זה כדי לקבוע פתיחה אסינכרונית של חיבור. היישוס יכול לפתוח את החיבור ואחר כך לעבור למשימות אחרות. יישוס 460655 יכול לשרת את המשתמש המקומי על ידי פתיחת טפסיס או אפילו קיוס חילופי תקשורת עס המשתמש. באותו ומן ממש, שרת מסד הנתוניס המרוחק מטפל בבקשת הקמת החיבור החדש. המאפיין 9ח0ט66אם!!50 של האובייקט ח0ו66חהח0ס6 מאפשר ליישוס לדגוס את החיבור כדי לקבוע את זמינות השימוש שלו. האובייקט ח0סו660חח60 כולל חמש שיטות : > 86607056%ה6ק0. שיטה זו מחזירה קבוצת שורות ממקור נתונים מרוחק. מספר רכיבי השיטה בסביבת עבודה של 008601766 רב יותר מזה שבסביבת העבודה של %. קרוב לוודאי שההבדל הגדול ביותר ביניהס הוא שבעת הפעלת השיטה בסביבת עבודה של 00860176 ניתן לציין יותר ממשפט ‏ 501 אחד, וכך יכול משפט יחיד לספק ערכות רשומות רבות לשימוש מקומי. > 6!056. שיטה זו סוגרת חיבור פתוח. > 066ץ6768%60006. גם שיטה זו כוללת רכיביס נוספיס בסביבת העבודה של וס ס. מה שברור הוא שאובייקטי שסץזסט0ס אינס כולליס שדות. אס ברצונך להציג את השורות שהוחזרו באמצעות אובייקט שסץוסטס, עליך להפעיל את השיטה ₪6607056%ח6ק0 של אובייקט זה. כל האובייקטים מסוג שפעזפטס בסביבות עבודה של 76%זו00860 הס זמניים. במודל האובייקט 60ז1פ0086 לא ניתן ליצור שיגרה מאוחסנת במקור נתונים חיצוני. אובייקטי ]6סץזפט) יכוליס להשתייך לאובייקטי ח08600ח60 בלבד. השיטה )6768060067/06 אינה קיימת עבור אובייקטיס מסוג 08190856 בסביבת עבודה של 76%ו00860, כפי שקיימת כזו בסביבת עבודה של 266. באפשרותך לפתוח אובייקט 866070566 מתוך אובייקט 6 בשתי סביבות העבודה. 4 6006אם. שיטה זו מפעילה שאילתות פעולה, שאילתות פרמטר ושאילתות בחירה. מגדיריס את הקבוע 6חץ45חט00₪ כדי לציין שעל האובייקט ‏ פעזסטס לפעול בצורה אסינכרונית. בדיוק כמו במקרה השיטה ח600066000ח006, משתמשים יכולים לבצע משימות במקביל לפעולת האובייקט 6פעזפטוס. המאפיין 8ח0ט66אש!!58 מאפשר ליישוס לבדוק את מצב ההשלמה של האובייקט )שסשופטס. > |68006. הפעלת השיטה ללא ציון פעולה אסינכרונית תסיים שאילתה אסינכרונית ותחזיר שגיאת זמן ריצה. שחרור משאביס שצרך אובייקט 6פעזפט0 מתבצע על ידי שיטת 6!056, או הגדרה של הפניית האובייקט כ-פַחוחזסא. עדכון באצווה עדכון באצווה (פַח68קט ח5866) הוא אחד החידושיס החזקיס בסביבות העבודה של . הוא מאפשר ליישוס לטעון קבוצת רשומות, לעדכן אותן בצורה מקומית, ואחר כך לעדכן את רשומות המקור כאצווה בודדת, במקוס לעדכן כל אחת בנפרד. פרק 2: מודלי גישה לנתונים | 97 לעדכון אצוות יתרון ברור על נעילת רשומה בודדת. עקב הסיכוי להתנגשויות, מומלצ לפעול בדרך גו רק במקריס בהס קטניס הסיכויים שמשתמשים רבים יערכו שינוייס במסד הנתוניס. אך עיבוד באצווה כולל מספר רכיביס מוכללים לטיפול בהתנגשויות. לדוגמה, המאפיין 5חסן8806060(|15 מחזיר סימניות שמצביעות על התנגשויות בערכת רשומות לאחר טעינתה. אפשר לכפות על מסד נתונים מרוחק להיות תואס לעדכון המבוצע, או לקבל את הערך שבמקור הנתוניס המרוחק. שלושה מאפייני ₪6!0 מאפשריס לבדוק ערך מקורי טרס טעינתו, ערך מעודכן בגרסת ערכת הרשומות המקומית ואת ערך השדה החדש במקור הנתוניס המרוחק. לפניך חמשת השלבים ליישוס עדכון באצווה בסביבת עבודה של 08601766: 1. הגדר את המאפיין זסטסזספזט0ו0גו6 | של סביבת העבודה בתור זו 2. צור אובייקט ח6600חח60 או אובייקט ספפּט8ּזה. 3. הפעל את השיטה 8660/0565ח006 עבור האובייקט שיצרת בשלב 2 באמצעות הגדרת ח001506880%5ק000 עבור הארגומנט 5016א1/06. 4. ערוך את השדה בצורה מקומית, לפי הצורך. 5. הפעל את השיטה 0008066 של ערכת הרשומות של שלב 3 באמצעות הגדרת ח00(008%608%6 עבור ארגומנט הסוג. אס לא אירעו התנגשויות כלשהן, סיימת בהצלחה. אס קיימות התנגשויות, תודקק ללוגיקה נוספת כדי ליישב אותן. סקירה כללית על 400 0 00655// תומך בגירסה 2.1 של סס, הכוללת שלושה מודלים לגישה לנתונים: הספריה 8כ0כג, הספריה אסכ והספריה ₪0(. חלוקת הגישה לשלוש ספריות מאפשרת לתוכניות שאינן וקוקות לכל שלושת המודליס להשתמש רק בחלקם. מרכיב נוסף באסטרטגיית הגישה לנתונים של 866655 הוא האמון בספקי ₪8 015. ספקיס אלה פועליס בשיתוף עס 4300 כדי לספק גישה למקורות נתוניס מקובליס ולחדשיס כאחד, כגון ספריות דואר אלקטרוני. סידור וה מעציס את התכנות של מסדי נתוניס. הספריה 0008 היא ספריה קטנה ופשוטה, שמכילה אובייקטים חיונייס ומספקת את הרכיבים הבסיסיים ליצירת חיבוריס, הסרת פקודות ואחזור ערכות רשומות. ספריה זו גם מאפשרת לנווט בערכת רשומות. ניתן להשתמש בה לביצוע מטלות אחזקה בסיסיות, כגון שינוי, הוספה ומחיקה של רשומות. העיצוב הלא היררכי של הספריה מקל על משתמשיס מתתילים. הספריה 00% תומכת בשפת הגדרת נתוניס ובנושאים הקשורים באבטחה. היא כוללת אובייקטיס המקשריס את המשתמש עס הסכימה הכוללת של מסד הנתוניס. לדוגמה, היא מאפשרת ליצור טבלאות וקשרים. המודל כולל תמיכה בשלמות קשריס ((600לחו |08ח6ז606ז), עדכון שדות קשוריס ומחיקת רשומות קשורות, ומציע שגרות, תצוגות ואוספיס של 05678 ו-005ז0 לאבטחת מסד נתוניס ברמת-משתמש. 8 הח 2000 460655 הספריה 380 מאפשרת יצירת שכפול של מסד נתוניס 26. 2000 860655 תומך בשכפול מסד נתוניס במסדי הנתונים 260 ו- ז6ו567 .501. פרק 11 עוסק בהרחבה בשכפול מסד נתוניס. היתרון העיקרי של 00 הוא מודל האירוע. 00860764 מאפשר ביצוע פעולות אסינכרוניות, אך 400 גס מספק אירועים. על ידי כך הוא משחרר את היישוס מהצורך לבחור אובייקט ומבדיקת המאפיין פַח0ט60אם!|50. במקום זאת, ניתן ליצור מטפליס באירועים שיגיבו על אירועיס בעת התרחשותס (בפרקים הבאיס נסביר כיצד לבנות מטפלים באירועים). ספקי ₪8 015 מסייעים לפתח את העוצמה של 00ג. הס מספקיס דרך חדשה לגשת לנתוניס מרוחקים, דרך שמתבססת על 0086 ומרחיבה את יכולתה, ומציעים גישה למסדי נתוניס יחסיים ולמקורות נתוניס לא יחסיים באמצעות ממשק ססג עקבי. 0 160655 משווק עס מיגוון של ספקי ₪8 015, כולל כאלה עבור זפצז56 .501, 366, 86 מקורות נתוני 0086 כללייס וגםס מקורות לא מקובלים, כגון 6 7ץ6000ז1 6ע460 16070508 ו- 567/87 %א06ח1 50%סז6ווא. בבוא הזמן יש לצפות לגידול במספר ספקים אלה. בטרס תוכל להשתמש בספריית 0כג כלשהי, עליך ליצור הפניה אל ספריה אחת לפחות. יוצריס הפניה מתוך התלון זסזו0ם 8856 |טפוצ (85/) באמצעות הפקודה 65 (הפניות) בתפריט 0015ד (כליס). תרשים 2.3 מציג את תיבת הדו-שיח 65 כשכל שלוש הספריות נבחרו. נוח יותר לבחור את כל השלוש, אך בחירת הספריה הדרושה בלבד משמרת יותר משאבים. בחר לניסיון ספריות שונות ביישומיס שוניס הפועליס במחשביס שונים, כדי לקבוע את הצירוף המתאים ביותר לסביבת המחשוב. אס ברשותך יישום המשמש לעבודה שוטפת, שפועל בסוגי מחשבים שונים, עליך לשמר משאבים עבור דרישות אחרות של היישוס. 2 - 06%ח6)6:6 :665 6ופב|ו יה פחסוסה3סו|קק זס= 8356 |הטפו/ ץזב זט | ןפ 9.0 866655 +]ס5סזסוי] חססבוחסזוום 15 עזב זו | 2.0 00016065 בב אפעי- = הס5סיווין 560 חב וכ זס] 2.1 .₪6 סה >ספפיסוויז |+ ץזהזפו | 1.0 8655[ הססבסווק 26% + ס5פלסווי] 3020 שסוזסוזק ץז זו ! סוחס וקו 06655 5066סזסויז | | ץז זט | 66[פכי 3.6 מכ 506סזסוי | | |+ זב זו | וסלחס = 56 עוסמ | ] ץז זפו| 56 |סחס6 6ויסן ו חס 66ח6זט]חס = אפשו0 ה 8606 0 שה זט ] פיד 1.0 ספ/5% 6 > |>| > > > > ץזב זפ | 2.0 6665[ 0363 606% ספסזסויז 0015 ה5!י] סיפה ויז ד5 ₪55 |[= טויס 5ם וז יז 0 חק:6 | :16300 יסִהַבמַח3 1 תרשים 2.3: תיבת הדו-ש'ח 60665'ו₪6106 משמשת להוספת ספריות ססג ליישום פרק 2: מודלי גישה לנתונים | 99 הספריה 0008 ספריית האובייקטיס 0008 כוללת שבעה אובייקטים עיקריים. ארבעה מתוכס כולליס אוספים. האובייקט 600066000 מופיע בראש המבנה ההיררכי, אך ניתן ליצור חיבוריס באופן משתמע ססו|סחו) באמצעות אובייקטיס אחריס. האובייקטיס הסוח ה 60, 0חה8 ה 00, ₪6607056% ו-6|6= כוללים אוספי 65ווסקסזס. צםא הסוז60!!56 וב ז16וח8זה תרשים 2.4: ספריית האובייקטים 008סא האובייקט ח0ו60766% אובייקט וה יוצר קישור אל מסד נתונים. משתמשיס באובייקט ח6000חח60 בצורה משתמעת או מפורשת (וסו|טא6) בעת טיפול במסד נתוניס. בעת יצירה מפורשת של קישור, ניתן לנהל ביעילות חיבור אחד או יותר ולהקצות מחדש את תפקידיהס ביישוס. בעת יצירה משתמעת של חיבור ניתן לקצר את הקוד. כל אובייקט חדש שנוצר באמצעות חיבור משתמע, צורך יותר משאבים. אס היישוס מכיל אובייקט אחד או שנייס לכל היותר, שכל אחד מהס דורש חיבור נפרד, חיבורים משתמעים ייטיבו לענות על צרכיך. 400 מאפשרת לבחור את דרך היצירה והניהול של חיבוריס באופן שתמצא לנחוא. 0 ;א 2000 466655 בניגוד ל-0כ, 00 היא שפה כללית לגישה לנתוניס, ולכן לא כל השיטות והמאפייניס שלה מתאימים למנגנון 36. לעומת ואת קייס ספק 8 015 עבור 4 366, הגירסה העדכנית ביותר של 60( המשווקת עס 2000 8266655. האובייקטיס ח6600חחס6 תלוייס במידה מכרעת במפרטי הספק, ולכן יש ערך רב ליכולת להגדיר פרמטר 6000660000 שמתייחס לספק של 4 366. בעת הפניה אל מסד נתוניסם שנמצא בקובץ אחר, ייתכן שתרצה לכלול פרמטר 6סזט50 זכ שמצביע על המיקום הפיסי של מסד הנתוניס שאינו נמצא בפרויקט הנוכתי. הקוד שלפניך הוא דוגמה פשוטה לפתיחת מסד הנתוניס המוכר סחוששחצוסא. שים לב כי משפט חום מצהיר ויוצר הפניה אל שחוצווזוסחח6 בתור אובייקט ח66000חח60. השימוש בשיטה ח6ק0 ב-6חואוח+זסאחהח6 הופך את מסד הנתונים לזמין עבור שאר חלקי השיגרה. שיס לב כי הפרמטרים זססועסזק (ספק) ו- 66זט50 0868 (מקור נתוניס) מופיעים בין גרשייס. פרמטר ז06וטסזס מצביע על ספק 8 015 של 4 26, ופרמטר זה 506 מצביע על המיקוס הפיסי של מסד הנתוניס 6חוצוחזזסא. ()םסץ ה6קס פט5 חסו66 ה ח 60 צו6 5 סהוצשוח+זסהח6 וחוס 5 5זסו 50500 וחוס 660 60 6+ 076866 ' = 8 ";0.4.0סם 11670508.26%.01]= 6 0ועסזק" השס חוצות+זסא]החס 8 "11606006 67050ו]1!65= ותהזפסזק:06=6טס5 הזכ" "; סח 6 חועשח סא 165 5" .5 55 56% 800 761076706 6007056% 076806 ' 0% וש = 500500075 56% 3% = 6קץ 5.650 560500 06 301 = 6כץ דא06 65.1 56560 041 605% 8 %חוזכן 0ח3 6607056%ז חסמס ' 06 , , ,הרסא החש ,"005605" 5.06 זו 56560 6 (5.16105)1ז5005%06 ,6טו3/. (16!05)0=. 5זס רת 0ז505ז +חוזק. פטססס 5-6 6 התסהה סט 0ח= לאחר יצירת הפניה אל החיבור, הקוד יוצר אובייקט 86607056. הקוד יוצר הפניה אל משתנה האובייקט המציין את ערכת הרשומות, ולאחר מכן מציב ערכים בכמה מאפייניס של ערכת הרשומות. קטע הקוד האחרון פותח את ערכת הרשומות ומדפיס שני שדות מתוך הרשומה הראשונה. השיטה ח6ק0 של אובייקט ₪66070566 יכולה להפנות חיבור אל מסד נתוניס וגם אל מקור רשומות כלשהו במסד הנתוניס. הקוד בוחר את כל הרשומות מהטבלה 605000675 שבמסד הנתונים 6חושחזזסא. השיטה ח6ק0ס הופכת מלכתחילה את הרשומה הראשונה לזמינה עבור היישוס. שתי השורות המסיימות את קטע הקוד האחרון, סוגרות את ערכת הרשומות ולאחר מכן גם את החיבור. סגירת חיבור הופכת את כל האובייקטים שמפנים אליו, כגון אובייקט ₪66070566, לבלתי פעילים. כל ניסיון להגדיר מאפייניס או להפעיל שיטות פרק 2: מודלי גישה לנתונים 101 עבור ערכת רשומות שמפנה לחיבור סגור, יוצר שגיאת ומן ריצה. יצירת חיבור בצורה משתמעת עשויה להיות בחירה טובה יותר, מכיון שהאובייקט יכול להשתמש בחיבור רק במשך קיוס האובייקט. הקוד שלפניך פותח גס הוא ערכת רשומות המבוססת על הטבלה 6059500675 במסד הנתונים 6חושוזוסא ומדפיס את הרשומה הראשונה. אך הפעולה מבוצעת באמצעות קוד פשוט יותר ומספר שורות קוד קטן יותר, כיון שהחיבור נותר בצורה משתמעת תוך התבססות על מספר הגדרות ברירת מחדל גדול יותר. (85%-ח6ק0 פט5 9 5 8זסו 50500 וחוס 0% עשס) = 5005000075 56% וטו טח 60 6500766 זסזהזם ץ|והסחסזסק זט ,6006 1685 ' 8 ";00.4.0= 11670508.26%.01]=ז06ועסזק" ,"65065" ח5.026ז6 ו 565%0ז 8 "11606006 67050ו]65!= ותהזפסזק:06=6זטס5 זכ" "; רחוס 165 5" (1 )16105 . זר 50560 , (16|05)0=. 5זס רת 56560 +חוזק. פטססס 5-6 סט 0ח= מאחר שלא קייס חיבור מפורש, השיגרה 8%ח6ק0 אינה צריכה להצהיר על אובייקט חיבור (ולכן אינה חייבת לפתוח או לסגור אותו). כפי שניתן לראות, השיטה ח6ק0 של אובייקט ערכת רשומות יכולה להכיל את נתוני החיבור החיוניים של ספק ושל מקור נתוניס. הקוד שהוצג מכיל רק פרמטר אחד נוסף - מקור ערכת הרשומות הוא הטבלה 5ה6050.| השיטה ח6ק0 מתבססת על הגדרות ברירת המחדל 6קץ07פזט6 ו-06ץ10601, שמייצגות את המאפיינים קדימה בלבד (עוחס-0זפווחס)) וקריאה בלבד (ץוחס-7680). הגדרות אלו נועדו לפעולות מהירות מאוד, אך הן אינן מספקות תפקודיות רבה. אך אס ההגדרות הולמות את צרכיך ומאפשרות להפנות את תשומת ליבך להיבטיס אחריס של פיתוח יישומים, ייתכן שהן הבחירה הטובה ביותר. המאפיין 86006 (מצב). כברירת מחדל, השיטה ח006 של האובייקט ח6600חח60 יוצרת מסד נתוניס עבור גישה משותפת. לעומת זאת, באפשרותך להגדיר את המאפיין 6ססו₪ של אובייקט ה בתור אחת משבע ההגדרות שמעניקות רמות שונות של גישה מוגבלת למסד נתונים. הגדרות מצב אלו מתייחסות לכל ערכות הרשומות והפקודות שמקצות חיבור למאפיין שלהן ח006600ח6/660. הקוד שלפניך מציג את השפעת הגדרת המצב קריאה-בלבד על היכולת לעדכן ערכת רשומות. ()ץוחסאסס ]ח6ק0 סט5 חס 66 ה ח 60 שצ6 5 1 החש חחוס 5 8זסו 50500 וחוס 0 = 1.1006 חהחס' 8 ";508.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס 8 "16060106 67050ו]65!!= ותהזססזק:06=6ט50 הזכ" "; 0.00 הטרס סו 65 !קרח 58" 2 ;א 2000 406655 .0חוז560 1006 061301 6+ 6ח1ר06667 0+ 6חו] 6%%ח 606 56' 6 חח זחוזק. פטטסכ סא = 5005000015 56% 1חחס = 66000 00/6600 5 זר 565% "005000075" ה06 65.0 56560 .זז 5וח+ הו זסזז6 חה 680565 1.1006 הח6 זסז 0חו560 680 6טסוזס חח ' .6ז זסזום חה 566 60 6חו! 1.1006 חח6 06 הס +ה6ר 60 06 6עסוח6ק ' "אאאאא" = ("1605)"005%06710=. 565606175 ב ב ("16|05)"005%06710=. 65 0ש565ז +חוזק. פטססס 5-6 סט 0ח= השיגרה ץ|ח06%0 1ח6ק0 מצהירה על אובייקט 600066000 חדש בשורת הקוד הראשונה שלה. השורה השלישית (אם תבטל את סימונה בתור הערה) מגדירה את המאפיין 6 של החיבור בתור 30%/006₪680 כדי לאפשר גישה מסוג קריאה-בלבד. אם נעיין בשתי שורות הקוד הבאות, נראה כי השיטה ח6ק0 הופכת את ערכת הרשומות "500500067 לזמינה. ווג השורות הבא מנסה לעדכן את ערך השדה 65000610 ברשומה הראשונה. אס תסיר את ההערה בשורה השלישית, עדכוניסם אלה יגרמו לשגיאה, מכיון שלא ניתן לעדכן מסד נתוניס לקריאה-בלבד. הטבלה שלפניך מתארת את שמונה הקבועיס שבאמצעותם ניתן להגדיר את המאפיין 6 של חיבור. באפשרותך לנצל קבועיס אלה כדי לשלוט בסוג העריכה שיכוליס לבצע משתמש אחד או יותר באמצעות חיבור לערכת רשומות. קבועים שמגדירים את המאפיין 1006 של אובייקט החיבור | קמע |עך 00000 תלד 0000 תטאה | 0 | הרשאות לא הגדה אבש 5 > הרשאת כתיבה-בלבד |הושאתנפנהלבד 0 300650 | 8 | מונע מאחרים לפתוח מקור רשומות עם זויות כתובה. = השיטה 675676₪83ק0. השיטה 068ח56ח6ק0 של האובייקט ח6600חח60 מאפשרת ליישוס לעיין באובייקטיס שבאוספיס הזמיניס באמצעות חיבור מבלי למספר את האלמנטיס ברשימה. פלט השיטה עשוי לחכיל מידע על טבלאות, תצוגות, שגרות, פרק 2: מודלי גישה לנתונים 103 אינדקסיס ועוד. הפרטים הספציפיים תלוייס באופן בו ספק 8 015 נתון מיישס את יכולות השיטה הכלליות. הקוד שלפניך מנצל את השיטה 0060560688 יחד עס ספק 4 36% כדי להציג את התצוגות הזמינות באמצעות חיבור. ()6708%ה56ח6ק0 פט5 סוופטק הסוח ח 5.60 00 ג צוס] 5 1 החש חחוס 585 68ה5%56ז וחוסם 8 ";₪08.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס 8 "160601606 67050ו]65!= ות8זפסזק:06=6זטס5 הזכ" "; סח 6 חושח סא 165 5" (80|65 68 80560 )68 56 1.026 הח6 = 56567608 56% 6 ןסח 67068 ה56!6600 זסחשס ;פאוסוע %פטן זחוזק ' .= ]פד |אם 557 חב ,= ופד 66555ג ,= ופחד ' 0ם. 8וה6ה5056ז וסחט ספ חסחד "/עום1/" = ("םקצך ם 81 ד")6105=. 5560608 + זסססע 8 ("ם א ₪ 1 ד")6|05ו. 55567068 8 " :6חזהח עשסו/" זחוזק. סטטסס + 0חם + 0ו. 56560608 קסס | 6 6 סט5 0חם השיגרה פותחת בהצהרה על חיבור ועל ערכת רשומות. ערכת הרשומות מכילה את הפלט שיצרה השיטה 608ה56ח6ק0. ארגומנט השיטה 0608ח560ח6ק0 מציין כי אלמנטיס של התחוס 65פ89ד של סכימת מסד הנתונים יציבו ערכים ברשומות. לעומת זאת, השיטה 0060560688 עוקבת אחר סוגי טבלה אחדים, כולל תצוגות, טבלאות משתמש רגילות, טבלאות מערכת מיוחדות, טבלה נוספת של אובייקטי 466655 וטבלאות מקושרות. הקוד שהוצג מדפיס את פלט השיטה עבור תצוגות בלבד. האובייקט ₪6601056% ערכת רשומות היא מבנה תוכניתי (6פוחוח8זפָסזס) לטיפול ברשומות. ניתן לבסס את הרשומות על טבלה או על תצוגה בפרויקט הנוכחי, או על קובץ אחר, משפט .501 או פקודה שמחזירה שורות. אפשרויות הטיפול בערכת רשומות תלויות בספק ₪8 015 שלה ובתכונות מקור הנתוניס המקוריים. באפשרותך לשלוף ערכות רשומות באמצעות אוביקטיס אחרים, כגון חיבוריס ופקודות, אך מיגווו המאפייניס והשיטות העשיר של האובייקט ₪6607056 הופך אותו לבחירה הטבעית לביצוע חלק גדול מעיבוד הנתוניס. ניתן להשתמש בערכות רשומות כדי לבצע פעולות רבות כנגד קבוצת שורות: ניווט בין שורות; הדפסת תוכן השורות, 4 הח 2000 466655 כולן או מקצתן; הוספה, עדכון ומחיקה של רשומות; חיפוש רשומות; וסינוו רשומות כדי לבחור קבוצת-משנה כלשהי מתוך ערכת הרשומות המלאה. מבחינה היסטורית, ערכות רשומות היו ונותרו אובייקטיס לא מתמידיס - הן קיימות רק כל עוד הן פתוחות בתוכנית. גירסה 2.1 של 400 המשווקת יחד עס 2000 466655 כוללת ערכות רשומות מתמידות, אותן אפשר לשמור בדיסק ולפתוח במועד מאוחר יותר. המאפיין ח0וז66ח ה660עוש6. מאפיין ערכת רשומות זה מאפשר ליישוס לנצל חיבור פתוח כדי לתמוך בערכת רשומות. ניתן לקבוע מאפיין גה בומן כלשהו לאחר הגדרת האובייקט עבור ערכת הרשומות. השימוש במאפיין זה מפשט את משפט השיטה ח006 של ערכת הרשומות, כיון שהוא מבטל את הצורך לכלול את נתוני החיבור. בעת הגדרת המאפיין מראש, אינך צריך אפילו להתייחס לחיבור קייס במשפט השיטה חס6כס. השיטה ח6סס. שיטת ערכת רשומות וו מהווה נתיב מקובל להפיכת ערכת רשומות לוּמינה בשיגרה. ארגומנט המקור הוא הארגומנט הקריטי ביותר עבורה. הוא מציין את מקור הנתוניס שעליו מבססת השיטה את האובייקט שהיא פותחת. אפשרויות טיפוסיות של ארגומנט המקור כוללות טבלה, משפט ‏ 501, קוב ערכת רשומות שמור או שיגרה מאוחסנת. משתמשים בארגומנט 00005 של השיטה ח6ק0 כדי לתאר את סוג המקור בעת פתיחת ערכת רשומות. סוג הסמן. סוג הסמן הוא אחד הרכיבים הבסיסיים ביותר של ערכת רשומות. סוג הסמן קובע את אופן הניווט בערכת הרשומות ואת סוגי הנעילות שניתן להחיל עליה. 0םג תומכת בארבעה סוגי סמן: > 6ווההּחעס. סוג סמן וה מאפשר למשתמשים להציג שינוייס במקור נתונים, שביצעו משתמשים אחרים. הוא מאפשר פונקציות אחזקה של ערכת רשומות, כגון הוספה, שינוי ומחיקה של רשומות, ומרשה ניווט דו-כיווני במסד נתוניס, מבלי להסתמך על סימניות. > 56%צ6א. סמן זה כולל את רוב המאפייניס של סמן דינמי, למעט גישה מיידית לשינוייס שביצעו משתמשיס אחריס במקור נתוניס. דרך אפשרית להצגת שינוייס כאלה היא על ידי הפעלת השיטה צז₪606 של ערכת רשומות. > 508₪6. סמן ה הוא תמונה של ערכת רשומות בנקודת זמן מסוימת. הוא מאפשר ניווט דו-כיווני. לא ניתן להציג שינוייס שביצעו משתמשים אחריס במסד הנתונים. גירסה 4 ואילך של זסזסוקא= 6חז%6ח1 1670506 תומכות בסוג זה בהיותו סמן צד-הלקוח הגמיש ביותר של הדפדפן. > צוחס-6זהעזס=]. סמן זה, הנקרא לפעמיס סמן ברז-שריפה טחאזסעח), פועל בכיוון אחד ומסוגל להאיץ את ביצועי הסמן. והו סמן ברירת המחדל של ססג. אס אתה וקוק לסוג סמן אחר, עליך להגדיר את המאפיין 6קץדזס5זט6, בטרס תפתח את ערכת הרשומות. פרק 2: מודלי גישה לנתונים | 105 הערה: הגדרת סוג הסמן מתקשרת עם הגדרות סוג הנעילה. אם תגדיר סמן מסוג ץוחס-80זס? בעל סוג נעילה שונה מ- ץוחס-680ז (ץ|ח801.066₪6800), ססה ידרוס את הגדרת סוג הסמן שקבעת. לדוגמה, אם קובעים נעילה אופטימית, ססג ממיר אוטומטית סמני ץוחס-0ז8אוס] לסוג 660566. המאפיין 06ץ1א106. מאפיין וה מתקשר חלקית עס סוג הסמן, מכיון שהוא קובע כיצד יטפלו משתמשיס בערכת רשומות. הגדרה אחת של סוג נעילה (עוח₪6800א06 801) תואמת באופן ייחודי לסמנים מסוג ץוחס-0ז8אוזס?. והו סוג ברירת המחדל לנעילה. הטבלה שלפניך מתארת את ארבע ההגדרות האפשריות של המאפיין 06ץד1066. ההגדרה 000015806ח8806א801.06 מיועדת במיוחד עבור מסדי נתוניס מרוחקים, כגון זז .501 או 866זס, בניגוד למסד נתוניס מקומי 266. פרק 12 מרחיב בנושא זה. קבועים שמגדירים את המאפיין 66ֶץד106 של אובייקט החיבור ו 0 6 נועל רשומה מייד לאחר שהמשתמש מתחיל בעריכתה 06 30 | 3 נועל רשומה רק לאחר שהמשתמש מחיל את השינויים על מסד הנתונים 30006 | 4 | מאפשר פעולות עריכה באצוות רשומות טרם הניסיון לעדכן מסד נתונים מרוחק מתוך אצוות רשומות מקומית הערה: תוכל לקבוע אם ערכת הרשומות בה אתה מטפל תכלול רכיבים תפקודיים מסוג מסוים, על ידי שימוש בשיטה 5זוססקט5. כל שעליך לעשות הוא להציב בסוגריים את הקבוע שמייצג את הרכיב התפקודי הרצוי, בעת הפעלת השיטה. ערך ההחזרה 6טזד מציין כי ערכת הרשומות כוללת את הרכיב התפקודי הנדון. התיעוד המקוון של פוזססקט5 מתאר את שמות הקבועים. חפש את וחטחפחסטקסיספזווס בעזרת סורק האובייקטים (זספאוסז8 05[60%), כדי להציג רשימת קבועים עבורם 715ססקש5 מחזירה 6טזך או 4|56=. ניווט בערכת רשומות. ארבע שיטות מאפשרות לנווט בערכת רשומות על ידי שינוי מיקוס הרשומה הנוכחית : > 5%זו]6עס1א. שיטה זו הופכת את הרשומה הראשונה בערכת הרשומות לרשומה הנוכחית. סדר הרשומות תלוי באינדקס הנוכתי, ואם לא קיים אינדקס, הסדר תלוי בסדר ההכנסה. השיטה פועלת בכל סוגי הסמנים. השימוש בשיטה עם סמני ץוחס-0ז8\זס+ עשוי לאל ביצוע חוזר של הפקודה שיצרה את ערכת הרשומות. 6 הא 2000 406655 > 6|85%ע0//. שיטה וו קובעת את הרשומה האחרונה בערכת רשומות כרשומה הנוכחית. היא דורשת סוג סמן התומך בתנועה לאחור, או לפחות כזו שמבוססת על סימניות. השימוש בשיטה עס סמן ץוחס-6זהאח0ס1 יוצר שגיאת זמן ריצה. 4 %א6)6עסוא. שיטה וו ממקמת מחדש את הרשומה הנוכחית מקוס אחד קדימה ביחס למיקומה הנוכחי (בכיווו הרשומה האחרונה שבערכת הרשומות). אס הרשומה הנוכחית היא גס הרשומה האחרונה, המאפיין *0ם של ערכת הרשומות יקבל את הערך 6טזז. אס השיטה נקראת בזמן שערך המאפיין 50 הוא 6טזד, תתקבל שגיאת זמן ריצה. > פטסועסקסטסוא. שיטה זו מזיוה את מיקוס הרשומה הנוכתית רשומה אחת לאחור. אס הרשומה הנוכחית היא הראשונה, המאפיין 80 של ערכת הרשומות יקבל את הערך פטזד. אס השיטה נקראת בזמן שערך המאפיין 80 הוא 6טזד, תתקבל שגיאת זמן ריצה. השיטה יוצרת שגיאת זמן ריצה גס במקרה שמפעילים אותה עס סמן ץוחס-0ז8אוס1. השיטה שעסוא (מעבר אל) פועלת בצורה שונה מארבע שיטות הניווט בערכת הרשומות, מכיון שהיא יכולה להעביר את מיקוס הרשומה הנוכחית מספר רשומות משתנה בשני הכיווניס. לציון תנועה בכיווו הרשומה האחרונה משתמשים בארגומנט חיובי, ואילו לציון תנועה בכיווו הרשומה הראשונה משתמשיס בארגומנט שלילי. אס התנועה תעבור את הרשומה הראשונה או האחרונה, 6שסוז תיתן למאפיין 80 או 0%ם את הערך 6טזד. אס ערך המאפיין הוא סטזד, השיטה תיצור שגיאת זמן ריצה. התנועה היא יחסית לרשומה הנוכתחית, אלא אס מצייניס פרמטר 5% המאפשר לתנועה להתתיל ברשומה הראשונה או האחרונה. ניתן לשפר את ביצועי השיטה 6עסוז בכמה דרכים, על ידי הגדרת המאפיין 686065126 של ערכת הרשומות לערך גדול מ-1 שהוא ערך ברירת המחדל. שינוי הערך של 6 גורם ל-400 לאחסן מספר רשומות קבוע בויכרון המקומי של תחנת העבודה. אחזור רשומות מהזיכרון מהיר בהרבה מאחזורן מאמצעי אחסון של הספק, ולכן ניתן להאיצ את הניווט ברשומות באמצעות 6עסוז על ידי הגדלת ערך 126ו680065. סמן מסוג ץ|חס-0ז8/זס) ו-686065126 מוגדל, מאפשרים גלילה קדימה ואפילו אחורה. אם הגדרת המטמון זהה למספר הרשומות שבערכת הרשומות, תוכל לגלול את ערכת הרשומות למלוא גודלה בשני הכיווניס. המאפיין 686065126 אינו מאפשר גלילה לאחור באמצעות השיטה פטסועסזק6שסויז (לשס כך משתמשיס בשיטה עסו עם ארגומנט שלילי). השיטה 6חו=. שיטה זו מחפשת אחר הרשומה הראשונה העונה על קריטריון בחירה מוגדר. השיטה דומה להפליא לאוסף השיטות 6חו= של גרסאות מוקדמות של ₪60655, אך הגירסה החדשה מאופיינת בתחביר ובתפקוד שוניס. במקוס לנסות לפרט את קווי הדמיון והשוני בין הגרסאות, מוטב ללמוד את התחתביר ואופן הפעולה של הגירסה החדשה. פרק 2: מודלי גישה לנתונים 107 הגירסה החדשה של השיטה 6ַחו= קולטת עד ארבעה ארגומנטים. הארגומנט הראשון, קריטריון החיפוש, הוא ארגומנט נדרש. התחביר דומה לזה של פסוקיות =85שה/ במשפט ‏ 501. אס אין מצייניסם ארגומנט נוסף כלשהו, השיטה עורכת חיפוש אחר רשומה העונה על הקריטריון החל ברשומה הנוכחית ועד הרשומה האחרונה. לאחר שנמצאה רשומה תואמת, עליך לעבור על פניה, כדי למצוא רשומה תואמת נוספת. אס לא נמצאה רשומה כזו, השיטה נותנת למאפיין 50 את הערך 6טזד. עיין בעזרה המקוונת לקבלת תיאור של שלושת הארגומנטיס האופציונלייס הנותרים. המאפיין +501. מאפיין אה יכול להשפיע על תוצאות פעולתן של השיטות 6חו= ו-6עסוז. מאפיין ה מייעד שדה אחד או יותר לקביעת סדר הצגת השורות. ערך המאפיין +50 מאפשר לקבוע סדר מיון עולה או יורד בהתאסם לשדה כלשהו. ברירת המחדל היא סדר מיון עולה. ערך המאפיין אינו משפיע בפועל על סדר השורות, אלא על סדר הזמינות שלהן בערכת הרשומות. המאפיין 60ז6פ!1=₪. מאפיין זה של ערכת הרשומות מגדיר ערכת רשומות חדשה שהיא גירסה מסוננת של ערכת הרשומות המקורית. למאפיין ה יש יישומים מיוחדים עבור סינכרון מסד נתוניס ועדכון באצווה של מקור נתונים מרוחק, אך הוא יכול לשמש חלופה פשוטה להגדרת ערכת רשומות חדשה שמבוססת על משפט 501. אס אתה וקוק רק לקבוצת-משנה למטרה כלשהי, מאפיין זה יענה היטב על צרכיך. השיטה ש6א26₪0. שיטה זו מוסיפה רשומות חדשות לערכת רשומות. לאחר הפעלת השיטה, מגדיריס את ערכי השדות בשורה החדשה. אחר כך עוזביס את הרשומה באמצעות השיטה 6שטסוא, או קוראיס לשיטה 00806 מבלי לצאת מהשורה החדשה (תוכל לשנות את הערכיס בשדה באמצעות שתי טכניקות דומות: עדכון שדות על ידי מתן ערכיס חדשיס ואחר כך עזיבת הרשומה. לחילופין, קריאה לשיטה 086ק. אפשר למחוק רשומה על ידי ניווט אליה וקריאה לשיטה 6!666ם. הרשומה שנמחקה נשארת הרשומה הנוכחית עד המעבר לאחרת). הדפסת עוכי שדה. השיגרה הפשוטה שלפניך פותחת מקור נתוניס ולאחר מכן מדפיסה את שורות מסד הנתוניס בצורה סדרתית. השיגרה כוללת לולאה שעוברת על כל הרשומות ומדפיסה את שני השדות הראשוניס של כל רשומה. 500 ₪851 000)( 8 075וח505%0ז וחום הסוח ח 0.60 ג 5 1 החש חחוס אש = 5005000075 56% סו 66066.6 = הס 66 חח 0/6600 5 505% = 6קץ 5.50 560500 06 301 = 6כץ דא06 5.1ז רת 56500 6 , ,"סטב דץוא" ה6ק 5.0 זו 56560 8 ;א 2000 406655 8 ";0.4.0ם 67050.26%.01ו1]= 6 0ועסזק" ,"זר 65%" ח5.076ז50₪5606ז' 8 "106006) 670508 65!ו= ותהזפסזק:606=6ט50 הזה" "; 00 0 הועשר סא 65| 58" "0 605%" = 50₪5%07675.50%ז' הפטסזח+ קסס [' 675.50₪ו505%0ז וטח ספ (1 )16]05-. 65 5050 , (16!05)0=. 5056065 +חוזק. פטוססס 5% 56500 קסס | 5-6 50 0ח= אחד החסרונות של השיגרה קסס|ץ585 הוא שהיא מדפיסה רק ערכי שדות מבוקשיס. השיגרה 58510002 שלהלן, מתגברת על הקושי. אין אה משנה מה מספר השדות במקור הנתוניס של ערכת הרשומות, השיגרה מדפיסה אותס במלואס ללא התערבות. ()10002/ץ85= 5 8 075וח505%0ז וחום 0 5 בסו עו חזוס 9חו50 5 צוסחזוס- 507 וחוס צשס) = 5005000075 56% 8 ,"605005" 65.06 56560 8 ";08.4.0 0501.26%.01ז6ו]= 6 סוטסזק" 8 "16060106 67050ו]65!= ות8זססזק:06=6ט50 זכ" "; סח 6 חוששח סא 165 ו 5" .05 )ועט 16!05 0חה 66070566 הפטסזחץ קססן' "65.50 560500 וסח ספ "" = שש80זס-507 555 ה1 6!0ו-ץ₪010 ₪86 זס- " ;" 8 6|0ו 0 8 וסמזס- 5 = שוסמוס- 50 ו וס )אסא אוס זס- 50 זחוזק. פטטסס 5.0 565% קסס | 6 ]505 50 6ח= פרק 2: מודלי גישה לנתונים ‏ 109 קבוצת השורות הראשונה והקבוצה האחרונה בשתי השגרות, פותחות ערכת רשומות וסוגרות אותה. השיגרה 58510002 מקננת לולאה מסוג זס] בתוך לולאה מסוג ספ. הלולאה הפנימית זס] ממספרת את שדות השורה ויוצרת בכל שורה מחרוזת אחת שמורכבת מכל ערכי השדות (בתחילת הלולאה מנקיס את המחרוזת מכל ערכיה כדי לבצע את התהליך פעס נוספת עבור השורה הבאה). לולאה היא דרך קלה לביצוע פעולה על שורות ועמודות של ערכת רשומות. לעומת זאת, אין זו הדרך היעילה ביותר לאחזור ערכי שדה של ערכת רשומות. השיגרה קסס ₪851 שלפניך מנצלת את השיטה 66050108 כדי לאחזר ולהדפיס את כל השדות בכל שורות ערכת הרשומות, וזאת בשלב אחד בלבד. השיטה 9(חו66151 מחזצירה ערכת רשומות בתור מחרוזת. היא יכולה לקבל עד חמישה ארגומנטיס; הקוד שלפניך מנצל שלושה מהם. מציבים את הקבוע פַחו50קו!800 בתור ארגומנט ראשון - זוהי הבחירה היחידה. הארגומנט מציין את תבנית הייצוג של ערכת הרשומות בתור מחרוזת. הארגומנט השני מציין את מספר שורות ערכת הרשומות שיש להחזיר. הקוד מחזיר חמש שורות. אס אין מגדיריס ערך כלשהו לארגומנט, השיטה תחזיר את כל השורות של ערכת הרשומות. הארגומנט השלישי מציב נקודה-ופסיק (;) בתור תו מפריד בין עמודות בשורה. מפריד ברירת המחדל הוא טאב. הארגומנטיס הרביעי והחמישי, שאינס מופיעים בדוגמה, מצייניס מפריד עמודות וביטוי לייצוג ערכי |וטח. ערכי ברירת המחדל של ארגומנטיס אלה הס תו החזרת גררה (68) ומחרוזת באורך אפס. ()קסס 1ץ585 0 פט5 9 5 5זסו 50500 וחוס שס) = 500500075 56% ,"605000675" ה06 65.0 56560 8 ";08.4.0ם 0501.26%.01ז6ו]= וס סושסזק" 8 "160601606 67050ו]65!= ותהזפסזק:06=6זטס5 זכ" "; סח 6 חועשחזס 165 ו 5" .קסס! 8 +טסווצ 660705 זחוזק' (" ;" ,5 ,0500 !066507100)806. זרת 50560 זחוזק. פטססס 5-6 טפ 0ח= השיטה 4חו50ז06 מחליפה שתי לולאות מקוננות. אס ברירות המחדל מתאימות לצרכיך, תוכל להשתמש בשיטה ללא ארגומנטיס כלשהסם. הדבר מאפשר לשלוף ערכים מתוך ערכת רשומות. למרות שלולאות מקוננות הן דרך אינטואיטיבית לשלוף ערכיס מתוך ערכת רשומות, השיטה 66150109 יכולה להביא לתוצאה דומה בשורת קוד אחת בלבד. הוספת רשומה. הקוד הבא מבצע משימה חדשה: הוספת רשומה חדשה למקור נתוניס. 406655 2000 ₪ 0 ()8660170 00 פט5 5ב סוסה דץז5ז הזוס .06|66 0 ץ|הס-7680 %סח 15 5| +08ז 50 זס5זט6 זטסץ 56% ' 00 6 = 6וסה דץ51ז] 56% הסוח .6601660 = ה6600 ה 6600 6וסב דץו5ז 6 0 ,6 5₪וחוק 3010680 560ש66ח6ק00ה , ,"ס!פב3 דעו" הססס.6וסב דץופז .0 ש200%6% 6+ 6אסטחץ ' 00% סוסה דץ וז 6 = 6ט!3/. ("1 חר ט!6|05)"60ו= .316 דץז5ז 7 = 6ט!8/. ("2חותט!00" )605 .316 דץ וז 8 = 6טו3/. ("3 חותט!60" )1605 .316 דץ וז ץז סט 0ח= השגרות 000ס!/585, 85/1002 ו-ק00|ץ85שסא מקבלות כולן את הגדרות ברירת המחדל של סוג הסמן וסוג הנעילה, אך השיגרה 00866070 אינה נוהגת כך. כזכור, ברירות המחדל הן סמן מסוג ץוחס-0זפשוזס+ ונעילה מסוג ץ|חס-680ז. הגדרות אלו מתאימות רק עבור הדפסת תוכן ערכת רשומות. אך יש צורך בסוג סמן ובסוג נעילה המאפשריס עדכון ערכת רשומות, כשהמשימה הנדרשת כוללת הוספה, עריכה או מחיקה של רשומות. הארגומנטיס 8000666566 ו-001506ק0א0106 של השיטה הח6קס מאפשריס להוסיף שורות חדשות לערכת רשומות. שיס לב שההגדרה 6600066000ש6 בקוד לעיל אינה מפנה לפרויקט הדוגמה 6חושחזוסא, אלא מפנה לחיבור הפרויקט הנוכחי. כשעליך להתייחס למקור נתוניס בפרויקט הנוכחי, פעל לפי כללי התחביר. משפט החיבור מציב מפורשות טבלה בפרויקט הנוכחי כמקור הנתוניס של ערכת הרשומות. קיימיס מקורות חלופיים אחדים, כולל טקסט של משפט .50, שיגרה מאוחסנת, קובצ חיצוני שנשמר בתבנית מיוחדת ועוד. כדי להוסיף רשומה באמצעות השיטה שו800%6, קוראיס לשיטה, מפעילים משפטי הצבה כדי למלא את הרשומה החדשה בערכים, ולאחר מכן מפעיליס את השיטה 6. אין חובה מוחלטת לקרוא ל-6ז08ק0; ניתן פשוט לעזוב את הרשומה הנוכחית החדשה. לדוגמה, תוכל להפעיל את זפזוח6עסו] או שיטה אחרת, כדי לנווט לרשומה חדשה. עריכה או מחיקה של רשומה. הקוד הבא עורך או מוחק רשומה. הקוד אינו משתמש בשיטות :₪01 או 050806 כדי לשמור את הרשומות לאחר עריכתן, אלא עוזב את הרשומה. אם אין זה מעשי לעזוב את הרשומה, או אם היישום צריך לאמת את השינוייס טרס עזיבת הרשומה, השתמש בשיטה 00806. פרק 2: מודלי גישה לנתונים 111 ()₪660170 08%6ק(6!6%607כ פט5 5ב סוסב דץוז5ז הזוס .0666 0 שץ]הס-680ז זסח 5! זו +8ח% 50 זספזטס זטסץ 56%' 00 6 = 6|סה דץ51ז] 56% הסוח .6601660 = ה0ס660 ה ה 6600 6וסב דץוז5ז 6 0 ,6 50וחוק 3010600 560ש66ח6ק00ה , ,"ס|פב3 דשוז" הססס.6וסב דץוז5ז הפטסזח+ קססן ' "0ם.6|סה דץן5ז וסחט ספ החד 16 = ("1 חותט!0ס605)"6ו=. 6ופב דץוז5ז +ז 8 = ("1 חוט!16!05)"60= .316 דץ וז ( ץז + 0חם ]אסאס עסו 6וס3 דץ וז קסס | 6 ץז טפ 0ח= לולאה כדוגמת זו שבשיגרה 164866070ז06!6060700008 יכולה לסייע לך לבחור רשומות למחיקה או לעריכה. השיגרה בודקת כל ערך של השדה 1חחטוס6 בערכת רשומות בחפשה אחר שדה שערכו 16. כשנמצא השדה המבוקש, השיטה מוחקת את השורה. שיס לב שהלולאה כוללת שורת הערה. כדי לעבור משגרת מחיקה לשגרת עדכון, העבר את סימן ההערה משורת ההערה לשורת השיטה 66066. חיפוש רשומות. שימוש נפוצ נוסף בערכת רשומות, הוא חיפוש רשומה אחת או יותר העונות לקריטריוניס מוגדרים. 2000 866655 מאפשר לבצע משימה זו בכמה דרכים. בגרסאות מוקדמות של 466655, הרבו להשתמש בווריאציה אחת או יותר של השיטה 0חו. כפי שכבר הזכרנו, 2000 460655 כולל גירסה יחידה של השיטה 6חו= השונה במידת-מה מגרסאותיה הקודמות. גם בגירסה זו תוכל להשתמש ברכיביס התפקודייס הדומיס של הגירסה החדשה של 6חו=. הקוד שלפניך מציג יישוס פשוט של השיגרה 0חו=, אשר מחפש רשומה שמזהה הלקות שלה (כ1ז605%0006) מתחיל באות כ. כשהרשומה מאותרת, השיטה קובעת אותה כרשומה הנוכתית. הקוד מדפיס את השדות 605006710 ו-6וח%86%%8ח60 כדי שאפשר יהיה לאשר במדויק את הרשומה העונה על קריטריון החיפוש. ()ח0/]3%6חו= ספ 9% 5 5זסו 50500 וחוס שצס) = 500500075 56% = = 675.60/600700660078 500560 8 ";08.4.0 050.26%.01ז6ו]= וס סועסזק" 8 "16060106 67050ו]65!= ות8זפסזק:06=6ט50 הזכ" "; סח 6 חועשח סא 65| ו 58" 406655 2000 ₪; 2 ,2655|001506א06 301 ,067560 30006 , ,"605605" ה .זו 56560 06 ("'*כ' 1186 610 65%0") 06חו.5 זו 565% ,("6|05)"6005006710ו.5 סו 50560 זחוזק. פטטסס ( "36 ז0%6 00" )1605 .זר 5605%0ז סט5 0חם אחד החסרונות של הגישה שתוארה הוא בכך שהיא מחפשת מופע תאימות בודד ותהליך החיפוש נעצר מייד לאחר שנמצאה התאמה כזו. הקוד שלפניך מגלה את כל הרשומות התואמות למשפט הקריטריון. יישוס פשוט וה מציג היבטים נוספים של גמישות השיטה שחו". ()2ח6ז0/]13ח1ו= ספ 5 5זסו 50500 וחוס שס) = 500500075 56% 8 ";₪08.4.0 11070500.260.01] = ז6 סק" = הס 66 הח 5.6660 505% 8 "16060106 67050ו]65!= ותהזפסזק:06=6זטס5 הזכ" "; סח 6 חועשח סא 165 58" 265516 060 ]80 ,3000606561 , ,"005605" ה6 5.0 זו 56560 6 0 סס ("'*כ' 1186 610 5%0ט") 6ח!ו.5 ו 5605%0ז הסח ד 65.50 0ז5005ז +[ טפ זוא + 0חם ("0005%06710" )16|05=. פס 0ש565ז זחוזק. פטטסס 5.0% 50500 קסס | סט5 0ח= הפתרון לאיתור כל הרשומות העונות על קריטריון החיפוש הוא לשב את השיטה 6חו= בלולאה מסוג סם. כשהשיטה 8חו= מגדירה את המאפיין +50 של ערכת הרשומות בתור 6זך, לא קיימות רשומות תואמות נוספות. במקרה זה, הקוד מבצע את המשפט זוא= טפ ועל ידי כך מסייס את השיגרה. כל עוד 6חו= תמשיך לגלות מופעי תאימות נוספים, השיגרה תדפיס את מזהה הלקוח בחלון 160/86 (מיידי). לאחר הדפסת רשומה תואמת, השיגרה מתקדמת מהרשומה הנוכחית אל הבאה אחריה. לולא עשתה כן, השיטה 6ַחו" היתה חוזרת שוב ושוב לאותה רשומה. השיטה 6חו= עוברת על ערכת רשומות בצורה סדרתית ובכל פעס מגלה התאמה אחת. השיטה אינה יוצרת גירסה נוספת של ערכת רשומות שכוללת את כל הרשומות העונות על הקריטריון. אס יש צורך בערכת רשומות חדשה או חלופית המכילה את הרשומות התואמות בלבד, עליך לנקוט גישה שונה מזו. המאפיין זטוו= (מסנן) של ערכת הרשומות עשוי להיות התשובה. מאפיין וה מאפשר להגדיר קריטריון פשוט לשדה, פרק 2: מודלי גישה לנתונים 113 ומחזיר גירסה מסוננת של ערכת הרשומות המקורית הכוללת רק את הרשומות העונות על הקריטריון שצוין. על ידי הגדרת המאפיין ווח כקבוע כלשהו מתוך רשימת קבועים, תוכל להשיג תוצאות מיוחדות בתהליכי שכפול מסד נתונים, או עדכון מקור נתוניס מרוחק. קבוע המסנן 6חסאז6טוו80 מסיר את הגדרת המסנן מתוך ערכת הרשומות ומשחזר את ערכיה המקוריים. סינון רשומות. שתי השגרות שלפניך מסננות ערכת רשומות המבוססת על הטבלה 6055 במסד הנתוניס 6חוששחצוסא. השיגרה 66070560חזסטוו] מנהלת את השימוש הכולל במאפיין זוסטוו=, מדפיסה את קבוצת התוצאות, מנקה את המסנן ולאחר מכן מדפיסה את קבוצת התוצאות פעס נוספת. השיגרה 6607056%אזטוו= מתבססת על הפונקציה 66166 |זספוו= המנהלת את הגדרת המאפיין זטוו₪, בהתאם לפרמטריס שהעבירה אליה השיגרה 6607056%חזסטוו=. ( 667166070566|= 55 9% 5 8זסו 56500 וחום 6000566 076866 ' שס) = 5005000075 56% 8 ";08.4.0ם 11670506.266.01] = זס סק" = הס 66 הח 5.6660 505% 8 "1606006 67050ו]65!= ותהזפסזק:06=6ט50 זכ" "; סח 6 חוששח סא 165 ו 5" .6% חססס ' 6 , ,"005605" 5.06 זו 56560 0 זססון-' ("*ס" ,"610 0500" ,7675 0ש616|0)7505א! [זסס|ו= = 500500075 56% 26050 זרת 505%0ז +חוזק. פטססס 05006 ' 6חסא667|ן80 = ז0ס|]. זר 565%0ז 2650 סרח 505%0ז זחוזק. פטססס 5-6 סט 0ח= 66070560. 008 5 6 50ז)6!0ו6א! != הסססחטת 5ב (8חוח5 5 זסס|ו 50 ,0חו507 ₪5 6|0 50 הז 30 00[66% 66070561 50661160 6 חס זססו11 8 56%' 0066 ₪6607056% צוסח 8 הססס' "" 8 זו 5 8 "' 1185 " 6 507610 = זסס|ו=. 6 50 קוחש 50 = 6|0ו6א| |זססוו= 56% חסססחט- 0חם השיגרה 6607056%זסוו= פותחת ביצירה ובפתיחה של ערכת הרשומות ז08ח565%0ז. לאחר מכן היא מיישמת מסנן על ידי קריאה לפונקציה 6|6ו6₪א] |זסטוו, אשר קולטת שלושה ארגומנטים ומחזירה ערכת רשומות המבוססת עליהם. 1!67866070560= מציבה את ערך ההחזרה המסונן ב-ז5605%08ז ומדפיסה אותה כדי לאמת את התוצאה. 466655 2000 /,;; 4 הארגומנטיס שנשלחו אל 6660 |זסטוו= כוללים את זסוחס6פט56ז (ערכת הרשומות), שס שדה שלפיו יש לערוך את הסינון (1ו6ח500ט6), וערך קריטריון סינון (*ס). קריטריון הסינון עשוי לכלול ביטוי חוקי עבור האופרטור 66!(]| של הפונקציה 660 [זסש|ו=. ₪6601056%זסט!ו= מעבירה *פ כדי לצמצס את החיפוש לרשומות שערך השדה 605000610 שלהן מתחיל באות פ. המאפיין זטוו= אינו מגביל את הסינון לאופרטור 6או1 בלבד. ניתן גס לבצע סינוו באמצעות האופרטוריס >, <, =>,=<, <> ו-=. אפשר לכלול את האופרטוריס הלוגייס 400 ו-זס בביטויי הקריטריון, כדי לחבר שני ביטויים או יותר בהתבסס על אופרטוריס חוקיים נוספים. מאפיין זסטוו= מגביל את הקריטריון לביטוייס בתצורת 6ט8[0/-ז678%0ק6-0וח3ּ16!0=. אך קיימיס קבועים של וו המאפשרים שימושים מיוחדים. ₪66070566ז6!ו= משתמשת במאפיין 6חסאזטט!ו80₪ כדי לשחזר ערכת רשומות על ידי הסרת המסננים. שימוש ב-501 ליצירת ערכת רשומות. עובדה אחרונה שעליך לדעת על ערכות רשומות: כיצד ליצור ערכת רשומות בהתבסס על משפטי 501. לעיתים קרובות משפטי אינס מורכבים יותר מהמשפט יישוהאם ופחד ומסח * ד0ם |55'י, אך באפשרותך לנצל את מלוא הרכיביס התפקודיים של 501 כדי ליצור ערכות רשומות. תוכל גס להשתמש במשפטי ז0= ]55 מורכבים ומרובי טבלאות עס שדות מחושביס המשתמשיס בצירופים (פחוס[) פנימיים וחיצונייסם אשר מגבילים או מארגניס קבוצות החזרה בעזרת הפסוקיות =םה/, ץצ 6007 ו- צם הפסמס. דרך קלה ליצירת ערכת רשומות מותאמת אישית שמבוססת על משפטי 501, היא השימוש בפסוקיות =חפה/ו. באפשרותך לשלוף רשומות בצורה סלקטיבית מתוך מקור קיים באמצעות ביטוייס מורכביםס יותר מאשר ניתן להפעיל בעת שימוש במאפיין זסטוו=. הקוד שלפניך משתמש בשיטה ח6ק0 ובמשפט .501. כשמבססים ערכת רשומות על משפט 501 במקוס על טבלה קיימת, מעביריס את משפט 501 ומשתמשים בארגומנט האופציונלי 806 06001 במקוס בארגומנט 6% 84067001. זה כל מה שיש לעשות. לאחר מכן ניתן לנצל את ערכת הרשומות כדי לבנות ערכת רשומות פשוטה כלשהי שמבוססת על טבלה מסוימת. משפטי 501 מורכבים יותר אינס משנים את ההצהרה או את אופן הטיפול בערכת רשומות באמצעות ססג. ()₪6607056% 501 5 5 5זסו 50500 וחוס 600056 076866 ' אעשוס = 5005000075 56% 8 ";08.4.0ם 11670500.260.01 = זס סק" = הס 66 חח 5.6600 505% 8 "016060106 67050ו]65!= ות8זפסזק:06=6טס5 הזכ" "; סח 6 חוששחל סא 165 ו 5" 6 השכס ' ץ!ה00ז וס 3006 , ,"5 00500 םת * 607ם 551" ה5.006ז ו 56560 0% ,680 א6ס וה 0650 זרת 505%0ז +חוזק. פטססס 6-]- 505 50 06ח= פרק 2: מודלי גישה לנתונים | 115 האובייקט 6!60ו= שדה הוא עמודת נתוניס שמכילה ערכים מסוג נתוניס והה. בספריה 8סססג, האוסף 5 שייך בלעדית לערכות רשומות וחבריו הס האובייקטיס ₪6!0. אובייקטיס אלה כוללים מאפייניס ושיטות המשמשיס לאחסון ושליפה של נתוניס. ערכות רשומות מנצלות את המאפיין ס6טו3 של האובייקט ₪6!0 כדי להציג את תוכן העמודה של הרשומה הנוכחית. כשמשנים את הרשומה, ערך זה יכול להשתנות כדי לייצג את תוכן הרשומה החדשה. מאפייניס רביס נוספיסם של ₪66 מכילים 8-ה - נתוניס אודות נתוני הרשומה. המאפיין 6חג הוא נקודת אחיזה (6ו0ַחַח) שמאפשרת ליישוס להתייחס לשדה מסוים. המאפיין 26ו6₪0605 מאפיין את הגודל המירבי של שדה (בתווים, בשדות 16%%). המאפיין 8668|526 הוא הגודל בפועל, בבתים, של ערך באובייקט 8|6ו=. המאפיין פסטפוזשה מכיל מערך רכיבי מידע על שדה. באפשרותו לציין אס ערך שדה הוא בר-עדכון או אס השדה יכול להכיל ערכי ווטא. הערה: המאפיינים 805/26ח2661 |-26ַ60015/ משתמשים ביחידות מידה שונות עבור שדות 16%0. 805/26חו26 הוא מספר התווים המירבי בשדה, ו-46008|5/26 הוא מספר הבתים שהשדה מכיל בפועל. שדות ז6%ד של 4 365 מייצגים תווים באמצעות שני בתים לכל תו, ולכן הערך 60081526 שלהם עשוי להיות אפילו כפול מהערך 660605126. בשדות נומריים ובשדות 6ד במסדי נתונים המייצגים תו באמצעות בית יחיד (כגון מסד הנתונים 3.51 26%), הבדל זה אינו קיים. השיטות של ₪66 - אחטח0ז06 ו-אחטח06ח6סק - מאפשרות לעבד שדות גדולים של טקסט או של נתוניס בינארייס בגושיס קטניס שקל יותר לטפל בהס בזיכרון המחשב. השיטה א%חטח66)0 משמשת להעביר לזיכרון חלק מהשדה. הארגומנט 5126 מציין את מספר הבתיס שיש לאחזר בהפעלה אחת של השיטה אחטח66%0. בכל הפעלה רציפה ללא הפרעות של השיטה, מתבצעת קריאת נתוניס חדשיס מהנקודה בה הסתיימה קריאת הנתוניס הקודמיס. השיטה 00%ח06ח6סקה מאפשרת לבנות מתוך הזיכרון שדה גדול מאוד המכיל טקסט או נתוניס בינאריים, בצורת גושים. בדומה לשיטה אחטח6600, גס שיטה זו כותבת בשדה נתוניס חדשיס החל מהמקוס בו הסתיימה הכתיבה הקודמת של אחטח6חססכה. כדי להפעיל את השיטות בצורה נכונה, יש לתת לסיבית פַחס 3001 של המאפיין שטטה באובייקט 6|0= את הערך 6טזד. המאפיינים ס6וחב3 ו-6טו/. השיגרה שלפניך מציגה את השימוש הנפו של מאפייניס אלה. השיגרה מציגה את כל שמות השדות לצד ערכיהם. היא יוצרת ערכת רשומות בת רשומה אחת בהתבסס על משפט 501. 466655 2000 ₪ 6 ()6ט]6/3רח 3 16!01= פט5 חס 66 ה חה0ס0. 308 5 1חח6 וחוס 58 סו 5560 וחום .םסכ 45 קסס 1101 הזוס 30 660 ה חס60 ח6מס ' = 8 ";08.4.0ם 16070500.260.01 = ז06ועסזק" = חח506 8 "0106 65]!670508!= ות8זססזק:06=6ט50 הזכ" "; 0 0רח. 6 חוצוח+זסא 65!ק רוחה 5 166" הסוח .כ סכ צו6 = 1חחס 56% חח506 ה1.06החס 0% שס) = 5005000075 56% 1חח6 = 0ה660חה6600עו5.6 זו 56560 8" 0050005 את * 607ם 551" ה5.006ז ו 56500 + , ,"קבא ספ'= 61 60560 םשהש" 1 חס 81065 30 65וחהח ₪610 +60 ' 5-ה ח1 01000 ח86ם זס= 6|/. קסס ₪01 ,6 1 קסס 61 שחוזק. פטס קסס 01 6% סט 0ח= השיגרה מתחילה בפתיחת חיבור ולאחר מכן יוצרת ערכת רשומות בחיבור. משפט ‏ 501 שולף את רשומת הלקוח שערך השדה פ0671 6500 שלה שווה ל-ק4אספ. לולאת ספ, הבאה לאחר יצירת ערכת הרשומות, עוברת על שדות ערכת הרשומות. הדפסת המאפיין 6וחגּ יחד עס המאפיין 8|06/ מסייעת להבנת פעולת השיגרה. המאפיין 6קץד. המאפיין 6קץד של האובייקט 6!0= מציינת את סוג הנתוניסם שהשדה יכול להכיל. המאפיין מחזיר את אחד מקבועי סוגי הנתוניס שבטווח הערכיס וחטחם6סץ דזהכ. תוכל להציג את הקבועיס האפשריים שבספריה 0008 באמצעות סורק האובייקטיס. תרשים 2.5 מציג את הקבועיס הללו בחלון ו56ש0סז8 00[66%. בחירת סוג שדה מאפשרת לקבוע ערכים חוקיים עבור המאפיין 6טו של סוג השדה. הדפסת סוגי נתונים של שדות. שתי השגרות הבאות פועלות יחד כדי לעבד קבועיס של סוגי נתונים באמצעות סכג. השיגרה 6סץ8067א60%=₪ פותחת ערכת רשומות המבוססת על הטבלה 00675 במסד הנתוניס 6חושוחשזסא. טבלה זו מכילה מיגוון עשיר למדי של סוגי נתוניס, ולכן ניתן לנצל אותה כדוגמה לבחינת הנושא של סוגי נתוניס. לאחר פתיחת ערכת רשומות, השיגרה עוברת בלולאה על כל השדות שבערכת הרשומות ומדפיסה שם וסוג של כל אובייקט 6|0ו=. הפונקציה 06ץד8!0ו₪ מתרגמת את הערך המספרי של הקבוע למחרוזת המייצגת את הקבוע. הערך המספרי של הקבוע ץ6ח776ְ300 הוא 6. הפונקציה 6קץד160= ממירה את הערך 6 למחרוזת 'ץ6ח6זוט00'י. כעת מדפיסה השיגרה 6מץ67ו6!088ו₪ את שמות כל השדות ואת שמות כל הקבועיס של סוגי הנתוניס. פרק 2: מודלי גישה לנתונים 117 <1ם)- | זז )ס6ן 0 "בי | |= | [. |. |- 8 2 | |- הונח 41| 6 זט | | ופרט ₪ ההדזה שב פסססג תו 'ההטח= 313708 כ' זט זפ מחזפו - 1חוטו8ה3 ₪ ץהּחוםב3ּ ₪ 30000 ₪ זסזום ₪ ה ₪ פופו ₪ 303 = זה ₪2 וח 8350 ה)חטשם קב ו ההטח=פט|פ/וסזז ב הזח פע ו = 8 ₪ = הסוס 86180 שב 6 ₪ ו ו פוחו ד8!ו ]30 ₪ ההנוח= זט 18/0 שק 3408 ₪ - וי 4 וד 0 ₪ [= המטח= קטסז6זפווו שב 6 = 606 זזוו806 0091 ההונוח-61 03431 0008 01 זסמחז6וו תרשים 2.5: סורק האובייקטים מציג מבחר קבועים של סוגי נתונים 18 ()6קץ 67 3 610% 5 חס 66 ה חה0ס0. 308 5 1חחם6 וחוס 58 5070675 חזוס .םסכ 45 קסס 101 הזוס ₪0 6608 ח60 הסכס ' = 8 ";08.4.0ם 1670500.16%.01]= ז06ושסזק" = החה506 8 "0106 65]!6070508!= ות8זססזק:06=6זטס5 הזה" "; 0 6.0 חוצשח+זסא 65!ק רוחה 5 1166" הסוח ח 8.60 )א ופא = 1חחס 560 החה506 ה1.006החס 0% שו 6 = 50700675 56% 1חס = 8ה6600הה600ע5070075.60ז 6 , ,"וס" ה5.006ז50706ז זז 065 0ח3 65חחהּח ₪6|0 +זסס6א יד 65 חן ₪01.00 586 זס= = 8 זע 8 סוחבּ. קסס ₪81 .8 " :ספא |" זחוזק. פטטסס זפ 8 (6סץ ד.קסס 6)101קץ ד60ו= 86 " :מצד " קסס 01 6% 50 0חם 66655 2000 8 0חו 5 45 (ז10%606 5 6קץ הזחו)6קץ ד610ו= הסטסחט= סווטגוק 6 דחו 6856 561666 ץח הסה 6856 "זה /זה/ה" = 6קץדסו6ו= 0 6856 "לְסח6ט00" = 6קץד6!0ו= 0 6856 "0160" = 6קץ ד6!0ו= 86 0856 "3028%6" = 6קץד6!0ו= סחם חסשס6חט= 6ח= | 6 ה! : עשקָשסתזההּ : 5 משס0 סוס : העבשהה : 2 עקת עסקססמדהה : עס : 366 תבה : סע נגו שת שסהתהה : שסהתהסעעו+תפ : ה : הנטקגםם : עסקססמדבהה : סמ 1נסעץ |* צְסמשתמגוסבה : , תרשים 2.6: קטע מתוך הפלט של 6כץד6!0%836= תרשיס 2.6 מציג קטע מתוך פלט 6מץדפוח8ּ\6!0ו=. הקטע כולל לפחות שדה אחד מכל סוג נתוניס שממירה הפונקציה 06ץ8!01=. תוכל להפעיל את 6כץ7ַ86א₪6!0 ואת 6 ד כנגד ערכות רשומות בהתבסס על מקורות נתוניס שונים. ייתכן שתפגוש סוג נתוניס נוסף לארבעה שברשימה. במקרה זה, שדה 6ץד שבדוח יהיה ריק. תקן את הבעיה על ידי קביעת ערך השדה. הכנס נקודת עצירה במשפט זחחק.פַטט6כ בלולאת סס פרק 2: מודלי גישה לנתונים 119 של השיגרה 6כץ6!0%8067ו=. בדוק את ערך 6סץד.קססו0ו של שדה שסוגו אינו מוצג, ואחר כך התאס את ערך הקבוע כנגד הקבועיס בטווח הערכים וחטחסססְץְדַזהכ שמציג סורק האובייקטיס (תרשיס 2.5). לבסוף, הוסף את המשפט 6856 56|665 לשיגרה 6 = כדי להמיר את הקבוע החדש. חיפוש ערך השדה הגדול ביותר. השיגרה 265ו₪16!05 שלפניך מיישמת את המאפיין 86 כדי למצוא את הערך הגדול ביותר בשדה 6האץח8קח0ס6 של הטבלה 5קוח5 במסד הנתוניס 6חושחזזס. השיגרה מתתחילה ביצירת חיבור אל מסד הנתוניס ולאחר מכן פותחת ערכת רשומות המבוססת על הטבלה פזססקוח5. חלקה השני של השיגרה מאתר את שס המוביל הארוך ביותר ומציג תיבת הודעה ובה השס ומספר התווים שהוא מכיל. ()16!051265= 500 חס 66 ה חה0ס6. 308 5 1חח6 וחוס 58 פזססקוח55ז הזוס .םסכ 5 קסס 01 הזוס 58 5 507150 ,1006007 45 5זהח6אהּ |ושחו וחוס 509 5 507436 וחזוס 30 600 ה ח0ס60 ח6כס ' 8 ";₪08.4.0 1167050.16%.01]= ז06ושסזק" = החה506 8 "0106 1670508 65!= ות8זססזק:06=6ט50 זכ" "; 0 הח 0 חוצוח+זסא 65!ק וח 58 7166" 66 8.60 20 צוסא = 1חחס 560 חח506 ה6ק1.0החס צעצס)] = 5זססקוח55 56% 1חח6 = 066000 ח600עו5.6זססקוח55ז , "5זססקוח5 את * ד60ם 551" ה6ק5.0זססקוח55ז .6וחפח 5'זסקקוח5 65%שחס! סחוח ' 0 = 5זבח6)אבּ]סחו "0ם.5זססקוח55ז וסחט ספ חס ד 5זה הוחו < 2 / 600815126 36 חק וח 60!זסקוח55 + 2 / 600815126 36 חקו 510 סק קות55ז = 5זבּח-)אהּוסחו ("6 ה קרח 0" )16105 סק 551 = 6וח508 + 50 עס 5ז סק קוח55ז קסס | 8" 15 6החח 5'זסקקוח5 65%שחס! 6חד" = 507150 ". (075ז86 1 ח6 " .8 5זהח)אב שחו 8 ") '" 8 6ההא5 "2000 66655( 500סזסו] פחוהחרחה טסוק" , הסטפוזס+ה1פע ,5071150 אס 15 6 סט5 0חם 0 ;א 2000 406655 המשתנה פזהּח6אף|זחו עוקב אחר אורך השדה הגדול ביותר. חלקה שני של השיגרה 5 מאתחל את המשתנה ל-0 בטרס יחל ביצוע הלולאה שעוברת על כל הרשומות שבערכת הרשומות. אין הכרח לאפס את פ5זהּח6אב!זחו, מכיון ש-84/ עושה זאת בעצמו. אך האתחול תורס למעין תיעוד עצמי של השיגרה. כל שס מוביל שמספר התוויס שהוא מכיל גדול יותר מהערך הנוכחי של 5זהח6אפּ|חו הוא השס הארוך ביותר עד לאותו שלב של הבדיקה. כשהשיגרה מוצאת שם העונה על קריטריון זה, היא מעדכנת את המשתנה 5זהּח6אהחו ושומרת את השס. שיס לב שהשיגרה משתמשת בשתי מערכות של כללים תחביריים כדי להפנות לשדה. משפטים אחדים משתמשיםס בתו 8ַח98 (!) שהוא סימון שהיה מקובל בגרסאות ישנות של 466655. בסימון הנוכתי, התו 8809 מפריד בין שס ערכת הרשומות לשס השדה. הדרך החדשה והמקובלת יותר היא ליצור הפניה אל השדה באמצעות האוסף 68!6=. באפשרותך להשתמש באינדקס המספרי, אס הוא ידוע לך, או לתחוס את שס השדה בין גרשייס. האובייקטים 6חבּוווה0ס6 ו-זס%סוחבּיובּק לאובייקטיס חח 60 של הספריה 8ססכג שלושה יתרונות: 4 הס מסוגליס לבצע שאילתת בחירה כדי להתזיר קבוצת שורות ממקור נתונים. > הם מבצעיס שאילתת פרמטר, דבר שמאפשר לספק קריטריון חיפוש בומן ריצה. > הס תומכים בשאילתות פעולה כנגד מקור נתונים, כדי לבצע פעולות כגון עדכון, מחיקה והוספת רשומות. כפי שנלמד בסעיפים הבאים, האובייקט 6ַחגּוחוח60 יכול למלא תפקידים נוספים בספריות אחרות. עליך לייעד אובייקט ח0668₪0הח60 שעליו תופעל פקודה. תוכל ליצור אובייקט ה6000החס6 בצורה משתמעת בעת ציון פקודה, או לשייך מפורשות אובייקט ח6600חח60 קייס לפקודה. אפשרויות אלו זהות לאפשרויות ערכות רשומות. המאפיין %טססוחו ד0ההּוחוחס6 קובע את משך הזמן ש-0סג תמתין לסיום ביצוע פקודה. מאפיין זה קולט ערך מסוג 108 שמציין את ומן ההמתנה המירבי בשניות. ערך ברירת המחדל שלו הוא 30. אס פסק הזמן חולף בטרס סייס האובייקט 0ח8וחוחס6) את ביצוע הפקודה, 00 תבטל את הפקודה ותחזיר שגיאה. אובייקט ח0ו66חחס6 תומך אף הוא במאפיין %טססוחו דחה וה60, אך אינו תלוי במאפיין 0 60 של אובייקט 0ח8ח וח 60. מאפיין זטססחו ד0ח8 וו 60 של אובייקט 80 וח60 אינו יורש את הגדרת המאפיין סח הוח 60 של אובייקט חס 66החס6. המאפיין 26ץד6חהּווח 0ס6. קיימיס למעשה סוגים אחדים ושוניס של האובייקט 0ח וח60. המאפיין 6ץ ד0ח8ח 60 מגדיר את סוג אובייקט 06ח8ח חח 60. תוכל לבסס את הפקודה על משפט 501, על טבלה או על שיגרה מאוחסנת, כפי שמציגה הטבלה הבאה. הסיבה העיקרית לשימוש בהגדרת המאפיין 06ץ01ח8 60 היא לאפשר יצירת פרק 2: מודלי גישה לנתונים 121 אובייקט 0ח8ח 60 שמבוסס על משפט 501. החלפת ערך ברירת המחדל של הקבוע 6 ו 60 בערך אחר, עשויה להאיץ את ביצוע הפקודה. לכן, אס המקור ידוע לך, מוטב שתגדיר את הקבוע הזה. המאפיין %א6 ד0חהּ ווח 60. כדי לכתוב משפט 501 שייבצע את הפקודה, משתמשיס בהגדרה 66 ד0ח8חו007 של האובייקט חחח וח60. באפשרותך גס להגדיר את המאפיין בתור שס של שיגרה מאוחסנת. בעת הפעלת משפט 501, ניתן להשתמש במאפיין 0 כדי לציין שהמשפט מיועד להידור (קומפילציה) ולאחסון בשרת מסד הנתוניס. הדבר מאט את הביצוע הראשון של הפקודה, אך במקביל מאיצ את ביצועיה בהמשך. תן למאפיין 6ז8ק6זס את הערך 6טזד כדי להדר משפט 501. קבועי 6ץ 30 וח ס6 בה ו ₪ 1 מאפשר להפעיל פקודה המבוססת על משפט 501, שיגרה מאוחסנת או אפילו טבלה. בדרך כלל תשמור הגדרה זו עבור משפט 501 06 2 מבסס את קבוצת ערכי ההחזרה על טבלה שעוצבה קודם לכן. מחזיר את כל עמודות הטבלה בהתאם למשפט .501 שנוצר באופן פנימי יוב מפעיל פקודה המבוססת על טקסט עבור שיגרה מאוחסנת העשסחאח ת0בּ לא קיים מפרט כלשהו לגבי סוג טקסט הפקודה. זו ברירת המחדל 306 | 256 | מעריך פקודה בהתאם לשם הקובץ עבור ערכת רשומות תמידית 303 | 512 | מעריך פקודה בהתאם לשם הטבלה. מחזיר את כל העמודות בטבלה ללא קוד 501 מתווך כלשהו השיטה 16ז660אם. השיטה 5066006 של אובייקט 800 60 מפעילה את קוד הרקע של האובייקט 0ח8 60 (שאילתה, משפט 501 או שיגרה מאוחסנת). תוכל לציין עד שלושה ארגומנטיס. הארגומנט הראשון מאפשר לאובייקט 60800 למסור לשיגרה המפעילה אותו את מספר הרשומות שעליהן פעל. הארגומנט השני יכול להיות מערך +חוז/ שמכיל פרמטריס להפעלת הפקודה. הארגומנט השלישי מודיע ל-400 כיצד להעריך את המקור. ארגומנט זה יכול להיות אחד מתוך רשימת שמות הקבועיס המוצגיס בטבלה ''קבועי 6כץ ד0חהחחחחססיי, לעיל. השיטה ז60373716%6ז63ו6. השיטה ז87806060ק0ז0768 של אובייקט חפ 60 יוצרת פרמטר חדש של פקודה. לאחר יצירת הפרמטר, תוכל לנצל את השיטה סחסססה כדי להוסיף את הפרמטר לאוסף 665 הזץ של פקודה. בטרס תפעיל שאילתת פרמטר, עליך לספק לפרמטר ערך. 406655 2000 ₪; 2 יצירת ערכת רשומות באמצעות שאילתת בחירה. אחת המטלות המיידיות שניתן לבצע בעזרת אובייקט חח 60 היא ליצור ערכת רשומות שמבוססת על שאילתת בחירה (עזפטם 566%). האובייקט חַחוחוח60 מפעיל את שאילתת הבחירה ומייצג את הערכים המותחזריס שלו. בשלב גה יכול הקוד שכתבת לפתוח אובייקט ‏ ₪6607056% המבוסס על הקבוצה המוחזרת מהאובייקט 0ח8ח60. וה בדיוק מה שמבצעת השיגרה 56!660607800 שלפניך. לשיגרה שני חלקים: האחד יוצר את האובייקט 0ח ו 60 וחיבור שמקשר אותו למסד נתוניס, והאחר מעבד ערכת רשומות המבוססת על הקבוצה המוחזרת מהאובייקט. ()0ח8 5616600 5 סה 60 5 601 וחוס 58 5 5071 ,66070566 5 51 הזוס .םסכ 5 קסס 101 הזוס .ו 60 600%6א6 30 6ח6כ ' וו 208.00 עוסא = 601 56% 61 הסו\ 660 חח 60600.0 6 = חה0ס0 66666 . "סוסב דש את *.6|סה דש 567 [55" = 6% דחו 60. 0% = 06ץ ו 60. 6 חסו/\ סחם= טשחוזכן 0ח3 חסכס ' , שצוס) = 51 566 1 51.0060ז 51.50 וטחט סס ₪ 5 חן 01000 ₪86 וס (9)זח6 8 6טן/. קסס.]1!0 8 51 = 501 קסס 01 %א6)] 1 5 שסחוזק. פטטסס +אססעסו. 51 קסס | סט5 0חם חלקה הראשון של השיגרה מצהיר על 6701 בתור אובייקט 0ח8 60 ולאחר מכן מגדיר שלושה מאפיינים קריטייס של האובייקט. כל פקודה חייבת לכלול מאפיין ח0ו660ח 66600 כדי לפעול כנגד מסד נתוניס. האובייקט 6000800 מסתמך על משפט 501 שייצג את שאילתת הבחירה שלו. תוכל להחליף את שאילתת 501 בשאילה שמורה. משפט 60016א₪ מפעיל את שאילתת הבחירה. בתוס פעולת השיטה 6ט660אם, 1 מכיל הפניה אל ערכת רשומות. פרק 2: מודלי גישה לנתונים 123 חלקה השני של השיגרה פותח אובייקט ₪66070566 המבוסס על 6001 ומדפיס את קבוצת ההחזרה שחבריה מופרדים בתווי טאב ((9)זח6) בחלון 160186 (מיידי). יכולת הטיפול של השיגרה אינה מוגבלת למספר עמודות ושורות כלשהו. יצירת ערכת רשומות באמצעות שאילתת פרמטר. הקוד שלפניך הוא דוגמה לשאילתת פרמטר (ץז6ט) זסזסוחהּזהק). גס קוד וה מורכב משני חלקים. שאילתת הפרמטר שבחלק הראשון כוללת שורות קוד 400 אחדות ומשפט ‏ 501 בתחביר שונה משל שאילתת הבחירה הקודמת. החלק השני שמדפיס את קבוצת ההחזרה זהה לזה של שאילתת הבחירה הקודמת. ( חר 660 73 5 סח 60 5 601 חחוס 58 5 5071 ,166070566 5 51 הזוס .םסכ 5 קסס 1101 הזוס זז 5 1לחו ,ההק 0 סכ 5 1 חחזק וחוס .חח 60 060106 300 68%6ז0 ' וו 8.00 20 צוסא = 601 56% 01 הסו\ החסו66 חח 60600.0 6 = חה0ס 660 תה 666 . ₪ ";0ח0] [65%אוס 1] 75ז6%06ו0ה37ק" = 6% דחו 60. 8 " 3חוט|ס6 ,2חוחט!60 ,1חותטוס6 ₪607 551" 8 " 6|סהדץוא אסא-" "[651עוס ]]= < 1 הוחט!60 = חשרן\" 3% = 06ץ ו 60. ה)%ו\ 0חם 66 ההכ 067106 300 076806 ' (טטקחז 303 ,%56067ח301 ,"[65עוס |]" )זז 601.68 = 1וחזק 56% 1חזס 0חהס6קכה.5זסז6רח ה זהק. 601 (("2000 266655 1167050 פחווחוחהוטסזק" ,"?סט|הע זפסצוס.1")אסט6+טסח1)ווזד = 1טחו 1חו = 6טןבּ/. 1 חזוק ץ זט ההק חטח ' 6 טס ו %חוזכן 0חה 601 חס 6607056% הסקס ' /צס) = 51 56% 1 ה51.0060ז 51.50 וטח סס =[ 5 חן 010070 ₪86 וס (9)זח6 8 6ט!/. קסס .]1/0 8 51 = 501 קסס. 01 +%אסו] 1 5 שחוזק. פטטסס +אססעסו. 51 קסס | סט5 0חם 66655 2000 /; 4 תחביר משפט 501 כולל שורת הצהרה חדשה על פזס66וחהּזהּק, אשר מציינת את שס הפרמטר וסוג הנתוניס שלו. הפסוקית =מםה/ אף היא צריכה להפנות אל פרמטר אחד או יותר, כדי שהפרמטרים יוכלו לפעול על קבוצת ההחזרה. לא די בתיקוני תחביר אלה במשפט 501 כדי לגרוס לשאילתת הפרמטר לפעול - עליך להוסיף את הפרמטר ולצרפו לפקודה באמצעות קוד ססג. מפעילים את השיטה ז687870600ז6708 כדי להוסיף את הפרמטר. הקוד שלעיל מפעיל את השיטה באמצעות שלושה ארגומנטים. הארגומנט הראשון מקצה לפרמטר שם, השני מקצה לו סוג נתוניס והארגומנט השלישי מצהיר על כיוון. הקבוע 6טסח8011ז3ק0ה הוא למעשה ברירת המחדל שמצהירה על פרמטר קלט לשאילתה. קבועים נוספים מאפשרים להגדיר פרמטרים של פלט, קלט/פלט וערך התזרה. לאחר יצירת פרמטר, עליך לצרף אותו לאוסף פזסס6וח8ּזק של הפקודה. לאחר כתיבת הקוד שמוסיף את הפרמטר, עליך להקצות לפרמטר ערך כדי ששאילתת הפרמטר תפעל בצורה תקינה: הקוד שלעיל משתמש בפונקציה אספזטקח1 כדי לקבל קלט מהמשתמש. לאחר קבלת הקלט, השיגרה מפעילה את השיטה 660%66א₪ של האובייקט 0חאוחוחס6 כדי ליצור קבוצת החזרה. מחיקת רשומות. באפשרותך לנצל את האובייקט סח 60 כדי למחוק, לעדכן ולהוסיף רשומות למקור נתוניס. האובייקטים 60800 מספקים אמצעי תכנותי לתחזוקת מקור נתוניס. השגרות 6!606066070 ו-6!600|]₪660705ש שלהלן אוספות רשומות מתוך מקור נתונים. מייעדים את מקור הנתוניס ואת קריטריון בחירת הרשומות באמצעות המשפט םד |םכ של 501. תצוגת .501 בחלון השאילתה של 460655 מאפשר לעצב שאילתה בצורה גרפית ולאחר מכן להעתיק את הקוד למאפיין + ו 60 של הפקודה. בוודאי תרצה לערוך את קוד 501 מתוך מעצב השאילתות של 4660655, כדי להסיר סוגרייס מיותרים. אס השאילתה שיצרת מתבצעת על טבלה בודדת, תוכל להסיר את תחילית הטבלה שלפני שמות השדות. כפי שניתן לראות, ההבדל בין שתי שאילתות המחיקה מתמקד בתחביר משפט 501. ()866070 6166 פט5 חר 8.60 0 45 601 וחוס וו 5.00 0כ ג שוסא = 601 56% 61 הסו\ הסו66 חח 60600.0 6 = 6600 תה 6660 . 8 " ₪0ת 1ההוט|ס6.6!טב דש ם דם 1ם" = 6% דחו ס6. "; ((13 = (1חוחט|ס6.6!סב דץוז))) םמם ה/ 6וסב דעו" 0% = 006 60. 6 חסו סחם= 50 06ח= פרק 2: מודלי גישה לנתונים | 125 ()6!6%6|]5₪660705 פט5 חר 8.60 0 45 601 וחוס בוו 5.60 סכ ג צוסא = 601 56% 1 תסו הסו66 חח 60600.0 6 = 6600 תה 666 "6|סה דעו סמ *.6!טב דש ם דם 51" = 6% דחו ס6. 3% = 06ץ ו 60. 6 חזו\ סח 50 06ח= הוספת רשומות. בעת פיתוח יישוס, ייתכןו שתהיה מעוניין ביכולת למחוק את כל הרשומות מתוך טבלה ואחר כך לאפס את תוכנה. השיגרה 1568660705 משתמשת באובייקט 6ַחאּהוח60 כדי למלא טבלה בערכים. תוכל להפעיל את השיגרה יחד עס השיגרה 6!606|!8660705 כדי לרענן את הטבלה בקבוצת רשומות בסיסית קטנה. 16 66655 2000 8 ()56118660705ח1 5 חר 8.60 0 45 601 חחוס הוח 60 צו6] = 601 56% 1ח חשו/ הסו66 חח 60600.0 6 = חה0ס 660 תה ס66עו6. ,1חותט!ס6)0וטב דעוי ס דאז 1555" = 6% דחו 60. "('1,2,'3) 55 |ה/ (3חוחט|ס6 ,2חוחטוס" 0% = 06ץ ו 60. 6 ,1חוט!ס)6וטב דעוי ס דאן דחפ" = 6% דחו 60. "('4,5,'6) 55( ]ה/ (3חוחטוס6 ,2חוחטוס" 0% = 06ץ ו 60. 6 ,1חותט!ס6)0וטב דוי ס דאז 1555" = 6% דחה וו 60. "('7,8,'9) 055 ]ה/ (3חוחט|ס6 ,2חותטוס6" 0% = 06ץ ו 60. 6 ,1 חותט!ס6)0וטב דעוי ס דאן דהפ" = 6% דחו 60. "('10,11,'12) ₪5 1ב (3חוחט!0ס6 ,2חוחטוס6" 0% = 06ץ ו 60. 6 8 " ,1חותט!|ס6)0|טב דץוז סדאז 1555" = 6% דחו ס6. "('13,14,'15) ₪5 1ב (3חוחט!0ס6 ,2חוחטוס6" 0% = 06ץ ו 60. 6 8 " ,1חותט!6)60טב דעו סדא1 פא" = 6% דחו ס6. "('16,17,'18) 5ם! |ה/ (3חוחט!60 ,2חוחטוס6" 0% = 06ץ ו 60. 6 הזו 0חם= 50 06ח= השיגרה 105618660705 כוללת אלמנטיס כלליים וספציפיים כאחד. האלמנטים הכלליים אינס תלוייס בעיצוב טבלה מסוימת. בקוד שלעיל, האלמנטיס הספציפייס תואמיס לאלה הכלליים של הטבלה 6!פּדץוא. תרשים 2.7 מציג את 6|סּדץוא בתצוגת עיצוב (ח0ו65כ). הטבלה כוללת שלוש עמודות : 1חוחטו60, 2חוחטוס6 ו-3חוחטוס6. שתי העמודות הראשונות מכילות נתוניס מסוג ז0606ח1 פַחס1, והעמודה השלישית מכילה נתוניס מסוג ז%א6ד (בעת הוספת רשומות, יש להתחשב בסוג הנתוניס של השדה). [<1ם) = 6 -: סוסב דע 88 שוחב בוו חסופןו650 סז בוו 668 | 100 | לח הַחס.1 6 הפו וי סנו 5 |8 וט קנ 56 ח63 פובה בסו ה 856 סופת ,חס 63865075 64 ספ חסקה .503005 בַחוט!סחו סטב 6/5 חס סופת זס] 1= פפסזק ₪6 ח0ו8030/י 5 165 ד ח0ו80 הי סז וטס (63065ו!קטו סא]) 65/י כ תרשים 2.7: תצוגת עיצוב של הטבלה אליה מוסיפים רשומות באמצעות השיגרה 1-5 האלמנטיס הכלליים של השיגרה 5618660/05ח1 משותפים ליישומיס נוספיסם של האובייקט 0ח8ח60. יוצריס הפניה אל אובייקט 0ח8ח 60 ומגדיריס את מאפיין החיבור שלו. לכל שורה ברשומה שברצונך להוסיף, נחוצות שלוש שורות קוד: הגדרת המאפיין 016%%ח8חוח60, שמציין את פעולת הפקודה; המאפיין 6כץד0ח חח ס6, שמציין את תבנית ההוראה; והשיטה 6זט660אם5, שמפעילה את תהליך ההוספה של הרשומה החדשה. תוכל לחזור ולבצע את שלוש שורות הקוד לכל שורה שברצונך להוסיף למקור הנתונים. אם תציין בתור מטרה קבוצת רשומות דינמית שניתן לעדכן אותה, שלביס אלה יכוליס להוסיף רשומות לשתי טבלאות או יותר, בו-זמנית. פרק 2: מודלי גישה לנתונים | 127 תחביר משפט 6 07ח8 60 של 501 כולל שלושה מרכיבים (תחביר זה אינו זמין מתוך תצוגת 501 של מעצב השאילתות של 1600655). ראשית הוא משתמש במילת המפתח 0דא1 דח55א1. אחרי מילה זו רשוס שם מקור הנתונים שאליו ברצונך להוסיף רשומות. שנית, המשפט מנצל את השלב האופציונלי שמציג את שמות השדות שקולטיס את הערכיס החדשים. אס לא תבצע שלב זה, הערכים שתוסיף בשלב השלישי יתוספו בצורה סדרתית. הדבר עלול להוות בעיה, אס עיצוב מקור הנתוניס משתנה במשך הזמן. שלישית, מילת המפתח 5=ם/ !אצ מופיעה לפני ערכי השדות של הרשומה החדשה. עדבון ערכי רשומה. השגרות חפעםס 0001 ו-0000סזח6ע₪ מעדכנות את ערכי מקור הנתוניס של 1חחחטוס6 באמצעות האובייקט 6ַחחוח0ס6. תרשים 2.8 מציג את הטבלה מייד לאחר הפעלת השגרות 6!6064|]₪660705 ו-56716660705ח1. שיס לב כי בתרשים 8 הערכים בעמודה 1חחט|ס6 הס זוגיים ואי-זוגייס לחילופין: אס ערך כלשהו בעמודה 1חוחט|60 הוא אי-זוגי, הערך המקביל בעמודה 2חחט!ס60 הוא זוגי. השגרות מנצלות מידע זה כדי לנהל את תוכן הטבלה. | 3התט!60 | <תוחט! 60‏ | [תותט!ס 6‏ | | 23 56 9 6 01 |++| זו יכן | 4 ]4 0 תרשים 2.8: תצוגת גיליון נתונים (28%95766%) של הטבלה אותה מעדכנות השגרות חסעם 0 02007 ו-0000 דחסעם ()חשעםס 0007 50 וח 8.60 0 5 60025 הזוס 1 5 060 חה ח60פשסהשחו הזוס 60 8.600 20 עש6 = 60025 566 25 הסו\ הסו66 חח 0ס0[600.6 זל 6 6 = חה0 66 ה 6660 . = 6 " = 1חוחט!ס6 551 6|טב דש ₪ ד סק" = 6% הווח ס6. "(6טזד=((2 106 1חותטו1*)60-)) םמםה/ 1+1חוחטוס6" 0% = 6קץ דחו 60. 0וס הו 660%6א5. ".3160060 6ו6/ וס " .8 860ח8ה50צוס שחו זחוזק. פטפסס הז%ו 0ח= 50 0חם 8 א 2000 00055 ()0000 דח6ע= פט5 וח 08.60 0ג 45 60520 וחוס ו 5.60 סג צוסא = 600520 560 20 הסו\ הסוח 606.60 6 = חה0ס0 66 תה ס66עו6. = 8 " = 1חוחט|ס6 55 6|טה דש םד סק" = 6% דחו 60. "(3!56- = ((2 ₪00 2חותט|ס1*)6-)) םמםה/ 1-1 חהותטוס6" 0% = 06ץ ו 60. 6 ה)%ו 0ח= טפ 0ח= העיצוב הכולל של שגרות אלו בוודאי מוכר לך. ההבדל המשמעותי ביותר בין הדוגמאות הנוכחיות לאלו שהוצגו קודס לכן טמון בתחביר משפט 501 של המאפיין + וח ס6. במקרה ּה, באפשרותך לחלצ את תבנית התחביר הכללית מתוך מעצב השאילתות של 406655. הפסוקית םחםח/ של השיגרה ח6ש000105 בוחרת רשומות שהערך בעמודה 1חוחט!ס6 שלהן הוא אי-זוגי. חלק התחביר הכולל את המילה =דהפק מוסיף 1 לערך כדי להפכו למספר זוגי. השיטה 6606 מנצלת אחד מהארגומנטיס המוכללים שלה כדי להתזיר את מספר השורות שהשתנו על ידי פקודה. השיטה הפשוטה זשחוזק שולחת ערך זה לחלון 16013%6.ח1 (מיידי) לצורך הצגתו במסך. השיגרה 0000 דחעם בוחנת את הערך שבעמודה 2חטוס6, כדי לקבוע אס יש לחסר 1 מהערך שבעמודה 1חוחט|ס6. אס הערך שבעמודה 2חוחט!60 אינו אי-זוגי, משפט .501 פועל על הערך בעמודה 1חוחטוס6. פעולה זו משחורת את הערכים שבעמודה 1חחטוס6 לערכיהס ההתחלתיים, אס 000 דח6/ם פועלת מייד לאחר השיגרה חסעסס ד000. האוסף 5וסיוו= אוסף זה מאפשר ללכוד חלק מהשגיאות המופיעות ביישוס 0סג. האוסף גס מחזיר שגיאות מתוך ספק 08 015. מצב שגיאה יחיד יכול להחזיר שגיאות רבות, שכל אחת מהן גורמת להצבת אובייקט זוסזזם חדש באוסף פזסזזם. יש שגיאות הגורמות לסיוס התוכנית, אך לא כולן. כל תקלה חדשה מנקה אוטומטית את האוסף פזסזום כדי שזה יוכל לקלוט את השגיאות הקשורות אליה. שגיאות 400 מסוימות נקלטות באובייקט זזם במקוס באוסף פזסזזם, אך ניתן להשתמש גם באוסף למטרה זו. האוסף פזסזח= מתאים ביותר לטיפול בשגיאות מבוססות-חיבור שהותזרו ממסד נתוניס מרוחק באמצעות ספק 08 015 שלו. האובייקט זסזזו₪ של האוסף פזסזום כולל חמישה מאפיינים שמסייעים לאסוף מידע נוסף המאפשר להגיב עליהס באמצעות לוגיקת התוכנית. המאפיינים זסטחחטא (מספר) ו-חסטקוז0650 (תיאור) מקביליס למאפיינים של האובייקט זום. מאפייניסם אלה משלימים זה את זה. המאפיין זפסוחטא מחזיר מספר ייחודי שמזהה שגיאה, והמאפיין ח00קו₪650 מחציר מחרוזת תיאור קצרה של השגיאה. המאפיין זסזוספשטְפא מספק קוד שגיאה מוגדר של הספק. אס אתה עובד לעיתיס קרובות עס ספק מסוים, מאפיין פרק 2: מודלי גישה לנתונים 129 זה עשוי לספק לך מידע שימושי לפתרון השגיאה. המאפיין 66זטס5 (מקור) נוקב בשס האובייקט או היישוס שחולל את השגיאה. המאפיין 5015196 יכול להכיל הודעות שגיאת תחביר של משפט 501, שמקורן בשרת מסד הנתוניס שאליו מפניסם את הבקשה. השיגרה פזסזופץ|ח0א1.00ח6ק0 שלהלן היא התאמה של שיגרה שהוצגה קודס לכן, אשר מציגה את השפעת המאפיין 006 של האובייקט חס660חחס6. הגדרת מאפיין וה כקריאה-בלבד גורמת ליצירת שגיאה בעת שמנסים לעדכן מסד נתונים. מעניין לציין כי השגיאה אינה הופכת לחלק מהאוסף פזסזום. באפשרותך ללכוד את השגיאה ולהגיב עליה באמצעות האובייקט זוש. החבר האחרון באוסף פזסזזם מופיע גם הוא באובייקט זזם. לוגיקת לכידת השגיאות שבסוף השיגרה נמנעת מהדפסת שתי שורות בעלות מספר ותיאור זהים. ()5זסזזםץ|ה0אסס [ח6ק0 פט5 חס 66 ה ח60 שצס] 5 1 חח6 וחוס 5 56050005 הזוס חן 5 5זסזזם תח ,זסזזם 85 קסס וס וחוס סז דץ|חסאסס | 6010 זסזום חס 0 = 1.]]006חחס 8 ";₪08.4.0 0508.26%.01ז6ו = זסוטסזק" ה6ק1.0החס 8 "1606006 167050 65!= ותהזפסזק:06=6ט50 הזכ" "; סח 6 חועשח סא 165 5" סז 8080!6זל 0667806 0 צץ660זססחו סהוצוחזזסא ||606 ' = 8 ";08.4.0 1670501%.260.01 = 6 0ועסזק" ח1.006החס -' 8 "1606166 050ז6ו]65!= ותהזפסזק:06=6טס5 הזכ" "; 05.0 תועשח+ סא 65!ק 58" !!!506 זס0וטסזק 1801 זס+ %ה6ח6!6 פזסזזם סא ' = 8 ";₪08.4.0 1670501%.2605.01]=ז06ועסזק" ח6ק1.0החס - ' 8 "11606166 67050 65!= ותהזפסזק:06=6וטס5 הזכ" "; סח 6 תוצוחל+זסא 65| 58" ש 66 = 5050070675 56% 1חחס = ה6600 5.0660 זר 500560 סז 080|6ק3- הסה 424 3 86 60 66 60חו 75ז5005%010 |ו606 ' סז 0|6 328 - הסח 3001 366 60 הח6 35 1 חחס ||506 ' 1חס = 66008 חח660ע60. 5006 50ז - ' סז 08|6ק3 זט 2147217900- 86 60 "זר 6500" 35 שבח 6|סםץ ||506 ' "0056000075" ה06 5.0 56560 .6זח (3251) ]סו חב 680565 1.1006 חהח6 זס? 0חו560 3010068680 ' .5 603065 60 6חו! 1.1006 חח6 6טס זחסווס6' "אאאאא" = ("16|05)"005006710 .5 5605%0ז 6 ("16|05)"605%0706710= .סו 50560 זחוזק. פטטסס 6 0 ;א 2000 406655 :הז דץ|חסאסס | 0 = פזסזום הזחו סז 1 הח6 ח1 קסס 6 ה86ם זס- חסטק6507. קסס |זזס ,זססוחטא. קסס !וס +חוזק. פטטסטס 1 + פזסזזם חזטחו = 5זסזזם שחו קסס ]6 +אסו] הסח 0 = פזסזום ה טחו +[ חסק6567כ.זזם ,זסטותטאז.זזם +חוזק. פטטטס + 0חם 50 0ח5 השיגרה פזסזוםץ|ח00%0 1ח6ק0 יוצרת מספר סוגי שגיאה שוניס ומנסה לכתוב אל חיבור מסוג קריאה-בלבד. תרשיס 2.9 מציג את החלונות 6006 ו-6018%6ח1 של 85/. מקור ההודעות בעלות קודי השגיאה הארוכים והשליליים הוא באוסף 8סזום. שאר השגיאות הן שגיאות 00 שמדווחות באמצעות האובייקט זזם. רק לשתי שגיאות יש מספרים ארוכים ושליליים מהסוג המאפיין את השגיאות שבאוסף פוזסזום. שאר השגיאות הן שגיאות 400 שניתן להגיע אליהן באמצעות האובייקט זו₪. שגיאה אחת מתוך מחרוזת החיבור (שגיאה מספר 3706) לא הוצגה עדיין באמצעות האוסף פזסזום. את בצירוף העובדה שהחבר האחרון באוסף פזסזזם מופיע באובייקט זזם, מהוויס יתרון בכל הקשור ללכידת שגיאות באמצעות האובייקט זזם. מנגנוו ה פועל גס בשגיאות 88/. 1 -] 0-2 ₪ 981 010501 פב | | טח 800-105 1005 חנ פטס ספת אס 06 ₪6 | 06| ₪ 08 4 | 0 |-0 08090 0 ₪00-4 5 (0060) 901012 ת0 00 - 2זס)קב ה - זעה 000 וח6ק 0 [+ (0131ח60), - 6 ";03015.065.02208.4.0ש1462=11₪טסמתק" ב6ק1.0ממס - 6 "2510622166 1168110203028ת מפמשסטק :6=0סמגוסט 2868" " ; כו . 3 ב קומס עסז 5 16 פונס" 8מג6111ע3 ש135טסעם ע8018+ ע0+ 8מ616%06 בעסעעמם סא' - 6 "03025.0653.00828.4.02מ1062=11₪טסמתע" מ6ק1.0ממס 6 "2210622106 08028ע1165162ת ממשסעק:6=0סטגוס5 8ס8ק" " ; כנטוע . מ זז ס עסז 165 עטנ" 22028.6 חם!] = 2305000655 ₪60 1ממש = מ60510ממ600ע2051 .1505600625 עס0עע6 16מהעת58-תסת 424 8 שאהע 0סס ע6051עתססם1 2508500608 611ע8' שסעעש 6580282016-מסם 3001 6א8%ע₪ 60 מתש 85 1ממס 611ע5' 1ממס = מ60010ממ2051/600. עפוסס5גו30ץ מסעע6 16מהעע8ע6 1247217900- שאה סס "משאסספגוס0" 85 שתהת 68016 611ע5' "5מ006ס5ו6" מ6ק0. 5עשמסספגו50ע ש=משם (3251) מעסעע6 מה 080363 1.808₪6מתס 508 6םמ56551 70052683בב' ג 8016מ5 0ם 6מ11 1.77046מתש סגוס סמששתסס' "אאאאא" = ("5.716185)"0055006:12ת50006ו50ם העט בשש סספגו30 == + 85 1זםסעסז1651 5000 22100 25106 5055סעס11651ת מהפטסעק:6' 2115 8מ21 ס'מה1ו60 - 2147467259- .מ16טסעע 526011188 שמס 8מ21 ססם 0018 ספב 1006 וטע 1608מ0 44% ₪פעססטה 05 סגוס שעה ,6עעס שמסעח םס 04 6ע8 סמ6 כסמטטעוטעה שמ1פגו 12 ת1108010עע3 שמך 41 פט' עס ,'580807' ,'מתמספססתק' ,ידתפפאד' ,'פדת1פע' 60068עא= ;פמ6ע56ה55 50 118הטמ1 | 2147217900- 121 - . ע16טסמע פס עמ השסמסעעגוט פסת 15 מ1108010עע3 שמם עמ 65668ג60ט מסנסהעפעס שמך 4 תרשים 2.9: החלונות 6006 !- 6018066ווח1 של 5פ מציגים קודי שגיאה של שגיאות טיפוסיות פרק 2: מודלי גישה לנתונים 131 הערה: באפשרותך להוסיף משפט זוסו|כאם חסטקס באזור ההצהרות הכלליות של מודול, כדי לבטל את האפשרות של שגיאות מסוימות, כגון הפניות לאובייקטים שאינם קיימים. השיגרה פזסזופפָחו05ס דקסס1 שלפניך מספקת מספר גישות חלופיות לטיפול בשגיאות באמצעות האובייקט זזם. השיגרה יוצרת שגיאה אחת וכוללת הערה המפרטת את שינויי הקוד שיש לבצע כדי ליצור שגיאה נוספת. השיגרה אף מגיבה באופן ייחודי לשתי שגיאות, וכוללת הליך כללי לטיפול בכל יתר השגיאות: > במקרה של שגיאה 3251, השיגרה משנה את סוג הנעילה, כך שניתן לעדכן את ערכת הרשומות. שגיאה זו מתרחשת מכיון שסוג הנעילה שגוי. לתיקון הבעיה, קוד הטיפול בשגיאה סוגר את ערכת הרשומות הישנה, מאפס את המאפיין 1061/06 ופותח מחדש את אובייקט ערכת הרשומות. > במקרה של שגיאה 424, השיגרה אינה מנסה לתקן את השגיאה, אלא מתריעה בפני המשתמש על סיבת הבעיה האפשרית. שגיאה זו מתרחשת כאשר מפעילים שיטה או מגדירים מאפיין כנגד משתנה שלא הוצהר כאובייקט. לדוגמה, שגיאת הקלדה עשויה לגרוס לבעיה כצו. > אס מספר השגיאה שונה מ-3251 או 424, השיגרה מדפיסה את מאפייני המספר והתיאור של האובייקט זזם. ()5ז0זזם 8חו05 דקסס .1 פט5 קז ד5זסזז כ 6070 זסזזם הס הסוח 00 45 1 חהח6 חחוס 5ב סוסב דץז5ז הזוס הסוח 60.כ סכ צו6 = 1חחס 56% 8 ";₪08.4.0 050.26%.01ז6ו1 = זסוטסזק" ה6ק1.0החס 8 "11606106 67050ו]65!= ותהזפסזק:06=6ט0ס5 זכ" "; רחוס 165 ו 5" סא = 30|6 דץ51ז 56% .0618015 )וש 6607056% השס ' :| ד הסקס 1חחס ,"3!6 דש" ה6.006וסב דץו5ז 2 ;א 2000 406655 הפטסזח+ קסס ' 6.0|סה דץן5ז וטסחט ספ .6חו! 0הו6660כ 01 56680ח1 %6א6ח פחופט צם וסוס 424 6אפו ' 365.50 דץוז5ז וטחט סס -' חסחד 4 = (16.=16!050)0סב דץוז5ז + .ץהס680-0ז 15 6007056%ז 2668056 זסזזס 3251 3665 6חו! פוחד ' 8 = (30!6.=16!05)0 ךז 56 (3!6.=16|05)1 דץ51ז , (6!05)0ו= .316 דץן5ז +חוזק. פטטסס + 0חם +אס)סטסו. סוסב דץ וז קסס | 6 ץז :סז 0 6וא= :קז סז החד 3251 = זססוחטא.זזם +[ ₪ " .הסו8ז6קס +זסקק0ט5 %סח 0065 זססוטסזק פסם וס" אס8 ₪59 = 6 " סח 8 06% זס 006 ססן 06 06% 50 עבצו זסהזסהב 0הזו-" ".77075 06!6%6 1000 חו ס6חהשקקאּת זסזזם .זססוטסזק פסם וס" 6 דא6ס |.6וס3 דץו5ז זחוזק. פטטסס 6 ץז 06006 301 = 6קץ דא6ס ].6וסב דץ5ז 6 ד 5 חק 656 חסחך 424 = זססותטא.זזם ]51561 8 " חב 8חוזוס6ז 0חוז6 50 00 60 6160 6006 סד" אס8 ₪59 8 " ,600 3 6אסעחו זס ץשוסקסזק 8 56% 85 ח506 660[טס" ".סָחו|(506 60666 .66[טס חה 6עבח %סח 010 6006 6 זטם" 6 ".0656 06ח3 א זסזום זס? אוססחוע 6018%6וחרח1 066%" אס8 ₪5 חסטקו6567כ.זז= ,זססותטא.זזם +חוזק. פטססס + 0חם +|א5זסו= 650016 50 06ח= פרק 2: מודלי גישה לנתונים 133 הספריה 00% הספריה 200% תומכת במשימות סכימה ואבטחה. באפשרותך לנצל ספריה זו כדי לשנות את הארכיטקטורה של עיצוב מסד הנתוניס של היישוס שלך. כל האובייקטים, למעט האובייקט 6819|04, כוללים אוספים תואמים. אוספים אלה משמשים להוספה וארגון אובייקטים חדשיס בקטלוג. אובייקטיס נבחרים, כגון טבלאות, מפתחות אינדקס ועמודות, כוללים אוספים מסוג 006065ז (מאפיינים). אוספיס אלה משמשיס לניהול פעולת האובייקטים ביישוס. מנהלים את האוספים 565 (משתמשיס) ו-5קט0ז6 (קבוצות) כדי לשלוט בהרשאות של אובייקטים נוספיס של אססה, כגון טבלאות, תצוגות ושגרות. תרשים 2.10 מציג מבט כללי על הספריה אספג. | | | | 0 | 0 | [| | 1 טס צפא ח0ו96ו601 וי תרשים 2.10: ספריית האובייקטים אסס4א 4 ;חח 2000 466655 הספריה 420% היא שלוחה של הספריה 008סכ. הספק סכג 360 תומך ב-אססג באופו מלא. ספקי מסדי נתוניס אחריס יכוליס ליישס את רכיביו בצורה סלקטיבית, וניתן גס להשתמש בשתי הספריות יחדיו כדי לבנות יישומים. לדוגמה, באפשרותך להרכיב אובייקטיס של פקודה בעזרת הספריה 8סססג ואחר לשמור אותס כשגרות בספריה אססה. לחילופין, תוכל לבדוק ומינות טבלה בטרס תבסס עליה ערכת רשומות. אס הטבלה אינה קיימת, תוכל להוסיפה ולאכלס אותה בערכים. יכולת הספריה אססג להגדיר מבני נתוניס חדשיס הופכת אותה לחלופה של וספ 501. האובייקט 6313/09 אובייקט זה הוא המכולה ברמה הגבוהה ביותר של הספריה אססג. חבריו מגדיריס את הסכימה ואת מודל האבטחה של מסד נתוניס. המאפיין ח60/660006600 של האובייקט מגדיר את החיבור שאליו שייך הקטלוג. האובייקט ח6600חחס6 הוא מסד הנתוניס. האובייקט 688/00 הוא מכולת הטבלאות, התצוגות, השגרות, המשתמשיס והקבוצות בתוך חיבור או מסד נתונים. המאפיין 86 (שם) של קטלוג הוא מסוג קריאה-בלבד. מגדיריס אותו בעת ההצהרה על הקטלוג. משתמשיס בשיטה 676806 של האובייקט 6819|04 כדי להקצות חיבור ומקור נתוניס לקטלוג, כך שניתן יהיה לפתוח בו-וּמנית מסד נתוניס חדש ולקבל גישה לקטלוג שלו. דוגמאות הקוד שלפניך מציגות את האובייקט 688/00 בשלושה הקשריס טיפוסיים. השיגרה 680600 פותחת את מסד הנתונים חושוחזוסא ומספקת ליישום הנוכחי גישה באמצעות קוד למבנה מסד הנתונים. שים לב שיש צורך באובייקט ח6600חח60 עבור הקטלוג, כדי ש-400 תדע איזה קטלוג עליה להפוך לזמין. מקציס את האובייקט ח0ול66חח0ס6 לקטלוג באמצעות המאפיין ח06600ח6600ע6ה. כש-0כג יודעת לאיוה מסד נתוניס עליה להפנות בעזרת הקטלוג, יש לך גישה באמצעות קוד לתוכן הקטלוג. שולטיס בגישה באמצעות טכניקות מסד נתונים ואבטחה ברמת-משתמש. ()ח08%00 5 חס0 66 ה ח60 שצס! 5 1 חח6 וחוס 68 שצשוס) 5 6861 וחוס 6ז סק ₪5 61סזכ חחוס 8 ";508.4.0 050.26%.01ז6ו = זסוטסזק" ה6ק1.0החס 8 "1606006 67050ו]65!= ות8זססזק:06=6זטס5 זכ" "; סח 6 חועשחל סא 165 ו 5" 1ח6 = ₪ה06600ח660ע60. 6861 56% 6וחא. (30165)0 ך. 68%1 שחוזק. פטססס 50 06ח= פרק 2: מודלי גישה לנתונים | 135 ()2ח68%0 סט5 חס0 66 ה ח60 סא 5 1 חח6 וחוס 68 שצשוס)] 5 6861 וחוס 6ז סק ₪5 61סזכ הזוס .6 פוחץ )0 68%8|00 6ח% השס ' חס ז0+ח ה60!!6600 56166060 01 6פַח8ז 8 6חוחק ' סו 6 ח0[600.600זק+ח66 = 1חחס 56% 1ח6 = ₪ה06600ח6600ע60. 6861 56% ס6וחהּ. (1 )65!סה ך. 68%1 זחוזק. פטטסס סה א. (5)0/ע16/. 68+1 %+חוזק. פטססס 36 א. (065)0ו660סזק. 681 %חוזק. פטססס 6וחהּ. (25675)0. 68+1 +חוזק. פטססס 6חהא. (5)0ק טסזס. 681 לחוזק. פטססס 50 06ח= ()08%0003 5 0 אכ צוסא 5 6861 וחוס .64 ששסח 3 60 6809100 66 הסמ ' 6 ";4.0. 0 167050.366.01] = ז06ועסק" 6768%6. 68%1 "ס0ח. סוסא %5ח6והט6סכ ץן!]:66=6טס50 זכ" 6וחא. (30165)0 ך. 68%1 לחוזק. פטססס 50 6ח= השיגרה 680502 מציגה חבר מכל אוסף של האובייקט (6889|0 במסד הנתוניס הנוכתי. תוכל להפנות לתוכן טבלה באמצעות הפניה לספריה פסססה, אך עליך להשתמש בהפנייה ל-00% כדי לעבור בלולאה על האוסף פחחטוס6 (עמודות). האוספים פחוחט|60 ו-65!ט8ד (טבלאות) קיימים רק בספריה אססא. הערה: | עליך לכפות דרישת כניסה (חספָס!) בטרם תוכל להציג את חברי האוספים 5 ו-005ז6. כל ניסיון להדפיס אותם ללא כניסה עלול ליצור שגיאת זמן ריצה. תוכל לכפות דרישת כניסה על ידי קביעת סיסמה עבור המשתמש חוחח0. השיגרה 3ח68660 יוצרת מסד נתוניס חדש ומציגה את הקטלוג שלו באותו שלב. שים לב כי אתה מפעיל את השיטה 670806 על האובייקט ף68/3/0. השיטה מקבלת מחרוזת חיבור כארגומנט. אס הקוב המצוין במחרוזת החיבור כבר קיים, 6806003 תיצור שגיאת ומן ריצה. כשהקוב> פועל בהצלחה, הוא מדפיס את שם אחת מטבלאות המערכת, מכיון שלא קיימיס קבצי משתמש ומינים כלשהם מייד לאחר יצירת מסד נתוניס. 6 ;א 2000 466655 באפשרותך לנצל את האובייקט 690₪|08 כדי למספר חברים של אוסף כלשהו מהאוספיס שהוא כולל. השיגרה שלפניך ממספרת את חברי האוסף פאוסו/ (תצוגות), תהליך המקביל להגדרת קבוצת כל שאילתות החזרת-שורות שאינן מבוססות על פרמטרים בעלי מסדי נתונים ‏ 36%. בעת שימוש במסד נתונים ז6/ז56 .501, התצוגות זמינות במפורש מתוך מכולת מסד הנתוניס של 2000 ₪60655. ()5/ו150/16 1 505 ח0 66 ה ח60 סא 5 1 חח6 וחוס 68 שצשוס) 5 6861 וחוס צוסו/ 5 1שוסוע וחוס 8 ";₪08.4.0 050.26%.01ז6ו = זסוטסזק" ה6ק1.0החס 8 "160601606 67050ו]65!= ות8זפסזק:06=6טס5 זכ" "; סח 6 חוששח סא 165 ו 5" 1ח6 = ₪ה66000066000ע60. 6861 56% 65 /. 68%1 ח1 1עעסוע ₪86 זס= 6וח3. 1צוסוע זחוזק. פטטסס 1/וסוע +אס)] סט 0ח= האוסף 68 זמין מתוך הקטלוג עבור החיבור. כדי למספר את התצוגות, עליך להצהיר על תצוגה אחת שהקוד שלך ינצל כדי להפנות אל כל חבר באוסף 68 במהלך מעבר הלולאה על האוסף. הדפסת המאפיין חגא (שס) של כל תצוגה מהווה רישוס מצאי של אובייקטי שסו/ שבקטלוג. האובייקט 6וטבּד אובייקט וה הוא חבר באוסף 180!65, כאשר זה הוא חבר באובייקט 6809|04. כל אובייקט 96 כולל מאפיין 86 ומאפיין 6סץד. אובייקט שפד יכול להיות טבלה רגילה בתוך מסד הנתוניס הנוכחי, או טבלה מקושרת ממקורות נתוניס 0086 וכאלה שאינס 0086. האובייקט יכול להיות אפילו תצוגה. ערך המאפיין 6סְץד כולל גם שני סוגיס של טבלאות מערכת: טבלאות מערכת 26% וטבלת מערכת 06655. 0 >אזן | טבלה מקושרת מתוך מקור נתונים שאינו 0086 55-10 | טבלה מקושרת דרך מקור נתונים 0086 = | ד = 55 | טבלת מערכת 160 5 ד | טבלה שפותחה באמצעות יישום או עבורו = | טבלה מתוך שאילתת החזרת שורות לא-פרמטרית אובייקט 1906 בספריה 00% יכול להכיל עד שלושה אוספים: 5חוחט|60, 65א06ח1 ו-5ץ6א. פרק 2: מודלי גישה לנתונים 137 האובייקט חוחטוס60 האוסף פחוחט!60 מיועד לטבלאות, מפתחות ואינדקסיס. אובייקט מסוג חוחטוס6 דומה במידת-מה לאובייקט מסוג ₪6!0 בספריה פסספג. עמודה בטבלה היא קבוצת כל הנתוניס המתייחסים לתכונה מוגדרת של היישות שמיוצגת באמצעות הטבלה. לאובייקט חוחט|ס6 יש כמה מאפיינים: > ש6וחהּא. מאפיין וה הוא שס העמודה. > 6מץד. המאפיין מציין את סוג הנתוניס שבעמודה. כל הנתוניס מסוג אחד. > 6שפ1ששת. מאפיין וה מתאר את האפיונים של עמודה. לעמודה שני אפיונים: היכולת להכיל ערכי ו|וט והיותה בעלת אורך קבוע. > 65126ח/068. מאפיין זה מציין את האורך המירבי של ערך בעמודה. ה0ו6615זק ו-656816וז6וחטא. מאפייניס אלה משמשיסם באופן בלעדי עבור שדות מספריים, כגון שדות מסוג ז06סשחו, מטבע וערכי נקודה צפה טחוסס-8ח80ס)). המאפיין חסן6619ז מייצג את מספר הספרות הכולל שמשמשות להעברת ערך העמודה. 6568|6וזוחט) קובע את מספר הספרות העשרוניות שיבטאו את הערך. כאשר אובייקט מסוג חחטוס6 הוא אינדקס, מאפיינים אחריס כגון 50507068 ו-חוחט!₪6|3%606-0 יהיו זמיניס אף הסם. הערה: המאפיין 6568|6וזפחחוא עלול לגרום לבלבול. לדוגמה, ערכים מסוג /6ח6זזט6 מבוטאים באמצעות ארבע ספרות מימין לנקודה העשרונית, אך המאפין 6 הטוא שלהם הוא 0, כיון ש-60655 מאחסן נתוני ששסחפזוט6 בתור 568/60 זט בעת שינוי הגדרת 5636 של עמודה שמשתמשת בסוג הנתונים |08ו66כ בתצוגת עיצוב (חחָו₪69) של טבלה, המאפיין 6563|6וסוחטא של העמודה מתאים את עצמו לפי הנסיבות. האובייקט א6שחז אובייקט זה מגדיר אינדקסים עבור טבלה. לאובייקט חמישה מאפיינים : 60ז560ט|6, 5טא6סח1, 6וחהּ, שס6אץזהחוזק ו-6טסוח. לאחר הוספת האינדקס, כל המאפייניס למעט פוחא, הס מסוג קריאה-בלבד. המאפיין חגא הוא שס האינדקס. יש שלושה מאפיינים נוספים מסוג ח800|68, ותפקידיהם (בהתאמה): לציין אם האינדקס מקוב- באשכולות (60ז500ט!6) (אינדקס נקרא מקובצ-באשכולות, כאשר הסדר הפיסי של השורות תואס לסדר הימאונדקסי של השורות) מפתח ראשי (עסאעְזהּחוזק) או ייחודי (שטטוחש). 8 ;א 2000 406655 המאפיין 10065 יכול לקבל ערך אחד מתוך שלושה ערכים. במקרה שהאינדקס מכיל ערך ווטא עבור עמודה, הגדרתו בתור אוסו|50158!!טוא06ח301 גורס לכשלון בבניית 06%ח]. אס מציביס ב-%01!5א06ח1 את הקבוע 6זסח519!וא01006ה, אפשר לבנות את האינדקס גס אס הוא מכיל ערך ווטא, אך המאפיין התעלם מ-פוושא (פ!|טא 6זסח18) יקבל ערך כן (65+) (בחלון אינדקסים (65א06ח1) שבממשק המשתמש). גם הערך ץְה6ז0ה51510!ו%0א06ַח301 יוצר את האינדקס כשזה מכיל ערך ווטא, במקרה וה המאפיין התעלם מ-₪1!5א מקבל ערך לא (סא). האובייקט ץ66 אובייקט וה מגלס את התנהגותם של מפתחות זרים (5ץ6א ח8ו6זס)) באמצעות מאפייניו. כמובן, המאפיין 6וח8 הוא שס המפתח. המאפיין 806 ד₪6|3060 מציין את הטבלה שעליה מצביע מפתח זר. המאפייניס 06606006 ו-6וטַ6₪ז0ק קובעיס מה יקרה כאשר מפתח ראשי נמחק או מתעדכן. המאפיין 6מץד הוא סוג המפתח, ולו שלוש אפשרויות : ח0ופזס-/8066 עבור מפתחות זרים, 6טףוחנץ6א30 עבור מפתחות ייחודייס ו-ץזהוחוזק שאה עבור מפתחות ראשייס. מספור טבלאות. אחת הדרכיס הקלות ביותר להתחיל לטפל בטבלאות היא למספר אותן. השיגרה 80/65 11501 שלפניך מציגה כיצד משבצים את הטבלאות במסד הנתוניס סחוששחזזסו!. ההצהרות הופכות את 6861 למופע של האובייקט 9|08ז68, ואת 1|ט+ למופע של אובייקט 189!68. לאחר מכן, השיגרה מציבה את מסד הנתונים סחושחצוסא ואת ספק 4 36% במאפיין חסו0660ח600ע60ה של הקטלוג. הלולאה שלפניך מזהה את שס הטבלה הארוך ביותר בקטלוג. הקטע האחרון מדפיס את שמות הטבלאות בחלון 6ז6013ווווח1. נוסחת מחרוזת מוסיפה תווי רווח בסוף שמות הטבלאות כך שמספר התווים בכל השמות יהיה קבוע. הקוד מצרף את סוג הטבלה. 505 11507 30165)( 0 .אכ צוס 5 6861 וחוס 6סהד.אסכה ₪5 1וטל חזוס חן 5 ה0%ח6 |אה שחו הזוס . 68%8|00 6 0+ ה0ו660 ה ח60 6ע860 +)ו5066 ' 8 ";08.4.0ם 1670506.26%.01]= זס סק" = 6600 חח 660עו6. 681 8 "1060106 67050ו]65!= ותהזפסזק:06=6טס5 זכ" "; סח 6 חוששח סא 165 5" .חח 0016 865%חס! סחוח ' 0 = הז0ח6 |אבּסחו 5 חן 011 ה86ם זס= (6ח3. 0|1+)ח1.6 = ה0%ח6 |אבּוזחו הסח ד ה0%ח6 |אה שחו < (6הבּא.011+)ח6 | זז 01 6% פרק 2: מודלי גישה לנתונים 139 . סח 6018%6רח1 0 65חבּח 8016 זחוחק ' 2 + הסחס |אהּ )שחו = הזסח6 |אבּוסחו 5 + חן %011 ה₪80 זס- 36 א.0!1+ = 6החה'5 (" " ,(6חחה3ּ.0!1+)ח6 | - ה0%ח6 |אהושחו)0חו567 = זסו|ו- 507 6מץד. סז 8 זס!|ו- 56 .8 6וחב3ּ5071% זחוזק. פטטסס 01 6% 50 0חם ! 6 |<| מתפגך 0303 הפדט 5 מ₪ס20 584165 0356004 חפדט % סטשגוהסמת סמשמטעוס מתפגך 3 סגו מתפגך בבב יו | 3 6330 ב 115 דצ | אמפדפצם 50 ע- 2 63 מסגוכ ץז אמדפצם 3קנבכתס1נס3 שת בק מפתפגך 16 מה דע מתפגך 8 מש 6שבעס חפדט 4שמססאם 2658113 ש46ת0 חפדט 83 > 5 6₪עס פתפגך 3 חפדט 5 מס" 58165 סטגוהסעק פתפגך פסטגופסמת חפדט ‏ 66נ1עק שקהמסט2 שטסכמג בסטגוהסעק חפט שסמגוס0פעסתע חפדט 3 ע1עסשסטבגוס חפדָע %ע035602 צ0 58163 מתפגך בעסטעוגם מתפגך 5ע16עעגום חספדט 63 שטפסעת שטבכמסשעאם 8056 במשך "- תרשים 2.11: פלט השיגרה 8065 507 | תרשיסם 2.11 מציג את פלט השיגרה 80165 11501. שיס לב שהפלט מופיע בשתי עמודות, וכל אחת מציגה שס טבלה. ליד השס מופיע המאפיין 6קץד של הטבלה. כוכור, האובייקט !פד כולל שישה סוגיס. ארבעה מהס מופיעים בתרשים. שדות מספור. השגרות פחוחט|660קץ 80167 11507 ו-6מץדחוחטוס6 שלפניך הן דוגמאות משוכללות - יותר, שמטפלות | במאפיני - הטבלה ובהיררכיה | שלה. כש-5חוחט|660קץ 80161 1507 1 מאתרת אובייקט מסוג 939|6ד שהמאפיין שפד שלו מוגדר בתור 12815, היא מציגה את שמות העמודות ואת סוגי כל עמודות הטבלה. אלה מופיעיס תחת שס הטבלה ומספר העמודות שלה. כל שס עמודה מופיע לצד הקבוע 66 דחוחטוס6. תרשיס 2.12 מציג קטע מהתדפיס. זו דוגמה עשירה, כיון שהיא מטפלת בכמה סוגי אובייקטיס מסוג 1856 ובמאפייניס רבים, ומשוס שהאובייקטיס והמאפייניס נלקחו מנקודות שונות בהיררכית מודל האובייקט של אססג. 466655 2000 8 0 6 <| 4 0303 בכ יד 6-0 - בי 5-1 ב ויו - מסנסקבעספסת שעהת ג עה לס שמגוסטסנתק 11 שנס גוס וי - ב בי - סב בי =מנב ]ימה ונס וי - 60 וי - בי עיי- יי בי - טְעסתגוסס - 0 משו טס 56גו6 וי - אפץ וי - ש=מסמתק וי 1-=₪]- בי מסנחסת 17 3 טוום בי בו בצריוי - שסהתמפסטות - סג - צעסמגוסס בכיב ו - כ שעסטואם וי - מסנפמ6סאם וי שונסןספעגץ בציריוי - ו - =סם < שנס וי - | ע 0 3 ₪31.07 בי תרשים 2.12: פלט השגרות פחוחט|600כץ 80167 11507 ו-6סץ דהוחטוס6 ()5חוחט|ס)6קץ 30167 1507 1 5 0 אכ צוסא 5 6361 וחוס 6טּד.אסכ 5 1ופז וחוס חוחט|ס6.%א0סכג 5 6011 הזוס ₪ ";₪08.4.0 1670508.16%.01 = ז06ועסזק" = ח0 660 הה0ס66ע60. 68+1 8 "106 670508ו]65!= ות8זססזק:06=6זטס5 הזה" "; רח. 0 ועט חס 65| רת ה5 706" 5 + חן 1!ס% ה86ם זס= חסחד "ם ופה ד" = 6סץד.1וטש זז 6וחהּא.011+ = 6וחב507 (" " ,(6וח3ּ)].1|פ+)ח6 1 - 0)030ח5671 = זסו|ו507 + 0ס5.0חרט!6011.60 8 !]507 8 6וחה 50 6חוזק. פטופסס 5הוחט|60. 1!ט% ח1 6011 ה86ם זס= (" " ,(60!1.18806)ח6 | - 9020ח501 = זסו|ו507 8 601.36 ₪ (" " ,8)05חו7ל5 +חוזק. סטטסס (6קץד.6)6011קץ דהרהט!ס6 .8 זס!|ו7ש5 1 )אסא + ₪0 1 6% 50 0חם פרק 2: מודלי גישה לנתונים 141 58 35 (7ז%6006ח1 5 6מץ דשחו)סקץ דהותט!ס6 הסטסחט=ת סוופטק 6 דחו 6856 ז56|60 זהח הסה 6856 "30/3" = 6קץ דחותטוס6 06 6856 "ץ30077606" = 6קץ דחותטוס6 01 6856 6מץ דחו טס 6 60856 "0086" = 6קץ דחוחטוס6 "0/8 6856 "30/6" = 6קץ דחוחטוס6 חס 801 6856 "זה חס 801" = 6קץ דחותטוס6 ץזהחוםזה/סחס 801 6856 "ץזהחוםז3/הַחס 01" = 6קץ דחווטוס6 00008 6856 "ח30500!68" = 6קץ דחוחטוס6 05% 6856 "טח11|ה305" = 6קץ דחוחטוס6 6 6856 (6סץ 07חו)6507 = 6 דחוחטוס6 סחם "30" חסשסס6חט= 6ח= ההצהרות כוללות קטלוג, טבלה ועמודה מתוך הספריה אססג. הצהרת הקטלוג יוצרת מופע של האובייקט שלו, אך השתיים הנותרות משמשות כהפניות חבר בתוך אוסף. מייד לאחר ההצהרות, השיגרה מקצה מחרוזת חיבור אל המאפיין ח6000חח600עוז6 של האובייקט 6808|00. שתי לולאות זס] מבצעות חיפוש בטבלאות ובעמודות שלהן. הלולאה התיצונית מחפשת טבלאות שהמאפיין פד שלהן הוגדר בתור 5 81ד. ברגע שנמצא כזה, היא מדפיסה את השס ומספר העמודה של אותה טבלה. לולאת וס" הפנימית ממספרת את עמודות הטבלה ומטפלת בעיצוב הפלט. הלולאה קוראת לפונקציה 6סץדחוחטוס6 שמחזירה מחרוזת תוויס. המחרוזת מייצגת את הקבוע שמגדיר את המאפיין 6סץד. הפונקציה מצטיינת בחסינותה, ולכן תוכל לאמצ אותה לביצוע מטלות המרה. אס הפונקציה נתקלת בסוג בלתי מזוהה, היא ממירה את ערך הסוג למחרוזת. הדבר מסייע לחזור לפונקציה ולהוסיף לה מפרט פענוח חדש. יצירת טבלאות. לספריה 400% חשיבות מיוחדת, כיון שהיא מאפשרת ליצור טבלאות באמצעות קוד, יחד עס האינדקסים והמפתחות שלהן. 2 ;א 2000 466655 אס נוח לך להוסיף טבלאות בתצוגת עיצוב (חטופ6כ), עליך להשקיע מעט יותר כדי ללמוד לעשות ואת באמצעות קוד. מגדיריס את הטבלה ולאחר מכן מוסיפיס אותה לאוסף 390/65 של הקטלוג. הגדרת טבלה דורשת לוגיקה מסוג דומה. מצהיריס תחילה על משתנה אובייקט טבלה ולאחר מכן מצרפים עמודות למשתנה האובייקט. בעת הוספת העמודות, הקוד יכול להקצות סוגי נתוניס ומאפייני עמודה נוספיס. בסיוס הגדרת הטבלה, ניתן למלא אותה בנתוניס. באחד הסעיפיס הקודמיס בפרק, הצגנו שתי גישות לטיפול בנושא (שימוש בקוד 501 ובשיטה ש00%6 של ערכת הרשומות). בפרק 3 נבחן את הנושא בהרחבה. הוספת אינדקס. השיגרה א06ח2001 שלהלן מדגימה כיצד מוסיפים אינדקס לטבלה באמצעות קוד. כמו בתהליך יצירת טבלה, משתמשיס בשיטה 0חססקה פעמיים. ראשית, הוסף עמודת נתוניס אחת או יותר לאינדקס שיצרת. לאחר מכן הגדר את המאפיין פוחפא של האובייקט א06ח1. באפשרותך גם להגדיר מאפיינים נוספים. שורות ההערה בשיגרה שלפניך מציגות הוראות להגדרת מאפיינים אופציונלייסם אחדיס ומתארות את ההשפעה של מתן ערכיס למאפיינים. לאחר שתסיים להגדיר את מפרט האינדקס, הפעל את השיטה 0ח6סקה פעם נוספת, אך הפעםס השתמש בה כדי להוסיף את האינדקס החדש לאוסף 65א06ח1 של הטבלה. ()א001006 סט5 0 .אכ צוס 5 6861 וחוס 6סהּד. אסכה סא ₪5 011 חזוס א6סח1. 0 צוסא 5 1אסו חחוס חס ות .סח = הס 66 חח 6600 /ו6. 6861 ("30|6 דץ30|65)"1 ד. 681 = 0|1 56% "אחז ץ1]" = 6וחהּא. 1אסו ("1 חוחט|ס") סח6סקה.5חותט|ס6. 1אסו ץשזסססזק 5!|טא06ח1 8חו560 זסז אהזחץ5 0ח3 פסוט₪ ' 60 16105 ;5!|טא 5חהו9ח60 6!0 ]| א6 חן 6076866 0%ח 065 ' ששסו|1!50158טא06%ח801 = 5!ו|טאאססח1. 1אסו -' .אה 6768%65 -- 65 60 ץ+זסקסזכ א6סחו פ!|טא 6זסח10 6665 ' 6ז0ח510!טא06ח301 = 5!|טאאס0ח1.1אסו -' .06% 67686065 -- ס 0+ ץ+וסקסזכן א6סחו 5!|טא 6זסח10 6605 ' ץח076ח510!|טא06ח301 = 5!|טא06ח1.1אטו -' ץזזסקסזכ סא וחק 6+ 56% 60 אחהצו טסץ זך ' סז = שס6אץזהוזק. 1אטו -' 6 זס) שז6קסזק 6טסוח( 6ח% 56% 8150 %פטוח טסץ ' זסזו חה וסעט3 300 67666 86 60 עשזסקסזק ץ6אץזהוזק ' סד = ס6טףוחש.1אטו -' 1 0חסקקה.65א06ח1. 1!ט+ סט5 0חם פרק 2: מודלי גישה לנתונים 143 השיגרה ז680008זסזזםאק שלפניך מבצעת לכידת שגיאות בעת יצירת מפתח ראשי חדש בטבלה. הרעיון הכללי של שיטת לכידת השגיאות מיושס גס באינדקסיס נוספים ובמפתחות זרים. מנגנון לכידת השגיאות מטפל מפורשות בשני סוגי שגיאה ומסוגל ללכוד גס שגיאות מסוגיס אחריסם. ()ז08%606זסזזז= אק פט5 80 67 68%00זסזז אק 6070 זסזזם הס 68| א סכ צוסא 5 63%ש60% הזוס 6 ך. אסכה צוסא 5 6וסב דץווס+ חזוס אססח1]. אכה עסו 5 אססחזץוזאסו חזוס חוחט|ס6. אסכ צוסא ₪5 |ס6ץואוס6 חזוס 10 5 זססוחטצזו הזוס 8 ";₪08.4.0 11670507.26%.01] = ז6 סק" = 0₪ו660ח0ח600ע68%.60ץ686 8 "116060106 67050ו]65!= ותהזפסזק:5006=6 הזכ" "; סח 6 חוששח סא 165 5" ("30|6 דץ]")30!65 ך.68%ץ68%6%1 = 6!טב דץוו|פץ 56% :סז אק א6סחץץואסו תסו "ץסא הר וזקץ]" = 6וחהּ\. סד = ץ6א/זהוחוזק. סד = 6טסוחש. צוס!|1!50158טא301706 = 5!וטאאססחז. האוצ 0חם= "1חוחט!ס" 0ח6סס.5חוח ט!ס6. א6סת1ץואו א6חזץ]א0ו סחססקה. 65א6סח. 6וסב דץוזוט+ 9חוח%ס\! = 6801/68% 56% :א סז אק סטפ +ואם :קז 6866677 סז אק חח ד 2147217856- = זססותטא.זזם + ".56 חו ץש ח6זט6 3!6 ד" א0ס 150 חסחד 2147467259- = זססוחט).זזם 5|5611 סב דץו|טף ח1 אשסח1ץ1]אסו חס8ם זס= הסח ד ס6טד = ע6אץזהוחחזק.אססהנץואטו זז (ז6סחרחטן) 65.26|666א6סח1. ס6וסב דעוזוטץ ץז 68067 סז אק 6506 0חם 1 + זססוחט)ו = זססוחטאו אס6סחזץו]אסו זאסא 6 חססקו650כ.זזם 8 " :"8 זסטותטא.זזם 8 "א זסזום" אס ₪15 + 0חם סז אק 656 סט5 0חם 4 ;א 2000 466655 השיגרה פותחת בהצהרה על האובייקטיס החדשיס 68193|08, 189!6 ו-א06ח1 (מפתח ראשי הוא אינדקס שהמאפיינים 6טסוחש ו-ש6אץזחוזק שלו קיבלו את הערך 6טזז). חלק הארי של 6806000זסזוםאק מגדיר את המאפיינים הדרושים, מצרף עמודה לאינדקס ולאחר מכן מצרף את האינדקס לטבלה. קיימים לפחות שני מצביס בהס הוראות פשוטות אלו ייכשלו בזמן ריצה. האחד, הטבלה עלולה להיות פתוחה. ססג מקצה למצב זה את מספר השגיאה 2147217856-. כשמנגנון לכידת השגיאות מזהה מספר זה, הוא מציג הודעה למשתמש, בה נאמר כי הטבלה נמצאת כרגע בשימוש. מצב נוסף, הניסיון לצרף מפתח ראשי חדש עלול להיכשל, אם מוגדר כבר אחד כזה עבור הטבלה. השיגרה מזהה את המפתח הראשי הישן ומנסה ליצור מפתח ראשי חדש. כיון שלא קיים יותר מפתח ראשי כלשהו, השיגרה אינה יכולה להיכשל שנית מאותה סיבה. מתן ערכים לשדה +%חסוחסזס6הוספטה3ּ. היישוס 2000 466655 הוא הגירסה הראשונה של 5 שמאפשרת למפתחים להגדיר את ערכי ההתחלה והפסיעה של עמודות ]ה וח6זסהוססטה (מספור אוטומטי בהפרשיס קבועיסם). באפשרותך להגדיר ערכיס אלה באמצעות קוד, על ידי יצירת טבלה באמצעות משפטי 501 של 4 260. הפקודה 5ד6₪54 = |8ד משמשת ליצירת המבנה הכללי של הטבלה, וסוג הנתוניס צדדאפפ1 של 366 משמש לטיפול בשדה זחסוחסזסחוסזט3. סוג הנתוניס +ד1דאשפ1 כולל ערך התחלתי וערך פסיעה שמאפשריס לתת ערך התחלתי לשדה זחסוח6זסהוסטטגּ, ואת ערך ההגדלה שלו בכל רשומה חדשה. השיגרה 05%60ח56151812 שלפניך מנצלת את הטכנולוגיה החדשה. ()005%60/%ה56%5% 5 660 חח 60 35 1חח6 וחוס סה 60 5 601 וחוס 6טהּד צוסא 5 1וטז חחוס הסוח ה 0ס0[660.6 ץק %ח6 6 = 1חחס 56% וו 8.00 20 עוסא = 001 56% 61 חסו/\ 1חס = ח6600 הח0ס66ע60. .5חרחט|60 סע ח)וצ 802!6+ 8 676816 לפזות ' . חהחט!60 10600 חה חהותט!|ס6 6חס 66הו ' .600 6ט|/ 5600 65 800 11750 6ט]ע 509171 65 66% ' 3% = 06ץ ו 60. | 6 " 6000010) 0058605 5 1 ד ₪ ד 6" = 6% דחו 60. "(60087 6וח%868ח00, (2,4)צד דאםפז" 6 ץ ו +66 הוססטה 6 הזוע 90|6+ 6 ה 68ז6 זסא1ה ' .03% 300 0|טסח5 טוסץ חוחטוסס ' = 8 " (6ח8 086% %8605)600ה60 0 דא1 ד558₪א1" = 6% דחו 60. "('ז6850/ש6חו1] הוצסא') 5סט|בש" 3% = 06ץ ו 60. 6 פרק 2: מודלי גישה לנתונים | 145 8 " (%86086ה%8605)600חה60 0 דא1 דפ" = 6% דחו ס6. "()ז00!ו6 6א!1ז') 65ט|3" 0% = 6קץ וו 0ס6. 6 8 " (0%860086ה%8605)60חה60 0 דא1 15" = 6% דחו ס6. "('ץְסחזהח6 |ושז') 65ט|3ש" 0% = 6קץ וו 60. 6 הזו/\ 6ח= 5 0ח= הקוד פותח ביצירת טבלה. למרות שהשיגרה אינה כוללת קוד ללכידת שגיאות, עליך להבטיח כי הטבלה שאתה יוצר אינה קיימת כבר, או כוללת מנגנון ללכידת שגיאות שמוחק את הטבלה במידה שזו אכן קיימת. מגדירים את סוג הנתונים +דדאפפ1 במסגרת המשפט = |8הד = דהםח6. נותניס ערך התחלתי לארגומנט הראשון של השדה הח ות6זסהוסזט וערך פסיעה לארגומנט השני. הקוד מציין כי הקשריס (%868ח00) יתחילו בערך 2 ויגדלו ב-4 עבור כל ערך חדש. תרשים 2.13 מציג את פלט השיגרה 55 . שיס לב שהשדה 60708600 מקבל ערך התחלתי 2 וגדל בפסיעות של 4. אלו הן ההגדרות של סוג הנתוניס צ+דז1דאשפ1 המצוין בשיגרה. | | 0 08 זה ששחו חוים>] .2 חספוו סאוו 6 צְפחזבּת= |ופ4 10 זט טס זט 3 01 [++| זו , | . |4ו יי תרשים 2.13: פלט השיגרה 005060/+1ה9ז5615 האובייקט שסו אובייקט וה הוא שאילתת החזרת שורות שאינה מחייבת פרמטריס כלשהם. כשהיישוס שומר את סוגי השאילתות האחרים, הוא מאחסן אותם כחברים באוסף 5 באפשרותך לטפל בחברי האוסף פוסוצ באמצעות האובייקט חח 60 והאוספיס 65ו/ ו-189!65. האובייקט ופוצ כולל שני מאפייניס קריטייס לנושא בו אנו עוסקים: המאפיין 6וח8 הוא שס התצוגה, והמאפיין חח 60 מאפשר להגיע למשפט 501 שעליו מבוססת התצוגה. 6 הא 2000 66655 בסעיף זה ניצור תצוגה באמצעות השיגרה 866/16 וגס נערוך את משפט 501 שעליו מבוססת תצוגה קיימת באמצעות השיגרה ש6ו/46ח608. השגרות ש6ו/₪866 ו- עשסו/\סְחַָחַהח0 נעזרות שתיהן בשיגרה אסו/\שסו/. הקוד מדפיס בחלון 6018%6הוח1 שלושה שדות מתוך כל תצוגה. יצירת תצוגה. השיגרה 1866/16 שלפניך מוסיפה תצוגה חדשה על ידי יצירת אובייקט 0ַח8 60 שמייצג את התצוגה, ומצרפת את האובייקט 60800 לאוסף 5 . 1866/60 וקוקה לחיבור אל מסד נתוניס. האובייקט ח6600חח60 1חחס6 פותח קישור אל מסד הנתוניס סחואוחאוסא. לאחר מכן, קוד היישוס מציב את ערך המאפיין הסו66 6060 של האובייקט 0ה8ח60 שבדוגמה, כ-1חח6. כעת מגיע השלב הקריטי: הקוד מגדיר את המאפיין +א6 60801 של 01ח6. המאפיין :6% דח8 וח ו 60 מכיל את משפט 501 שמגדיר את התצוגה. משפט ‏ 501 של א6ו/866ו בונה את התצוגה כדי להציג שס ושס משפחה ואחר כך מספר שלוחת הטלפון. הקוד מגדיר את ערך המאפיין ח6600חח600עו60 של 6861 (שהוא אובייקט מסוג 68₪9|00), כמסד הנתוניס סחושחזזוסא. פקודת 6ח6סקה נותנת ל-6701 את השס 666ץס!|קחםו!|ה ומוסיפה אותו לקטלוג 6חושחזוסא. לבסוף, א6ו/1366 קוראת ל-אוסו/האוסו/ כדי להדפיס את תוכן התצוגה בחלון 6ז6613ווח1. ()ש6ו/13%6! סט5 חס חח 8.00 00 עוסא 5 1 חח6 וחוס חר 8.00 0כ א עס 5 601 וחוס 0 אכ צוס 5 6861 וחוס .הסוח 60 6 הססס' 8 ";₪08.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס 8 "116060106 67050ו]65!= ות8זפסזק:006=6ס5 זכ" "; סח 6 חועח סא 65!ק ו 5" צסוע 506 0חו0ה656ק6ז הוחו 60 6+ 076856 ' + 06]606 0 067 וח6וח6) ' 1חח6 = 00 0660 6/6000 601 56% 8 " ,35%%806.] ,6וחה]ל5זו-] ₪07 551" = 6% 8 1.60 וח "665ץס!קרח= ₪01 הסופח66אם" .0 6 הסכ0 ' 1חס = 66000 הח660ע60. 68%1 56% סע שוח 6+ 076866 ' 1 ,"665 ץס!קוחם||" סחה6סקה. פשוסו/. 681 .צוסוע אוסח6 ' עסו צוסו/ סט 0ח= הדפסת תצוגה. השיגרה וסו/4שסו שלהלן מדפיסה את התצוגה 665ץס!|קחפו|ה. השיגרה פותחת ביצירת חיבור אל מסד הנתוניס 6חוצווצוסא ולאחר מכן פותחת את האובייקט 66070566 5%1] המבוסס על התצוגה 665ץסומוחם!||. כשערכת הרשומות פתוחה ומצביעה על מקור הנתוניס המתאים, השיגרה עוברת בלולאה על הרשומות פרק 2: מודלי גישה לנתונים 147 כדי למצוא את השם הארוך ביותר. ערכת הרשומות קטנה יחסית, ולכן אין אנו משלמיסם מחיר גבוה על ביצוע הלולאה הנוסף. נוח להתבסס על השס הארוך ביותר, מכיון שכך מקבליס נקודת התחלה להדפסת השלוחה לאחר השסם. שלב זה מאפשר ליישר את מספרי השלוחות לשמאל ללא תלות באורכי השמות. בטרס מתחיליס לעבור על השמות בלולאה נוספת, השיגרה צוסו/4צוסו/ חוזרת לתחילת ערכת הרשומות. לאחר מכן, היא עוברת על השמות פעסם נוספת, והפעם היא בונה מחרוזת בעזרת המידע שנאסף בלולאה הראשונה. ()וס!//ש6!/ 5 חס חח 8.00 00 עוסא 5 1 החש וחוס .ה אסא 5 561 וחוס 5 0ח6] ,1056067 5 הז0ח6 |אהוסחו וחוס .660 60 606 ח6מס ' 8 ";₪08.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס 8 "106) 1670508 65!= הות8זססזק:06=6זט50 זה" "; 6.0 חוצח+זס 65 וח 5 77166" .סח 865%חס! 66 סחות ' 1חחס ,"665ץס!|קות=!|ה" ח6ק5%1.0ז 501.50 וסחט ספ (("35306 6!05)"1ות. 5%1)ח6 1 + (("6ת הזו" )6!05ו=. 1561)ח1.6 = השטחס | 60% 1 = ה0%ח6 |אבּ!יטחו הסח ד הזח6 |אבּוא6חו < הזפַח6 | זז +אס טסו 561 קסס | .0 חזוחץ 0חה ,6חחּח 35%!| ,חחח 5%זו1 זחוזק ' זו עסו 511 501.50 וטח ספ = - (2 + ה0%ח6 ]אה סחו) = זס!|ו- 50 + (("536זו")6!05!ת. 5%1ז)ח6 1) ((("16|05)"1.35306ת. 5%1ז)ח6 | 8" 8 ("6 53 ")6|05ות. 561 זחוזק. פטטסס (6!05)2ו=. 561 8 (" " ,זס!!ו57) הו 50 .8 ("6רח8 350 6|05)"1ו=. 551 ]טסו 561 קסס | סט5 0חם שינוי תצוגה. השיגרה שוסו/חַסְפַח8ח6 שלהלן משנה את משפט 501 שעליו מבוססת התצוגה. באפשרותך לנצל גישה פשוטה זו כדי להוסיף שדות חדשים, להחליף שדות קיימים או אפילו לשנות את עיצוב התצוגה בשלמותו, על ידי הוספת רכיבי מיון וסינון. השיגרה משנה את התצוגה כך שתראה את השדה 6חסחקפוחס במקוס את השדה חסופחסזאם. 8 ;א 2000 406655 ()אוסו/\/6ַהח8ח60 סט5 הסוח ה 0.60 צוסא 5 1 החש חחוס 0 אכ צוסא 5 6861 וחוס חר 5.00 0כ ג צוס 45 601 וחוס .660 ה ח60 606 ח6מס ' 8 ";₪08.4.0 16070508.360.01 = זס0וטסזק" ה1.006החס 8 "106 1670508 65!= ות8זססזק:06=6ט50 מזהכ" "; 6.0 חוצח+ז סא 165 וח 5 77166" .0 6 הסכ0 ' 61 = 66000 60/6000 68%1 56% .שסוע 06 8%6סקט ' 8 " ,35%%806.] ,6וחה]ל5זו-] ₪07 551" = 6% 8 1.60 וח "65 ץסוקוח= ₪01 6הסהק6וחסם" 1 = 0חהר 60 ( "665 ץס|סרח=!|ה" )סו /. 6861 .צושוע צוסחפ ' סוה עסו / סט 0ח= כדי לערוך את משפט 501 שעליו מבוססת התצוגה, יש לפתוח את האובייקט הקשור 0 60 ולערוך את המאפיין 6% דחו 60 שלו. לשס כך, עליך להפנות את המאפיין ח60/600006600 של האובייקט (68₪|0 (ראה 6861 בקוד שלעיל) למסד הנתוניס שמכיל את התצוגה שברצונך לשנות - במקרה זה, מסד הנתונים סחושוחזזסוא. הקצה את משפט 501 של התצוגה המבוקשת אל מאפיין ז6% דח וח0ס6 של האובייקט הו 60 החדש. אחר כך הצב את האובייקט חח 60 החדש בתצוגה שברצונך לשנות. ההצבה תשמור אוטומטית את משפט 501 החדש במקוס הקודם לו. מחיקת תצוגה. השיגרה 06/66/16 שלפניך מוחקת תצוגה אחת. היא פשוטה ביותר, אך כדאי שתהיה וזמינה, אס ברצונך להפעיל את או6ו/1866! יותר מפעס אחת. הסיבה לכך היא ש-400 אינה מאפשרת לצרף תצוגה אחת על גבי תצוגה אחרת בעלת שס זהה, ולכן עליך למחוק תחילה את התצוגה האחרונה שנוצרה כדי להפעיל מחדש את שסו/6)הו₪]. כדי למחוק תצוגה, הגדר את ח6600066000ע60 של אובייקט 6809|00 כך שיצביע על מסד נתוניס הכולל את התצוגה שברצונך למחוק. לאחר מכן הפעל את השיטה ₪6!666 של האוסף פשפו/ תוך הפניה לחברים הספציפיים שברצונך למחוק מתוך הסכימה. ()אוסו/\/0!6%6 סט5 0 אכ צוס 5 6861 וחוס .0 6 הסקס ' 8 ";08.4.0ם 1670506.26%.01]= זס סק" = 6600 חח 6600עו6. 681 8 "106006 67050ו]65!= ותהזפסזק:06=6ט50 זכ" "; סח 6 חוששחל סא 165 ו 5" .סכ 6 61606 ד ("665ץס!קוחם|]4") 5.6!6%6/ש16/. 68+1 סט 0ח= פרק 2: מודלי גישה לנתונים 149 האובייקט 016 660סיוק שיגרה היא שאילתת החזרת שורות מבוססת-פרמטריס שמחזירה שורות, או שאילתת פעולה שמוסיפה, מוחקת או מעדכנת רשומות. בסעיף זה נעסוק בשאילתות מבוססות-פרמטריס; עייו בפרק 4 לקבלת מידע מפורט יותר על שאילתות, כולל שגרות שמחייבות שימוש בשאילתות פעולה. קייס דמיון בין שגרות ותצוגות: שתיהן יכולות להשתמש באובייקטי 6ַחףוחוח60. תצוגות מייצגות שאילתות החזרת שורות שאינן מבוססות-פרמטרים, ואילו שגרות מייצגות את שאר סוגי השאילתות. אס תמספר את האובייקטים מסוג 6זט660סזק בקטלוג, המספור יכלול את קבוצת כל התצוגות. לעומת זאת, שגרות אינן מופיעות במספור אובייקטים מסוג אשוצ. תחביר המספור של שני סוגי השאילתות זהה. אובייקטיס מסוג 6ז0660ז₪ כוללים שני מאפיינים קריטיים : 6וחפא (שס) ו-0ח8חוחס6 (פקודה). מאפיין 6וחגא הוא שס השיגרה. מאפיין 6חה 60 מאפשר גישה למאפייני אובייקט 60008800 שעליו מבוססת השיגרה. המאפיין 6%% 801 חס שימושי במיוחד, מכיון שהוא מגדיר או מחזיר את משפט 50 עבור האובייקט 6ח8ח חח 60. תוכל לנצל מאפיין זה כדי לשנות את משפט .501 באובייקט חאה 60 שעליו מבוססת השיגרה, או כדי להציג את משפט 501 של האובייקט. בחינת משפט ]50 של האובייקט יכולה ליידע אותך על הפרמטריס שעליך להגדיר כדי להפעיל את השיגרה. מספור תצוגות ושגרות. השיגרה 65סזקץואאחו1 שלהלן מציגה בפועל את האוספיס 95 (תצוגות) ו-765ט060סזק (שגרות). לולאת זס] הראשונה ממספרת את חברי האוסף 68 בלבד. הלולאה השנייה ממספרת את האוסף 65זט60ססזס ומציגה את השגרות והתצוגות יחדיו. הלולאה השנייה מציגה גסם את משפט 501 של כל שאילתה שהיא ממספרת. ()065זק ץ1.15% 505 חס0 66 ה ח60 שצס]! 35 1 חח6 וחוס 680 שצשוס)] 5 6861 וחוס 6ז סק ₪5 61סזכ חזוס צוסו/ 5 1שוסוע וחוס .0 חְ0? 600060000 08082856 56% ' 8 ";₪08.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס 8 "0106 65]!670508!= ות8זפסזק:06=6זט50 זה" "; 0 0רח. 0 חוצשח+זסא 65!ק 58 1166" 1חס = 66008 הח660ע60. 68%1 56% % 6095 15 0₪06ח -- 5עסוע 866זסרתטחם ' .5 חח ס6ז-שוסז 667260 הזה קחסה ' 65 /. 68%1 ח1 1עעסוע ה₪86 זס= שוחה . 1צוסוע ,8 " :6חזהּח עסו/" זחוזק. פטטסס 1/וסוע %אס)] 0 ;א 2000 406655 0ב פאוסוע 60075 515 -- 5עסוע 6זהזסרתטחם ד 5 חן 61סזכן ה₪86 זס= 6וחה. 61סזכ .8 " :סהחפח 6זט60ססזק" זחוזק. פטטסס חח ד "665וסעח1" <> 6ח8א.61סזק +1 ו 30.0 חר 0ס61.6סזכ .8 " :501" לחוזק. פטטסס + 0חם 1זס )אסא סט5 0חם תצוגות ושגרות מאפשרות להשתמש באובייקטי חח חח60. כל שעליך לעשות הוא לצרף את האובייקט 6ַחאוחוחס6 לאוסף המתאים. הקוד שלפניך שומר שאילתת פרמטר כשיגרה מאוחסנת. השאילתה משתמשת בטבלה 8!ט3ּדץ1 (שמופיעה בחלק מדוגמאות השגרות שהוצגו בפרק), וניתן להורידה מהתקליטור הנלווה לספר, יחד עס דוגמאות לטיפול בה. התרשימים 2.7 ו-2.8 מציגיס את התצוגות עיצוב (ח0ו65כ) וגיליון נתוניס (8+85660כ) של הטבלה 16טג דץעו. ()/61ט(36%670 53637 50 הז 58/6 6070 זסזזם חס סח וח 60 5 601 וחוס 58 5 571 466070560 5 51ז וחוס .םסכ 45 קסס 101 חזוס זז 5 1שחו ,זסססרהזהק. כ סכ 5 1 חזק חחוס 0 אכ צוסא 5 6861 וחוס חס 66 ה חה0ס0. 308 5 1חחס6 וחוס סו .6601660 = 1חחס 56% .חר 60 6ח0601 0ח3 68%6ז6' 0 5.60 סכ שוסא = 601 566 1 חס תשו/ 1חחס = חה6600 הה0ס66ע6. 8 ";0ח0 ] [656עוס.]] פזסז6הההז3ק" = 6% דחו 60. = 8 " 3חוחט!60 ,2חותט!60 ,1חותטוס6 ד6ם 551" ₪ " 6|טהדץוא אסא-" "[%פ6/וס ]]= < 1 חותט!60 = אםרן/" 30 = 6כץ דחו 60. חזוש 0חם .3800 6 הסקס' 61 = 078 60/600707660. 6811 56% ץז הק חס 08560 6 0660זק צוסח 606 076866 ' 1 ,"0 51.06%" סה6ככה.65ו660סק. 681 = סטפ זואם פרק 2: מודלי גישה לנתונים ‏ 151 :5 החד 2147217816- = זססוחטא.זזם +1 5 /+680| ץוסטף ...214- = זססותטח.זזס זי ("ש65%0/שטס. 501" )76 06600זק 06!606 56 56 חססקן656.זז= ,זסטותטא.זזם +הוזק. פטוססס + 0חם 50 6ח= (0הו7זז5 35 6 8א06זק)0660076זק 06|6%6 סט5 ח0 66 ה ח60 סא 5 1 חח6 וחוס 8 שוס) 5 6861 וחוסם .| 6 הסקס' הסוח 060.60 ק 606 = 1חחס 56% 1חחס = 0 6600660/ו60. 0861 56% .זכ 0ח150א6 666|סכ' (6ח068זכ) 65.26!6%6זו660סזס. 68%1 50 06ח= השיגרה בונה שאילתת פרמטר ושומרת אותה כשיגרה מאוחסנת. השאילתה מבקשת שהערך הנמוך ביותר יופיע בעמודה הראשונה. שיס לב כי באפשרותך להגדיר את המאפייניס 6% 608007 ו-06ץ 807 60 של השאילתה. משפט ‏ 501 כולל הצהרה על הפרמטר. לאחר יצירת האובייקט חחח 60 של השיגרה המאוחסנת, הפעל את השיטה 6ח6ס0 של האוסף 706600765 כדי לממש את האובייקט כשיגרה מאוחסנת. אס תפעיל את /ז58/6787806007006 יותר מפעס אחת, הניסיוו השני לשמור את השיגרה המאוחסנת שו69%%80שו0 501 יגרוס לשגיאת זמן ריצה. 7ז58/088006167006 לוכדת שגיאה זו ומוחקת את העותק הישן אס הוא קייס כבר. השיגרה שמוחקת את השיגרה המאוחסנת קולטת ארגומנט עבור שס השיגרה המיועדת למחיקה. השיגרה 0 6])(00ס6וההזהק שהוצגה קודס לכן, מבצעת משימה והה לזו של השיגרה המאוחסנת ‏ 690%0שו5010. 00 מפעילה שגרות מאוחסנות כאובייקטים מהודרים, ולכן הן פועלות מהר יותר מאשר אובייקט 0ח8 חח 60 שיש ליצור כל פעס מחדש לשס ביצוע משפט 501. יצירה והפעלה של שגרות מאוחסנות. זוג השגרות הבא מכין ומפעיל שיגרה מאוחסנת. הראשונה יוצרת שיגרה מאוחסנת שמחפשת את מספר שלוחת הטלפון של עובדיס במסד הנתוניס סחושוחצזסא. השיגרה השנייה מפעילה את השיגרה המאוחסנת. 2 ;א 2000 406655 ()זס סו טאק טאסס |ססזכ פט5 סו חח 8.00 0 צוסא 5 1 חח6 וחוס חר 8.00 ג צו6א 5 601 וחוס רבק פס סכה 5 1חזק חחוס 0 אכ צוסא 5 6861 וחוס .660 60 606 השמ ' 8 ";₪08.4.0 050.26%.01ז6ו = זסוטסזק" ה6ק1.0החס 8 "0106 65]!670508!= ות8זססזק:5006=6 זה" "; 0 0 0 חוצשח+זסא 65! וח 58 1166" ו 60 3606260 הק 6+ 076866 ' 1חח6 = 00 0660 6/6000 601 56% 8 " ה0סו5ח66א₪ ,35306 ] ,6רחה זו ₪607 551" = 6% 8 1.60 וח "[6ח3א1] = 3500806 | = םר 665עסוקוחם סאה" (20 3078310006 ,30/07 , "[6וחבא ")601.60 = 1וחזק 56% 1חזס 0חהס6קקה.5זסז6 רחב זהק. 601 .0 6 חה6כ0 ' 1חס = ח6/6007006600. 6811 56% זט ההק חס 08560 6 0660זק צוסח 606 076866 ' 1 , "חסו5ח%6א 66 ץס|וח= 50" ה6סקה.65 זט 660סזק. 68%1 סט 0ח= ()6סזקק!אסס וח פט5 חס 66 ה ח60 סא 5 1 חח6 וחוס 68 שצשוס)] 5 6861 וחוס שו 5 561 וחוס חח 60 צצ6] 5 601 וחוס ההק 35 1 וחזק וחוס 0חו5 5 6חהּסקעט הזוס .0 6 זס? ה0 660 הח 60 8 ה355!8 30 68%6ז0 ' 8 ";₪08.4.0 1670508.36%.01 = זס0ועסזק" ה1.006החס 8 "0106 65]670508!= ות8זססזק:06=6ט50 זכ" "; 0 0 0 חוצשח+זסא 65!ק וח 58 1106" 1חס = 66000 חח660ע60. 68%1 56% 00160 860 הכ 3 80 חר 60 6 56% ' רת 60. ("חהסו5 66 66 ץס|קוח 50 )65 660סזק. 68%1 = 601 56% (20 3078781000 ,30/07 ,"[6וחבּא 1 ")601.66 = 1וחזק 56% 1חזס 0חהס6קכה.5זסז6 רחב זהק. 601 פרק 2: מודלי גישה לנתונים ‏ 153 ה0ו355 30 567 6ח+ וחסי] 6ט|ע זז ההק 6+ 680067 ' = ,"?00ו0605א6 ז0? 6החהּח 35% |")אסט+טסח1 = 6וחהּסק טס ("2000 266655/ 1670508 סחווחוחהזטסזק" סק = 6טובּ/. 1 ווק חסחד "" <> 6ט!3/. 1 וז זי .80 5% ששסח5 0ח3 ץזסטף זסז6ות3ּוהק 6+ 66006אם 6 61 1 ה5%1.006ז = 8 (561.₪16!05)0 .8 " זס? הסו5ח%א6 סד" 15450 = ,(16105)2-.561 8 " 15 " 8 ("350%36 501)"1] ₪ " " "2000 466655 16705016 6חווחותהוססזק" , הסהווס+ה1ס + 0חם סט 0ח= השיגרה זסטותט))קטאסס |6סזק יוצרת שאילתת פרמטר כשיגרה מאוחסנת. שאילתה זו מחפשת אחר מספר שלוחת טלפון של עובד, לפי שס המשפחה שלו. השיגרה מגדירה את האובייקט 0ח8וחוח60 והפרמטר הקשור אליו [פוחגּא1]. הקבוע ז8ח₪0/6 מגדיר את הפרמטר כמחרוזת טקסט ברוחב קבוע. הקבוע זטמחזהּזהקה מגדיר את הפרמטר כקלט בלבד, והמספר הנגרר מציין שהפרמטר יכול להכיל עד 20 תוויסם. לאחר הגדרת האובייקט 60800 והפרמטר הקשור אליו, השיגרה מגדירה את חיבור הקטלוג אל מסד הנתוניס 6חושחצוס ומצרפת את האובייקט 0חאוחוח0ס6 לאוסף 65ז660סזק תחת השס חסו5ח66אם66/ס|קותםס5. אס תפעיל את זססוחט)אקט)אסס6סזק יותר מפעס אחת, היא תיכשל בעת ניסיון לכתוב עותק חדש של חסופח6זאם66ץסוקוחש50 על גבי גה הקיים. הוסף לשיגרה קוד ללכידת שגיאות לטיפול במצב מעין זּה. לאחר מכן צור שגרת מחיקה. יהיה עליך לערוך את שגרת המחיקה שבדוגמה הקודמת, מכיון שהיא מוחקת שגרות בפרויקט הנוכחי, בעוד שבדוגמה זו עליה למחוק שיגרה במסד הנתונים סחושוחצזסו. השיגרה 6סזסקאסס |חטח מפעילה את השיגרה המאוחסנת שנוצרה על ידי השיגרה זסם וטא קטאסס |ססזס. שיגרה קצרה זו מבצעת ארבע מטלות: > יצירת חיבור אל מסד הנתוניס באמצעות השיגרה המאוחסנת. > הצבת משתני אובייקט שמצביעים על השיגרה המאוחסנת והפרמטריס שלה. הקוד מנצל אובייקט פקודה כדי להפנות אליה. > הצגת תיבת דו-שיח בה המשתמש חייב לציין את שס המשפחה של העובד. הקוד מציב את ערך ההתזרה מתוך תיבת הדו-שיח בפרמטר הפקודה. > ביצוע הפקודה ופתיחת ערכת רשומות המבוססת על קבוצת ההחזרה של הפקודה. השיגרה מציגה את השורה הראשונה מקבוצת ההחזרה בתיבת דו-שיח. הקוד משתמש בשתי מערכות כללי מתן השמות כדי לבחור חבר מתוך האוסף ₪605 בערכת רשומות. תוכל לבחור את המיקוס הסידורי או את המאפיין סופא שלו. 66655 2000 /,; 4 3 עיצוב טבלאות עסקיס רביסם המשתמשים במסדי נתוניס, אינס מייחסים את החשיבות הראויה לעיצוב טבלאות. במקוס זאת הם נוטיס להתמקד בעיצוב טפסים ודוחות, אלמנטיס הגלוייס למשתמש. חשוב להדגיש כי העיצוב והתוכן של טבלאות וקשרי הגומלין ביניהן, יכוליסם להשפיע משמעותית על השירותים שניתן לספק באמצעות פתרונות מסד נתוניס מותאמים אישית. עיצוב טבלאות יכול להשפיע על ביצועי מסדי הנתוניס האלה וגס על קלות הוספת שירותיס חדשיס למערכת. פרק זה פותח בסקירה קצרה של שיקוליס כללייס בעיצוב טבלאות, כגון פיצול המידע בקבוצות לוגיות כדי שניתן יהיה לאחסנו בטבלאות שונות. אחר דן הפרק ביצירת טבלאות באמצעות 2000 466655, בצורה ידנית ובעזרת האשף של 206655. נלמד גס אודות אינדקסים, מפתחות ראשיים ועל אופן יצירת קשרי גומלין בין טבלאות. הפרק מלמד כיצד ליצור טבלאות באופן דינמי ולמלא אותן בנתוניס, יכולת שמאפשרת ליצור פתרונות מסדי נתוניס רבי-עוצמה ועתירי רכיביס. התקליטור המצורף מכיל דוגמאות רבות של אובייקטי נתוניס 6%ש460 - 20( (80כ 6%ע60 %5) - שיוצרים טבלאות 406055 באופן דינמי וממלאים אותן בנתוני 1060655. דוגמאות אלו מבוססות על המבוא ל-400 שהוצג בפרק 2. קבוצת דוגמאות אחת אף מציגה כיצד לשלב את 400 ואת האובייקט הידידותי 00600 כדי לתקשר עס מקורות נתונים 15 (16%000 460655 |08ח6ט56 60א06ח1) ו- 0086 (קישוריות מסד נתוניס פתוחה). פרק 3: עיצוב טבלאות | 155 טבלאות ומסדי נתונים יחסיים טבלאות נמנות עס יחידות המבנה הבסיסיות ביותר של מסד נתוניס יחסי. דוגמת מסד הנתונים סחושחזזסא המשווקת עס 460655, היא דוגמה למסד נתונים המנהל עסק דמיוני. מסד נתוניס זה כולל טבלאות אחדות העוקבות אחר מידע חשוב. הטבלה 60505 עוקבת אחר מידע על לקוחות, כגון שס חברה ושס איש קשר. הטבלה 5 עוקבת אחר נתוניס הקשוריס למוצר, כגון שס המוצר, מספר יחידות במלאי ומחיר היחידה. כל טבלה במסד נתוניס חייבת להכיל מידע המתאיסם ליישות מסוג מוגדר אחד בלבד. לדוגמה, בית-ספר טיפוסי כולל בין היתר, תלמידיס וכיתות. תלמידיסם רשומיס בכיתות; מוריס מלמדיס בכיתות. מסד הנתוניס של בית הספר עשוי להכיל טבלת תלמידים (%5ח5₪006), טבלת כיתות (6!85565) וטבלת מוריס (5ז8ח1686). הטבלה מורים צריכה להכיל מידע על מורים, אך לא צריך להיות בה מידע על תלמידיס או כיתות. באופן דומה, הטבלה כיתות אינה אמורה להכיל פרטי מורים, כגון כתובות, מספרי תעודת והות ומספרי טלפון. טבלאות מסד נתוניס דומות במבנה שלהן לגליונות אלקטרונייס. שורות (פווסח) או רשומות (8660105) בטבלה מייצגות מופעים :יחודיים של היישויות המאוחסנות בטבלה. לדוגמה, הטבלה 65%00675 כוללת שורה אחת לכל לקות, ואילו הטבלה 65 כוללת שורה אחת עבור כל מוצר (אין חשיבות כלשהי לסדר השורות; תוכל לסדר אותן כרצונך מבלי לשנות את משמעות המידע שבטבלה). כל שדה (16!0=) בטבלה מכיל מידע מסוג מוגדר. לדוגמה, לכל אחד מהלקוחות במסד הנתונים סחואוחצזסא יש שם, כתובת, מספר טלפון וכן הלאה - מידע זה מאוחסן בשדות הטבלה 5ז6₪50006. טבלאות מסד נתוניס רבות כוללות שדה אחד או יותר שמזהה באופן ייחודי כל שורה בטבלה. זיהוי ייחודי גה נקרא מפתח ראשל (ש6א עזפּחוזק). המפתח הראשי של הטבלה 5 6050 שבמסד הנתוניס סחושחצוסא הוא השדה 06710 0ט5ט6 (מזהה לקות). נרמול נרמול (חסו280!ו|החזסה) הוא החלה של קבוצת כללי עיצוב על טבלאות מסד נתוניס. לנרמול ארבעה יתרונות עיקריים : > ביטול מידע מיותר. מסדי נתוניס רביס שלא עברו נרמול מתייביס להכניס אותס נתוניס של אנשי קשר בצורות רבות. ביטול היתירות מצמצס סיכויי קליטה של נתוניס שגוייס, דבר שעלול לשבש את מסד הנתוניס. הנרמול יכול גסם לפשט את תחזוקת מסד הנתונים, כיון שקל יותר למחוק או לעדכן ערך המאוחסן במקוס אחד בלבד. 6 הח 2000 466655 > צמצום גודל מסד הנתונים. כל סוג מידע מאוחסן במקוס אחד בלבד, ולכן מסד הנתוניס אינו צריך לשמור עותקים רביס של פריטי מידע והים. הנרמול אף מצמצס את מספר העמודות בטבלה, מה שמקטין את מסד הנתונים כולו. 4 פישוט תהליכי חיפוש. מקצועני מסדי נתוניס המתמצאים בכללי הנרמול, יידעו כיצד לנווט בטבלאות מסד הנתוניס לשם איתור מידע. משתמשי מסדי נתוניס מזדמניס יצליחו להבין טוב יותר את עיצוב הטבלה, מכיון שכל טבלה מייצגת יישות יחידה שכל מאפייניה הן עמודות בטבלה זו. 4 פישוט ביצוע שאילתות. עמודת טבלה מאחסנת סוג נתוניס יחיד, כגוו שס פרטי או שס משפחה, אך לא את שני סוגי השם. אחסון שם המשפחה בעמודה נפרדת מאפשר להפיק בקלות רשימה של כל שורות מסד הנתוניס המכילות שס משפחה זהה. במסד נתונים לא מנורמל שמאחסן שמות פרטיים ושמות משפחה באותה עמודה, יש לחלץ תחילה את שס המשפחה לפני ביצוע שאילתה המטפלת בשמות. קיימיס שלושה כללי נרמול מקובליס : וויוס= |הּוח'וסא %פזו= (כלל הנרמול הראשון), וח'זס= |בּוח'וס 56600 (כלל הנרמול השני) ו- חוזוס= |בּוח'יזסא ומד (כלל הנרמול השלישי). קיימים גם כלליס מיוחדיס רביס נוספים. וחיזס-] |הּוחיוס 5%זו-] - כלל הנרמול הראשון כלל הנרמול הראשון קובע כי כל שדה בטבלה חייב להכיל פריט יחיד שאינו ניתן לחלוקה. הטבלה 2609118 ז06וס של מסד הנתוניס 6חואווזזס! ממחישה חוק זה. תרשיס 1 מציג קטע מהטבלה ובו שלוש הזמנות. כל עמודה בטבלה מכילה סוג נתונים יחיד. העמודה השנייה מכילה שמות מוצרים, אך לא שמות ומחירים גם יחד. בנוסף, כל שורה בטבלה כוללת מופע אחד בלבד של מוצר. 0% 40 58 8550פש3) 10248 1% - 0 8 ספוז= חפו)אסר] ההזסמהטחו 10248 || 1% 5 0 והמההשסוכ) ₪1 22818||8סו/] 10248 || 1% 9 10 טוסך 10249 || 1% 40 20 5 ספוז קטחוןחב3! 10249 ה 1% 0 70 סח ח3! חבּוחָח= אופ! 130'5. 10250 מו 1% 35 0 5 הפו מטחזוןמז 10250 | | | 1% 15 0 38 זפמק9 101] ץזפו= החהופוטס | 10250 || 5 זס [+*| וע] * 1 ]ן | 4 :96076 תרשים 3.1: קטע מהטבלה 2608158 ז006 הממחיש את כלל הנרמול הראשון. האלמנטים בכל עמודה (או שדה) נמנים עם סוג נתונים יחיד; האלמנטים שבעמודות השורה אינם ניתנים לפירוק טבלאות מסד נתוניס שאינן עומדות בדרישות כלל הנרמול הראשון, מתאפיינות בדרך כלל בשתי תכונות: ראשית, הן מאחסנות יותר מפריט אחד באותו שדה (שים לב שהטבלה בתרשיס 3.1 מכילה פריט בודד בכל שדה). דוגמה לאי-עמידה בדרישות הכלל הראשון היא טבלה ששדה השס שלה מכיל שס פרטי ושס משפחה. צירוף סוגי פרק 3: עיצוב טבלאות | 157 מידע בשדה משותף מסבך את תהליך שליפת המידע. הפרה שכיחה נוספת של כלל הנרמול הראשון היא טבלה שמכילה שדה לכל מוצר בהזמנה, דבר שמחייב ליצור טבלה בעלת שדות רביס של מחיר, כמות והנחה, ובהמשך גורס להפרת הכלל הראשון. עיצוב כזה ''מנפחיי את הטבלה, וחלק גדול מערכי עמודות אחדות יהיו ריקים. טבלאות העומדות בדרישות כלל הנרמול הראשון מבוססות בדרך כלל על יישויות לוגיות שמאפשרות לאתר מידע בקלות. לעיתיס קרובות יש להן מפתח ראשי שמבטיח כי כל שורה בטבלה היא ייחודית. כזכור, טבלאות מסדי נתונים מייצגות מופעי יישויות. בטבלה שבתרשים 3.1, כל שורה מייצגת פריט בהזמנת לקוח. המפתח הראשי של הטבלה הוא מפתחת מורכב (ש6א 6חהטסקה60) שמבוסס על השדות 060זס ו-סשסטססזפ, מכיון שניתן לזהות כל פריט בהזמנת הלקוח באמצעות צירוף ייחודי של מספר הזמנת הלקותח ומזהה המוצר. וח'וס-] |בּוח'יוס 56600 -- כלל הנרמול השני כלל הנרמול השני מציין קשרי גומלין נדרשיס בין העמודות בשורה. כדי לעמוד בדרישת הכלל השני, טבלה חייבת לעמוד קודס כל בתנאי כלל הנרמול הראשון. בנוסף, כל הערכיס בשורה חייבים להכיל מידע על היישות הספציפית שמיוצגת באמצעות השורה. דרישה נוספת: אסור שתהיה תלות הדדית בין שני שדות כלשהס. אחת ההפרות הנפוצות של כלל זה היא הצבת שדות לשתי יישויות ייחודיות בשורה אחת. הטבלה 5!ו2683 07067 של סחוצוח+סא עומדת בדרישות חוק הנרמול השני. שדה הכמות מתאיס בצורה ברורה לכל מוצר. מחיר היחידה וההנחה יכוליס להשתנות בצורה עצמאית לכל פריט, כאשר הצבת מחיר יחידה והנחה בטבלה מאפשרת ליישוס לעקוב בקלות אחר פריטים אלה לכל הזמנה. במסד הנתונים סחושחוסא קיים שדה מחיר יחידה הן בטבלה 26088 ז0זס והן בטבלה 65ס6טסזק. אה נראה כמו הפרה של כלל הנרמול השני, אולם עיצוב זה מאפשר למנהל לעדכן מחירי פריטים מבלי להשפיע על מחירי פריטים שכבר הוזמנו. ההזמנות יכולות לנצל את המחיר וההנחה שבטבלה ₪ס6טסזק בתור הנחיה ולאו דווקא ככלל ברזל לכל העסקאות. וח'יוס-] |בּוח'יוסא ה'ווחד -- כלל הנרמול השלישי כלל הנירמול השלישי קובע כי כל השדות בכל שורה חייבים להיות ייחודייסם ובלתי תלויים וה בזה. לדוגמה, החוק מאפשר רק שדה תאריך אחד בשורה. אס הטבלה 5 מכילה שדה תאריך הזמנה, אסור שתכיל שדות נוספיס של יוס, שבוע או חודש של ההזמנה (היישוס יכול לחלצ בעצמו את החודש מתוך תאריך ההזמנה). הטבלה 5 מכילה שדות אחדים שמכילים ערכי שעה/תאריך (פחוד/כ), אך אלה מתייחסים למועד ההזמנה המקורי, התאריך בו הגיעה דרישת הלקוח, יוס האספקה וכן הלאה. 8 הח 2000 406655 עמידה בכללי הנרמול נבון יחיה למלא את דרישות הכללים, אך בנסיבות מסוימות ייתכן שתרצה לעשות זאת בצורה סלקטיבית - למשל, אם ברצונך לצמצס את מספר הטבלאות. השדות מיקוד, קוד אזור וקוד מדינה (בארה'יב) יכולים להתקיים בטבלה נפרדת. אך אם ידוע לך המיקוד של כתובת מסוימת, ידועיס לך גם העיר, האזור, או המדינה, ולכן אינך צריך לשמור את המיקוד ושס העיר באותה טבלה. בפרויקטים מסוימים של מסדי נתוניס קטנים ובינוניים יצירת טבלאות השומרות מידע על מיקוד, שם עיר, אזור ומדינה עלולה להיות בלתי מעשית. גס בפרויקט מסד נתוניס גדול מאוד, כשנדרשיס פרטי אנשי קשר, תכנון מסוג זה מחייב לצרף את הטבלה הראשית ‏ 60018605 עם טבלאות רבות בכל מקרה הדורש מידע אנשי קשר. הדבר עלול לפגוע קשות בביצועי המערכת, במיוחד אס צירוף הטבלאות נדרש פעמיס רבות. קשרי גומלין בין טבלאות בעת יצירת טבלאות, עליך להביא בחשבון גס את קשרי הגומלין ביניהן. קשריס אלה מעניקים למסד נתונים *חסל (|6|80003ז) את רוב עוצמתו. קיימיס שלושה סוגי קשרי גומלין: יחיד-ליחיד (6ח%0-0-6ח0), יחיד-לרבים (עְח6-60-18ה0) ורבים-לרבים (ץח3]-0ם-ץח13א). קשרי גומלין מסוג יחיד-ליחיד במערכת קשרי גומלין מסוג יחיד-ליחיד, כל רשומה בטבלה אחת מתאימה לרשומה יחידה בטבלה אחרת. סוג קשר זה אינו נפוצ ביותר, אך ביכולתו להציע מספר יתרונות. ראשית, תוכל להציב שדות משתי הטבלאות בטבלה משולבת. אחת הסיבות לשימוש בשתי טבלאות היא שכל שדה הוא מאפיין של יישות נפרדת, כגון נהגיס ומשאיות. כל נהג יכול לנהוג משאית אחת בלבד בזמן נתון, אך שדות הטבלאות של הנהגיס והמשאיות מתייחסים ליישויות שונות. קשרי גומלין מסוג יחיד-ליחיד יכוליס גס לצמצס את הזמן הדרוש לפתיחת טבלה גדולה על ידי הצבת חלק מעמודות הטבלה בטבלה נפרדת. גישה זו הגיונית במיוחד כשטבלה מכילה שדות אחדים שהשימוש בהס אינו תכוף. לבסוף, קשרי גומלין מסוג יחיד-ליחיד יכולים לתמוך באבטחה. 466655 מיישס אבטחה ברמת-משתמש ברמת הטבלה. כך, אס קבוצת-משנה של שדות בטבלה מחייבת הגנה באמצעות אבטחה, הצבת שדות אלה בטבלה נפרדת מאפשרת ליישוס להגביל את הגישה לשדות מסוימיס. היישוס יכול לקשר את הטבלה המוגבלת בחזרה לטבלה הראשית באמצעות קשרי גומלין מסוג יחיד-ליחיד, ועל ידי כך לאפשר למי שמחזיק בהרשאות מתאימות לערוך, למחוק ולהוסיף רשומות חדשות לשדות אלה. פרק 3: עיצוב טבלאות 159 קשרי גומלין מסוג יחיד לרבים נפוץ יותר הוא הקשר יחיד-לרביס, שבו שורה מתוך טבלה אחת מתאימה לשורה אחת או יותר מהטבלה השנייה. סוג קשר זה יכול ליצור גם בסיס לקשרי גומלין מסוג רבים-לרביס. הטבלאות 5ז6₪5%006 (לקוחות) ו-5ז06זס (הזמנות) של מסד הנתוניס שחושחזזס מקיימות קשרי גומלין מסוג יחיד-לרביס. ללקוח כלשהו יכולה להיות הזמנה אחת או יותר, אך כל הזמנה שייכת רק ללקותח אחד. תרשים 3.2 מציג את תצוגת עיצוב (ח65!0כ) של הטבלה 5ז06זס. המפתח הראשי הוא פזזפ0זס. כל אחד מערכי 008710 יכול להופיע בשורה אחת בלבד. הטבלה מכילה גם שדה שנקרא 0 6050, שמקושר לטבלה פזפוסספו6. השדה 6506710 הוא המפתח הראשי של הטבלה 005000675. שדה המשמש כקישור לטבלה אחרת, נקרא מפתח זר (ץ6א חופזס=). ערכי 610 0ל5ט6 יכוליס להופיע פעמיס רבות בטבלה 5ז06ז0ס. לאמיתו של דבר, קוד זיהוי הלקוח מופיע פעס אחת לכל הזמנה שהלקוח מבצע. מפתח זר וה מקשר את צד היירביסיי של מערכת קשרי הגומלין חזרה לצד ה'ייחידיי. |<1ם) = | 6 : זז 88 777-ה זסס חנוה סוס שטסוחו זס חח ססום. .53016 015500675 חן 35 ע'שח6 586 %אפך 500 .5306 865/י0!קחח= חן 35 ע'ח6 5806 טסוט 6610עסופוחם | | ודה | | ודה ות | | 86/6 ות | | .3066 5זשסקוח5 חו 10 זפקקוח5 35 586 זשסחחטו היקוח | | חפנ זחמופזה | | חשותקות5 6661/6506 50 הב קוחס6 זס הס5זוסכ )0 שחחבו %אשך סוחב)קות5 | | .]ה אס 56-061606סק סח -- ץ|חס 3007655 5681 זאפך 55| | סק וטו | קנ)סט 1 | 6878 5 6 וו וי 135% זטקת1 50 חסוסקב 0 קט 6 ח63 שבח !₪6 מ יפ בו 6 ח80300/י 1 855ז0 ,503005 הַחוטט!סחו ל .5שחחבח ₪6!3 חס קופח זם] 1 8030070 סז וטס סז חזהַח | 260 אוס!|ם (06 3065שו|קטס) 65/י כ יו 5 ח0ו855זקחחס-> שוחו תרשים 3.2: תצוגת עיצוב של הטבלה 5ז06ז0; השדה 60500061 משמש כמפתח זר בקשרי הגומלין מסוג יחיד-לרבים בין הטבלה 070615 לטבלה 656070675 קשרי גומלין מסוג רבים-לרבים קשרי גומלין מסוג רביס-לרבים קיימים בצורה עקיפה בלבד ומבוססים על שתי מערכות קשרי גומלין מסוג יחיד-לרביס. הטבלאות 070675 ו-6ס6טחסז מקיימות ביניהן קלשרי גומלין מסוג יחיד-לרביס. הומנה כלשהי יכולה להכיל מוצריס רביס. באופן דומה, מוצר יחיד יכול להופיע בהזמנות רבות ושונות. 0 הח 2000 466655 ממסד הנתוניס 6חואווחצוסא יובאו ארבע טבלאות לדוגמת מסד הנתוניס של פרק וה: סו 0ס605, /שא8!וו8ז6כ 5ז66זס, אא5!ו6%9כ ו-/שאפסס6טוטסזק. תרשיסם 3.3 מציג בחלון קשרי גומלין (₪9|800050105) את קשרי הגומלין בין הטבלאות. הטבלה //5%ז6 6500 מקיימת קשרי גומלין מסוג יחיד-לרבים עס הטבלה צ5%8%ז06זס, הטבלה /שאפופסזס מקיימת קשרי גומלין מסוג יחיד-לרביסם עס הטבלה \ש8%פו6₪כ ז08זס והטבלה שאססוססזס מקיימת קשרי גומלין מסוג יחיד-לרביס עס הטבלה /ש58%ו9ז6כ זס0זס. הטבלה /ש5%!ו2688 ז06זס משמשת כייתיבת הסתעפויות'י שמקשרת את הטבלאות /\אפזס0זס ו-אפזס6טסזס בקשרי גומלין מסוג רביס-לרביס. |<1ם]- | 5קוח5חסו)3₪6|3 * = וח זפ עלולחבט) קוחו 50% ח51םוח/ יטוח [6%6 0671 זססת חח 60פום תרשים 3.3: החלון קשרי גומלין מציג את קשרי הגומלין מסוג רבים-לרבים בין הטבלאות )000 |-/א6ס6טססזק קשרי גומלין מסוג רבים-לרביס מעוצביס במבנה "תיבת הסתעפויות'יי, כשטבלה שלישית, תיבת ההסתעפויות, משמשת כקישור בין שתי הטבלאות האחרות במערכת קשרי הגומלין. עיצוב וה מסייע לשמור על יעילות מסד הנתונים, כיון שתיבת ההסתעפויות יכולה להכיל מספר שורות גדול, אך מספר עמודות קטן. בדומה לכל הטבלאות שעברו נרמול, עליך להגביל את העמודות לאלו שמאפיינות את היישויות. כלל וה חשוב במיוחד לגבי טבלאות מסוג תיבת הסתעפויות, מכיון שהן עלולות להכיל מספר שורות גדול יחסית. שלמות הקשרים אפשר להקנות חוסן למסד הנתוניס באמצעות שלמות קשרים (שו0סשחו |08ח6ז₪616) ועדכונים ומחיקות על פי היררכית קשרים (06!6065 300 08665קט 0ח6850801). כללי שלמות הקשרים מבטיחיס את חוקיות קשרי הגומלין בין טבלאות. כללים אלה גס מונעים שינוי בשוגג של נתוניס קשוריס (לדוגמה, לא כדאי למחוק לקוח, אם יש לו הזמנה שלא שולמה או מספר הזמנות כאלו). פרק 3: עיצוב טבלאות | 161 שלמות הקשרים אינה מאפשרת הוספת שורה לצד ה"רבים'יי בקשרי הגומלין באמצעות ערך מפתח זר שאינו תואם לערכים שבצד היייחידיי של הקשר. אך אפשר להכניס ערך מפתח זר חסר או ריק (ווטא) שאינו תואס מפתח ראשי כלשהו בצד היייחידיי של קשרי הגומלין. שלמות הקשרים מסייעת גם להימנע ממצב של רשומות יתומות - רשומות שנמצאות בצד ה'ירביסיי של קשרי הגומלין, שאין להן בנות-זוג בצד היייחידיי. הדבר מתאפשר הודות לחסימת אפשרות מחיקת רשומות בצד ה"יחידיי, אם יש להן עדיין בנות-זוג בצד היירביםיי (לדוגמה, מו הסתס לא יעלה על דעתך להסיר את המכירות הקשורות לעובד מסויס רק משוסם שהעובד עזב את החברה). רשומות יתומות מנפחות את מסד הנתוניס ברשומות מיותרות ולא שימושיות; במקריס קיצוניים יותר, הן עלולות לערער את חוקיות התוצאות המושגות ממסד הנתונים. לעיתיס תרצה שהשינויים יתבצעו בשני צדי קשר הגומלין. במצבים אלה תכונות המחיקה והעדכון על פי היררכית קשרים של שלמות הקשרים עשויים להיות שימושיים. תכונות אלו אינן מופעלות אוטומטית; עליך להפעילן במפורש. אס תפעיל מחיקה על פי היררכית קשרים, מחיקת רשומה כלשהי בצד היייחידיי של קשר הגומלין תסיר את כל הרשומות התואמות בצד ה'ירביםיי. במקרה של שינוייס במפתח ראשי עדכונים על פי היררכית קשרים פועלים בצורה דומה. אס תשנה ערך מפתח ראשי בצד הי'יחידיי של קשר הגומלין, הוא יתבטא גס בצד היירביסיי. כל ערכי המפתח הראשי התואמיס מתעדכנים אוטומטית. יצירת טבלאות באמצעות אשפים אשפי 866655 מפשטים מטלות רבות, כגון יצירה ותחזוקה של טבלאות. ל-400655 מעל 20 אשפי מסד נתוניס, למשל: זחַחַחִםהַבח8ו ז86זחה60, פחוווום 0ח3 6חוד, 57106 חח ||68 ו- 060ו ז+חסהסְהַהּחגוי ה6600ו!60. כל אלה יוצריס יישומיס שלמים, כולל עיצוב הטבלאות. אשף הטבלאות יוצר טבלאות יחידות ואף מוסיף לכל אחת מהן מפתחות ראשיים ומקשר ביניהן. האשף בונה שדות (06ווט8 ₪6!0) מסייע לתחזק טבלאות על ידי פישוט הוספת השדות. אשפי מסד הנתונים בעת הפעלת 2000 860655 תוכל להציג את אשפי מסד הנתונים, על ידי בחירה באפשרות אשפי מסד נתונים, דפים ופרויקטים של 260655 (28%80856 06655 5 וח 28465 ,28705ו/)) בתיבת הדו-שיח 466655 0506%ז116 ולחיצה על אישור. בהופעת תיבת הדו-שיח חדש (אוסא), בחר בכרטיסיה מסדי נתונים (פ85565פ8ּה28) ואחר כך לח לחיצה כפולה על סמל האשף שברצונך להפעיל (לחילופין, ניתן לפתוח את תיבת הדו-שיח מתפריט קובץ (1₪ו=), האפשרות חדש). 2 הח 2000 406655 מסד נתוניס שנוצר על ידי אשף מושלס מבחינה תפקודית למשתמש לא מנוסה, מכיון שהוא כולל טפסים, טבלאות, דוחות ואף נתוניס לדוגמה. תוכל לבחון את עיצוב מסד הנתוניס ולהשתמש בו כמודל ליישומיס מותאמים אישית. מפתחים מנוסים יותר יכולים לערוך את העיצוב הבסיסי על ידי הוספת טבלאות, שאילתות, טפסים, דוחות ומודוליס. אשף הטבלאות אשף הטבלאות מתמקד בלעדית בעיצוב טבלה. תוכל לפתוח אותו מתוך הפריט טבלאות (180!659) באוסף אובייקטים (00[6600) שבחלון מסדי נתונים (ס5ה80ז28). לתחצ לחיצה כפולה על הסמל יצירת טבלה באמצעות אשף (0זה2ו/ חַחו5 ץ 80!6 ד 676806) כדי לפתוח את תיבת הדו-שיח ההתחלתית אשף הטבלאות (0זב2ו\ 6מַבּ1). אשף וה מציע מיגוון עיצוביס מוכניס מראש בסגנון עסקי או אישי. עיצובי הטבלאות העסקיים כולליס בין היתר את אנשי קשר (065ח60), לקוחות (5ז0ו500ט6), עובדים (665ץס!קוחם), מוצרים (טסס6טססזק), הזמנות (9ז00ז0ס), תחשבוניות (5ססוסעח1) ואירועים (פזח6/ם). עיצובי הטבלאות האישיים עוניס על כל הצרכיס ויכוליס לשרת גס מיגוון צרכים של עסקים קטנים. בין העיצוביס המוצעים: מתכונים (65קו66), צמחים (פסחהוק), יומן תרגילים (00] 676156אם), ספרים (80065), אוסף וידאו (ח66000!|ס60 סססו/) והקלטות (05ח₪660701). האשף אינו ממלא את הטבלה בנתוניס ראשוניים, אך הוא מספק קישורים לטבלאות אחרות שכבר כלולות בעיצוב מסד הנתונים. הוא אפילו יבנה קשרי גומלין אלה בעצמו. ?7 זטסץ 676806 60 56 0ם שחב/או וסץ' 40 אוסוסם 566!! 65|ס3: 6|קח53 שחש ]0 הסותעעצ שחו 50 לחביאו סי 16105 536 חב 30|6: 6|קהחה5 רל 0056ת6 , 6301 306 3 הַחו501660 סא סח 6ז'וסץ ]1 . 30|6: 6|קחז53 שחס חבּח! שפוח החסז] 16105 שבט|סחו חב= 6ופב: וטס , 6|פ3: אופח זופץ חו 36| !16 0/6063 סל 635 1/5 ,| 06טסחו חב 3630 סט ,בו ב זטססב 6טפ ופ 0 |8ח50זסק -% 530! 7 3065: :306 אופח חח חו 1605 :05| 5806 | << 6 60סופשחך 58051506 סזפסוטיח וי 16 ות הקקוח 5תסוחעבק פשסוסשח1 585 6סוסשח1 ןז 5חסששים 5חסו6507/30 תרשים 3.4: יצירת הטבלה חשבוניות בתיבת הדו-שיח הפותחת של אשף הטבלאות לאחר בחירת עיצוב טבלה מוכן מראש, תוכל למלא את הגירסה המותאמת אישית שיצרת בשדות מתוך תיבת רשימה. תיבת הדו-שיח ההתחלתית אשף הטבלאות כוללת קבוצת לחצניס להעברת שמות שדה בין תיבת הרשימה שדות הדוגמה (6|05= 5800!6) לתיבת הרשימה שדות בטבלה החדשה !190 אוסח ץח חו 16|05=). תרשיס 3.4 מציג שלב ביצירת טבלת חשבוניות. שדות מדגמיים אחדים הועברו לתיבת הרשימה שדות פרק 3: עיצוב טבלאות 163 בטבלה החדשה. בשלב זה, תוכל ללחו שלוש פעמיס על לחצן הבא (6א) כדי ליצור את הטבלה חשבוניות (פ6סוסעח1). הגדרות ברירת המחדל יוצרות מפתח ראשי, מקשרות בצורה טבעית את הטבלה החדשה לטבלה כלשהי במסד הנתוניס, ומאפשרות להכניס נתוניס. לאחר קבלת כל ברירות המחדל ולחיצה על לחצן סיום (הפוחום), הטבלה תיפתח בתצוגת ג*ליון נתונים (ְססַחַ855זהכ) ותאפשר למלא אותה בנתוניס. בעת המעבר בין תיבות הדו-שיח של האשף תוכל לדרוס כל ברירת מחדל לא רצויה. אס התחלת זה עתה את צעדיך הראשונים בעבודה עס מסדי נתוניס יחסיים, זיהוי הקישוריס האוטומטי לטבלאות נוספות שימושי במיוחד. תרשים 3.5 מציג את תיבת הדו-שיח השלישית של יצירת הטבלה פרטי חשבונית (2688|8 6סוסעח1). הטבלה יכולה לכלול את השדה 1010610 הפועל כמפתח זר של הטבלה חשבוניות (65סוסעח1). אס האשף מזהה את הטבלה חשבוניות, הוא מקשר אוטומטית בין שתי הטבלאות. תוכל לדרוס את הקישור, או ליצור קישוריס שוניס מאלה שמציע האשף, אך אס אין לך ניסיון מוטב שתקבל את ברירות המחדל המוצעות. הו 6|פבּ ד 356 3/6 30|65: 6/3660 63-303507 זטוסץ חו 30|65: זסחלס עחבּ 50 660ב|פז סופב: אופח זטסץ 15 .03030356 לחשזזו₪ שר חו 30|6: זפחזט חס 6355| 36 60 660ב!6 5| 6|ס3: אופח זטסץץי , ע!|3508! .960705 זנוס' אוסח אוסח5 אוס|ספ ז5ו| שח ,טפ זס) 5קות5חסו6|3ז !פב השס ||וו בוה קוו חל ,63565 506 הח 6 חו 30|6: 3 56666 ,66| 5| 6ב 3 עוסת מַחב3ח6 סד .83065 הַח5וא6 0 650ב|ז 5| סופב: אופח .5קוח5ח3000!פת >6ו|6 חב 186 ... 5 3066 '5!ו653 66וס/ח1' אופח עזי '61וסב ד' 50 83:60 זסח ]= 65| ד' 0 6!3:60 זסח | ...5קותפחסוסב3|פת | ₪ [ ₪2 | ₪4 | שת תרשים 3.5: תיבת דו-שיח של אשף הטבלאות המציגה זיהוי של קישור אוטומטי בין הטבלה פרטי חשבונית והטבלה חשבוניות שנוצרה לפניה 5 זססות16י]/']והחב =" 0 13:00 סח "52 זט ח16י]/י]והחב = 0 613560 )סח " כו '5ח50זפק' 60 6|3660? סח 55 5ְחַחו 07 0 30| זסה | | == == בונה השדות לאחר שיצרת טבלה באמצעות אשף, יתכן שתרצה להוסיף לה שדה נוסף. המשימה עלולה להתגלות כקשה יותר מאשר היא נראית מלכתחילה, במיוחד אס השדה צריך להיות מקושר אל שדות נוספיס בטבלאות אחרות. הדבר נובע מכך שקל יותר ליצור שדה חדש בעל סוג נתונים שונה מאשר ליצור שדה בטבלה אחרת. כשמנסיס לקשר בין שדות שנמצאיס בטבלאות שונות, ששמותיהם דומים וסוגי נתוניהס שוניס, הפעולה תיכשל מבלי שתקבל הסבר כלשהו. פתרון אפשרי לבעיית ההוספה של שדות חדשיס לטבלה הוא בונה שדות (ז06!וט8 6!0). 4 הח 2000 466655 פותחים את בונה שדות על ידי לחיצה ימנית על שורה ריקה בתצוגת עיצוב (ח9ו65) של טבלה ובחירה בבניה (0ווט8) מתוך תפריט הקיצור. תיבת הדו-שיח בונה שדות כוללת שתי תיבות רשימה: אחת לבחירת סוג טבלה, כגון חשבוניות או פרטי חשבונית, ותיבה נוספת לבחירת שדה מתוך סוג הטבלה שנבחר. בעת הארת סוגי טבלה שונים, משתנים הערכיס בתיבת הרשימה שדות דוגמה (6|05= 0!6וח58). חפש את השדה שברצונך להוסיף ולחץ על אישור (א08ס) כדי להוסיפו לטבלה. פעולה זו מבטיחה שהשדות החדשיס שהוספת יכילו סוגי נתוניס תואמיס לשדות שהוספו באמצעות אשף הטבלאות. יצירת טבלה באופן ידני ליצירת טבלה באופן ידני, לוחציס לחיצה כפולה על הסמל יצירת טבלה בתצוגת עיצוב (שסו ח4ו65 חה1 182!6 0768%6), כדי לפתוח חלון טבלה (180!6) ריק בתצוגת עיצוב (ח0ו65כ). מכאן ניתן להוסיף שדות, מפתח ראשי ואינדקס (מפתחות ראשיים הס אינדקסיס בעלי הגדרות מאפיינים מיוחדות). להוספת שדה, הקלד את שמו בעמודה הריקה שם שדה (פוחפּ ₪8!0) שבחלון תצוגת עיצוב. שמות שדות עומדיס בכללי מתן השס הרגילים של זס) 8856 |טפו 5 סוט (88/). אורכס המקסימלי יכול להגיע ל-64 תוויס - אותיות, מספריס, רווחיס ותוויס מיוחדים, למעט התוויס נקודה, סימן קריאה, סוגרייס מרובעיס סימון הטעמה מסוג 6טפזף (). כמו כן, אסור לפתוח שס שדה בתו רווח או בתו בקרה (ערך 1 בטוות 0-31). תווי רווח יכוליס להופיע באמצע שמות שדה, אך בביטוייס ובשאילתות יש להציבם בין סוגריים רגיליס. סוגי נתונים העמודה סוג נתונים מאפשרת לציין את סוג הנתונים של השדה. תיבת רשימה נפתחת מציעה 10 אפשרויות: טקסט 0א16), תזכיר (סוח6וא), מספר (וסטחטא), תאריך/שעה (6חזוד/6ז28), מטבע (ש6ח6זזט6), מספור אוטומטי (זספוחטאסזטה), כן/לא (סא/65ץ), אובייקט 015 (66(פ0 015), היפר- קישור (שחווזססץ) ואשף בדיקת מידע (קטאסס !| 46) (סוגי נתוניס משמשיס בדרך כלל לזיהוי המידע שבשדה. שדה טקסט מכיל נתוניס מסוג טקסט, שדה מספור אוטומט* מכיל נתוניס מסוג מספור אוטומטי וכן הלאה). חלק גדול מסוגי הנתוניס כולליס אפשרויות שונות להגדרה מדויקת יותר של סוג הנתונים. לדוגמה, סוג הנתוניס מספר כולל שבעה סוגי משנה. באפשרותך להגדיר אחד מהס על ידי בחירת מספר בתור סוג הנתוניס ולאחר מכן לבחור באפשרות הרצויה מתוך תיבת הרשימה הנפתחת גודל שדה (5126 ₪6|6) בכרטיסיה כללי ((8ז6ח66) בחלקו התחתון של החלון טבלה. פרק 3: עיצוב טבלאות | 165 שדות מספור אוטומטי שדות מסוג מספור אוטומט? (ופפחחטאסזטה) משמשיס לעיתיס קרובות בתור מפתתח ראשי של טבלה. 860655 מציב בעצמו ערך חדש בשדה בעת הוספת רשומה לטבלה. שדה זה אינו בר-עדכון בצורה ידנית, ולכן ערכיו אידיאלייס לסימון ייחודי של שורה בטבלה. 5 מגדיר בעצמו את הערך של שדה מסוג מספור אוטומטי. כדי לגרוס לשדה כזה לגדול בהפרש קבוע בצורה סדרתית, בחר באפשרות תוספת קבועה (1ח606ז0ה1) (שהיא ערך ברירת המחדל) מתוך תיבת הרשימה ערכים חדשים (פסטו/ שוסא) בכרטיסיה כללי בחלקו התחתון של החלון טבלה. כדי לציין ששדה מסוג מספור אוטומטי צריך לקבל ערך אקראי, בחר באפשרות אקרא* (חססַחבּ5) מתוך תיבת הרשימה ערכים חדשים. באפשרותך להשתמש בכרטיסיות כללי ובדיקת מידע (קטאסס)) כדי לבחור אפשרויות נוספות המשפיעות על השדה, כגון הנחיה למשתמש להכניס ערך בשדה, או ציון שהשדה מכיל ערך ברירת מחדל. מאפייני שדה שהוגדרו ברמת הטבלה חלים דרכה על טפסים ודוחות. מאפייני שדה טבלה יכוליס גס לפשט את הקוד שנכתב עבור טפסיס ודוחות. המשמעות הנוספת של תחזוקת מאפייני שדה ברמת הטבלה היא שהמאפייניס משתניס במקוס אחד ולא בכל טופס ודוח שמשתמשיס בשדה. 0 00655 הוא הגירסה הראשונה של 260655 שמאפשרת שליטה באמצעות קוד על הערך ההתחלתי וגודל הצעד של סוגי השדה מספור אוטומטי (פרק 2 עוסק בהיבטיס הבסיסיים של יכולת זו). באפשרותך להשתמש במילות המפתת ם |פאד חפד!ה ו- אאע !60 מפד)ןג ב- .501 3% כדי לעדכן את ערכי ההתחלה והצעד של שדה מספור אוטומטי. כוכור מפרק 2, שדה מספור אוטומטי של 501 36 כולל את סוג הנתוניס צדנדאשק1. המאפייניס 591% ו-5560 של סוג נתוניס גה מאפשריס לשנות באמצעות קוד את ערך המספור האוטומטי הבא ואת גודל הצעד של הערכיס הבאים. שדות טקסט שדות טקסט משמשיס לשמירת ערכי מחרוזת באורך של עד 255 תווים. סוג הנתוניס טקסט (א16) יכול לאחסן פריטים כגון נתוני אנשי קשר וערכים מספריים שאינם מיועדים לחישוב (לדוגמה, מספר והות, מספר טלפון ומספר קטלוגי). באפשרותך להשתמש בשדות טקסט בטבלה כדי ליצור ערכי מחרוות מחושבים. ניתן לאינדקס מפתחות ראשיים לצורך מיון ואחזור מהיריס המבוססיס על שם משפחה, או על סוג שדה אחר מסוג טקסט. שדות בדיקת מידע שדה בדיקת מידע (קטאסס )6 מציג ערך בעל משמעות המקביל לערך שמאוחסן בשדה (לדוגמה, מסד נתוניס עשוי להשתמש במספרים ייחודיים כדי לייצג מוצר. שדה בדיקת מידע יכול להציג את שס המוצר במקוס המספר הקטלוגי שמייצג אותו). סוג שדה זה (המוכר גם כעמודת מפתח, חוחט!60 עְ6א) מאפשר לאחסן ערך אינדקס 6 הח 2000 406655 בטבלה, אך מציג ערך טקסט בעל משמעות כשהטבלה מוצגת בתצוגת גיליון נתונים טִסִסִַַ5ּזהכ). שדה בדיקת מידע יכול להיקשר לערכיס בטבלה או בשאילתה אחרת, או לרשימת ערכים מותאמת אישית שהטבלה מתחזקת עבור שדה בדיקת המידע. לאחר הוספת שדה בדיקת מידע המפנה לערכיס הנמצאיס בטבלה אחרת, לא ניתן למחוק את השדה בטרס מוחקיס את קשרי הגומלין לשדה האחר, באמצעות החלון קשרי גומלין (05וח0005ַ₪6|3). בעת מחיקת קשרי הגומלין, 460655 יזוכיר לך שהשדה מהווה עדייו חלק מקשרי הגומלין יבקש אישור לפעולת המחיקה. בשלב זה בחר את האפשרות כן (65+) כדי להסיר את שדה בדיקת המידע מהטבלה. שדה בדיקת מידע יוצריס באמצעות אשף בדיקת מידע (0ז28 סט6.006. בחר באשף מתיבת הרשימה הנפתחת סוג נתונים (6סץד הּז8כ) כדי לקבל טבלה בתצוגת עיצוב (ח0ו65כ). תיבת הדו-שיח ההתחלתית של האשף שואלת אס ערכי בדיקת המידע מקורס בטבלה אחרת או ברשימת ערכים מותאמת אישית. בדרך כלל תלת על הבא (0א6א) כדי להשתמש בערכי בדיקת המידע מטבלה אחרת. אס ברצונך להשתמש בערכי בדיקת מידע מטבלה אחרת, באפשרותך לבחור מתוך תיבת הדו-שיח השנייה בטבלה, או בשאילתה שמכיליםס את הערכים המוצגיס באמצעות שדה בדיקת המידע. בתיבת הדו-שיח השלישית, בחר בשדה או בשדות שמכילים את הערכים המוצגיס באמצעות שדה בדיקת המידע שיצרת (בדרך כלל תבחר שדה טקסט שמשמש כמפתח ראשי). תיבת הדו-שיח הרביעית מאפשרת לקבוע את רוחב העמודה (או העמודות) להצגת רשימת בדיקת המידע, בתצוגת גיליון נתונים (080850660). רשימת בדיקת המידע יכולה להציג את ערך שדה בדיקת המידע ופריט אחד מהרשימה לכל שדה שבחרת בטבלה הקשורה (בדרך כלל תרצה להסתיר את עמודת המפתח). תיבת הדו-שיח האחרונה מאפשרת להגדיר כיתוב עבור שדה בדיקת המידע. תרשים 3.6 מציג את תיבות הדו-שיח השנייה, השלישית והרביעית שבאמצעותן יצרו את השדה ס1פטוד של הטבלה 65005ק בקובצ מסד הנתונים של פרק 3 המופיע בתקליטור המצורף לספר. זו קטואסס 1 קטאספ! וטופ זס] 3!065/י שח 6טואיפזם ב|וסח5 ע'וסט זס 53|6 תסוח/א ?חוחט60 5 - ב 5 0ס5נ וש ןוטס זסטזוס סוס 5 סוס 05 1 ₪ 5זשוסל5 ]א וסור הסט 97 5וזפנו 7 5 / זבוזה. 6% | 366 פרק 3: עיצוב טבלאות | 167 זה <ו/ש קטואסס 1 קטסס! זנוסץ חו ססבט|סחו אחב9ש ופי 65ש|8/+ 506 הוב>חס6 16105 תסוחעעצ קנשסס! וטס חו 5חחחט|ס6 6הס6פ :56/66 טס 116105 שד ?הוחט|ס= = ₪ - אאא :05|-] 50106560 :6|05ן= 6!ס3|וב שת | וחב | [68 זה <ו/ש קט אסס 1 ?חוחט!ס קסס! וטס חו פהחחט|ס6 חל =א!| טס טסו בוש ופ שח א6ו6-61!פוס₪ זס , אחפו ופי הזטוו שחל 50 6006 לחחוז 5פו ההז , ההחטוס= 3 )0 הסטואו שר 805% פד .ו 0655 6ח 5 50 0ַהו630ח הוחטוס6 56 ]0 606 לחטוז (380ח6וחוחס8) הוחטוס₪ ₪ בור שן | 6אד | | | תפוחום 6% | 8066 תרשים 3.6: תיבות הדו-שיח השנייה, השלישית והרביעית של אשף בדיקת מידע (0זה2ו/ קטאסס 1) הטבלה 7675005 בתצוגת עיצוב מציגה את השדה פ61וד בתור שדה מספר, ולא בתור שדה בדיקת מידע או שדה טקסט (תרשים 3.7). סוג הנתוניסם של שדה בדיקת מידע תלוי בסוג הנתונים של עמודת המפתח. גם אס תסתיר את עמודת המפתח, סוג הנתוניס שלה יקבע את סוג הנתוניס של שדה בדיקת המידע. הכרטיסיה בדיקת מידע בתצוגת עיצוב של הטבלה מכילה את משפט 501 המשמש את שדה בדיקת המידע. 860655 מכין אותו בעצמו בעת שאתה בוחר את האפשרויות הרצויות באמצעות אשף בדיקת המידע. 8 ;א 2000 06055 |<ןם) - | 6 -: פתספזסק ₪3 0 זה וזכ זפפוחנוספוה ה זט וחנוחססנום עזי | 7 טסט | ד סזסווד | ץ | "7 חבז | = | "אד 3506 | | = | ו עשחפזיו) ו 836 חש | | 6קעש שופטס 3 חפוו 610 זספחחטויז זססוחט חנ | = | ₪6 |בחושש 3 חפוו 6/0 זסטחחטי] טסוט 8 חנ | | |= 2 סז וו 100 = |678ח6 80% טח |סזסחס = שבוספום שוב ד ץד 5066 אוסת ווד וזכוח= 6וד 5שוד , סזשטוד. 5שטוד ד6= |56 506 וספת סע ₪863 סחך 1 חוח!ס) הטוספ זט חא ל 6-5 2 ל חבש זו 1 כב סז ו .| 6 חו 5076 8 : חס כ|8ח זס] 1= 655זק 1" 5 חוחנו!ס-> .65 313 8 וס 1056 "1 חלטו// 115% 5 !| סד 6ווחו1 תרשים 3.7: הטבלה 7675005 בתצוגת עיצוב ובה שדה בדיקת מידע שיצירתו הוצגה בתרשים 3.6 שדות מספר שדות מספר (זפפחטא) שוניס משדות טקסט (א16) מכיון שהס יכוליס לקבל מיגוון של סוגי משנה, החל בבית יחיד (הסוג בית - 6ע8) וכלה ב-16 בתיס (סוג המשנה קוד העתק משוכפל - כ1 חהסש68|ק₪6). סוגי משנה נוספיס בטווח הסוגיס הס שלם (ז1606ח1), מספר שלם ארוך 6060ח1 פַח10), *חיד (סופַחו5), כפול (פ6|טטסס) ועשרוני ((₪חו60כ). למעט סוגי המשנה בית וקוד העתק משוכפל, כל השאר מתואריס בפרק 2, בסעיף ייסוגי נתונים'י. סוג המשנה בית דומה למשתנה מסוג ח6!ססם. שני הסוגיס יכוליס לאחסן ערכיס בוליאנייס, אך הסוג בית דורש ויכרון בגודל בית אחד, בעוד שהסוג ח800!68 דורש שני בתים. סוג הנתוניס קוד העתק משוכפל אינו זמין בתור סוג נתוניס של משתנה. ייעודו העיקרי הוא לשכפול, אך הוא משמש בתור מזהה ייחודי. אורכו ושיטת יצירתו הופכים אותו לבטוח יותר לשמירה על ייחודיות לעומת שדה מספור אוטומטי. סוג המשנה עשרוני מאפשר את ביטולן של שגיאות עיגול ובה בעת מאפשר לאחסן מספרים גדוליסם באמצעות המאפייניס דיוק (חסופ!ו66זק) וסרגל (568!6). מאפייניס אלה שולטים במספר הספרות משני צידי הנקודה העשרונית. ערך המאפיין דיוק המייצג את מספר הספרות הכולל שניתן לאחסן בשדה, נע בין 1 ל-28. סרגל, המציין את מספר הספרות מימין לנקודה העשרונית שניתן לאחסן בשדה, נע בין 0 לערך המאפיין דיוק. הודות למאפיין סרגל, סוג המשנה עשרוני יכול להכיל יותר ספרות אחרי הנקודה מסוגי משנה אחריס של מספר מבלי לגרוס לשגיאות עיגול. פרק 3: עיצוב טבלאות 169 תרשים 3.8 מציג את הטבלה 5005ז6ק בתצוגת גיליון נתונים. השדה 66ח6/88|3ח6זזט6 משתמש בסוג הנתוניסם מטבע, 086 /6ח6זזט6 משתמש בסוג הנתוניס מספר ובסוג המשתנה כפול ו-66066ח6/88|8חפזוס משתמש בסוג הנתוניס מספר עם סוג המשנה עשרוני. המאפיין סרגל של השדה 66066ח6/88|3ח6זזטוס מקבל את הערך 6, שפירושו שהשדה :כול לאחסן שש ספרות מימין לנקודה העשרונית. ערך וה גבוה ממספר הספרות שיכול סוג הנתוניס מטבע לייצג בצורה מדויקת - הוא מוגבל לארבע ספרות מימין לנקודה. סוג המשתנה כפול יכול לייצג מספר בעל עד שש ספרות עשרוניות, אך הוא אינו מבצע את משימתו בדיוק של מספר שלם (0696ח1). השורה הראשונה של הטבלה 7675005 מציגה את הערך 1.0001 בתבניות הנתוניס מטבע, כפול ועשרוני. השורה השנייה מבטאת את 1.00001 בשלוש התבניות הללו. שיס לב כי התבנית מטבע בתצוגת גיליון נתונים מציגה את הערך 1.00001 בתור 1.0000, מכיון שהיא מוגבלת לארבעה מקומות עשרונייס. התבניות כפול ועשרוני מציגות ערכים בצורה והה. וטו | 1086-ועס הסזזווב) | 1300ב עס הסזזטר) | סחוב 351 1 | סחובא זה | סוד | אפטחועוח | = | בו 1-ו 1 וו זז | ווח 5 1 1 1 .1 ווח ו : 2 זס |++| | + 1 | + ]14 :0018 תרשים 3.8: הטבלה 5ח50ז6ק בתצוגת גיליון נתונים, כשהיא מכילה ערכים מספריים בתבניות הנתונים מטבע, כפול ועשרוני השיגרה 606וח%וז|8ו66ש שלפניך מציגה הבדלים נוספיםס בין תבניות הנתוניס שתוארו. השיגרה מחשבת את ההפרשים בין המספרים המאוחסנים בשדות המתאימים, לבין הערך 1. השיגרה פותחת ערכת רשומות המבוססת על הטבלה 5, מפחיתה 1 מכל אחד משלושת שדות המספר שבשורה הראשונה ומדפיסה את התוצאות בחלון 16013%6וח1 (מיידי). לאחר מכן היא עוברת לשורה השנייה ומבצעת את התהליך פעס נוספת. ()6%6רח 10| ח1ו66 5 סו חח 8.00 0 עוסא 5 1 החש וחוס 5 561 וחוס +חהוזה/ 5 כו 50 ,חס ] 5 זסזהטס6שחו וחוס +חוז3/ 5 = 50 ,שחהחזבּ/ 5 6וחט5 וחוס 56% 0ח8 ה6ק0 ' צ ואס = 961 56% הסוח 60166.0 = הס 66 תה 600עו6. 561 = 6קץדזס5זט9%1.6ז 6 וק 0600 301 = 6קץ 0607 961.1ז 6 , , , ,"5חה0ספזסק" ה961.026ז 0 הח 2000 466655 1 - (6!05)6ו=. 51 .8 " :66רתחשוזבּ [הוחוסס" זחוזק. פטטטס 1 - (501.=16!05)5 8 " :6 הרסוה סחספּסום" זחוזק. פטטטס 1 - (16|05)4-.561 8 " :6ו60וחח6וז3 ץ6ח6זזט6" זחוזק. פטטטס )טסו 561 +חוזק. פטס 1 - (6!05)6ו=. 551 .8 " :66רתחשוזבּ |הוחוסס" זחוזק. פטטטס 1 - (501.=16!05)5 .8 " :6 6רתרשוזה סחבּסום" זחוזק. פטטטס 1 - (561.=16|05)4 8 " :6ו60וחח6וז3 ץ6ח6זזט6" זחוזק. פטטסס 50 0חם תרשים 3.9 מציג את תוצאות הפעלת השיגרה. התבניות מטבע ועשרוני נותנות תוצאה זהה, 0.0001. התבנית כפול אינה מסוגלת להגיע לדיוק כזה; היא נותנת 9. סלמטרות רבות תוצאות אלו של התבניות מטבע ועשרוני זהות. לעומת זאת, כשיש צורך בתוצאה מדויקת, אין די בכך. כשמבצעים פעולה זו על השורה השנייה שמכילה את הערך 1.00001, התבנית עשרוני היא היחידה שתפיק תוצאה מדויקת. חישוביס אלה ממחישים את תפקידו המיוחד של סוג המשנה של סוג הנתוניס עשרוני. עליך להשתמש בו כשדרוש דיוק ברמה שלא ניתן להשיג בתבניות הנתוניס מטבע וכפול. <1ם|. | 6 חח ה - 1 :1516510תב3 1בתבססכת 5-רץרְץרְץְץךץ"ץ,ץ, , , . :510ם16עב3 ק8מג10351ץ 1 :6510תםת16ע3 ששתשתטגוס 1 ::1616010תב3 1בתבססכת 5 1.00000000000 :651₪מםת15ת3 קתנ1סהס1ץ 0 :651₪מת15עת3 טכתשתטוש ₪ 6 תרשים 3.9: פלט השיגרה 606חֶוה|ו66ס השדות: תזכיר, אובייקט 01, תאריך/שעה, כן/לא סוגי נתונים נוספים כוללים את הסוג תזכיר (סח6י) שמאחסן מחרוזות טקסט ארוכות מאוד, אפילו יותר מ-255 תוויס (המגבלה של סוג הנתוניס טקסט). סוג הנתונים תזכיר יכול להגיע עד 64 קייב. באפשרותך לגשת אליו ולכתוב את תוכנו בקטעים של 64 קייב באמצעות השיטות %חטח6606 ו-אחטח06ח6סקה, בהתאמה. 4 3% תומך באינדוקס של 255 התוויס הראשונים של שדה תזכיר. הדבר שימושי במיוחד לסוגי הנתוניס היפר- קישור (אחווז6סץה) התלויים בסוג הנתוניס תזכיר. פרק 3: עיצוב טבלאות 171 אובייקט 015 (0516% 015) הוא סוג נתוניס גדול נוסף. הוא מטפל באובייקטיס בתבנית בינארית, כגון חוברת עבודה של |66א₪ 67050 או מסמך של 670506 זס\. סוגי הנתוניס תאריך/שעה (6וחוד/6ז28) יכולים לייצג גם תאריכים וגם שעות. ערכי תאריך מאוחסניס משמאל לנקודה העשרונית; ערכי שעה מאוחסנים לימינה (עיין בדוגמאות הקוד של פרק 2 המטפלות בערכי שדה תאריך/שעה). סוג הנתוניס כן/לא (סא/85+) הוא הקטן ביותר. הוא מופיע באחד משני המצבים: כן/לא, אמת/שקר (6/=8!56טזד) או מופעל/מכובה 060/חס). סוג זה תופס זיכרון בגודל בית אחד בלבד. אימות נתונים לעיצוב טבלאות עבור מסד נתוניס חסין לתקלות, עליך להבטיח כי רק נתוניס חוקייס יוכלו להיכנס למסד הנתוניס. 2000 66655 כולל כמה רכיבים שיסייעו לך להשיג זאת. המאפיינים נדדרש ואפשר אורך אפס לעיתים רשומה אינה חוקית, אלא אס היא כוללת ערך שדה מסוים, כגון שדה מפתח ראשי או שדה מפתח זר. קביעת המאפיין נדרש (60זוטף6ח) של מפתח זר בתור כן (65+) מבטיח כי המשתמשים לא יוכלו להיכנס לרשומה בצד היירביםיי של קשר הגומלין מבלי שתהיה התאמה לרשומה אחת לפחות בצד הנגדי של קשר הגומלין. כשנותנים למאפיין נדרש של שדה את הערך כן, 8460655 אינו מקבל רשומה שערך השדה שלה ווטא. הגדרת המאפיין אפשר אורך אפס (ח9%ח6 | 2670 אוסו|4) מאפשרת (או לא) להציב בשדה מחרוות באורך אפס (י'"). 466655 מבדיל בין שדה שלא קיבל ערך כלשהו (ווטא) לבין שדה שאינו מכיל ערך (מחרוזות באורך אפס בשדות טקסט). המאפיין מסכת קלט מסכת קלט ((185 זטסח1) היא תבנית שמנחה את המשתמש בנושא סוג ותבנית הנתוניס הדרושיס. בדומה למאפייני שדה אחרים, מאפיין זה חל על טפסים ודוחות באמצעות השימוש בשדה. באפשרותך להשתמש במסכות קלט תקניות, או ליצור בעצמך מסכות קלט מותאמות אישית. תרשים 3.10 מציג את אשף מסכות הקלט המציג מבחר מסכות קלט של השדה תאריך/שעה (שחוד/6ו8). באפשרותך להכניס ערכים בתיבת הטקסט ניסיון 0ז ץזד) כדי לראות כיצד תתפקד המסכה במצבים של נתוני אמת. האשף קובע את קלט השדה ואת תצוגת נתוני השדה, אלא אם תציין גם את המאפיין תבנית-עיצוב (זפוחזסז) של שדה. כשיישום מגדיר את המאפיין תבנית-עיצוב של שדה, המאפיין קובע את תצוגת נתוני השדה. המאפיין תבנית-עיצוב אינו משפיע על התצוגה של ערך, אלא רק לאחר שהיישוס שומר את הערך במסד הנתוניס. 2 ח/ 2000 06655 זה 2ושל 135% וטקח! ?00| 50 3:3 לחבעע וס סח 360065 35% זטסחו הסוחעע .אספ 15 ]ד 06 56 ,5אזסו 35% 56160660 3 אוסת 566 סד הססלפ 115% ₪315 שח; =סון6 ,| 135%י] +וםח1 6ח הַחבת6 סד :00% ] 8ב :135% לוקחן 12 החוד ז'זס5 זה 3:12 שחו ד החו ובשוי 2-9 6 סז 1 3:12:00 שחחוז הח 1 29 6 55 | ו עד | הפוחו= = | |68ח3 | ו תרשים 3.10: אשף מסכות הקלט מציג מבחר מסכות אפשריות עבור שדות מהסוג תאריך/שעה המאפיינים חוק אימות וטקסט אימות מאפיינים אלה נועדו להבטיח כי המשתמש מקליד מידע חוקי. המאפיין חוק אימות (6!₪₪ חספּסו|צ) נועד להגדרת קריטריוני חוקיות לערכיסם בשדה (אס שדה אמור לקלוט נתונים גדוליס מ-1, למשל, עליך להגדיר את חוק אימות בתור 1<). באפשרותך להשתמש במאפיין טקסט אימות 0א6ד חהסטגטו|ה) כדי להגדיר הודעות תגובה שתוצגנה למשתמשיס בעת שינסו להקליד ערך מחוץ לטווח הערכים החוקיים שנקבע במאפיין חוק אימות. באפשרותך לציין גסם כללי אימות עבור הטבלה כיחידה אחת. לשס כך, פתת את הטבלה בתצוגת עיצוב ולחצ על לחצן מאפיינים (₪65זסקסזק) בסרגל הכלים עיצוב טבלה (חָו065 1800!6). לאחר מכן השתמש במאפייניס חוק אימות וטקסט אימות כדי להגדיר כלל אימות עבור הטבלה בשלמותה והודעה שתוצג בתגובה להפרת הכלל. כלל האימות של טבלה מאפשר להגדיר קריטריוניסם שהיקף ההחלה שלהס משתרע מעבר לשדה יחיד. אס דרושיס לך מערכי כללים רבים, תוכל לכלול אותס בביטוי כלל האימות באמצעות פסוקיות 80 (וגם) (אס שדה אמור לקלוט רק מספרים גדוליס מ-1 וקטניס מ-10, באפשרותך להגדיר את חוק אימות בתור 10> 0חה 1<). לח על לחצן בניה (0ווט8) הסמוך לתיבת המאפיין חוק אימות כדי לפתות ‏ את בונה ביטו"ים פרק 3: עיצוב טבלאות 173 (8011067 חסו655זקאם). באפשרותך להשתמש בפונקציות המוכללות של 460655 לאימות שדות טבלה, אך פונקציות מותאמות אישית אסורות לשימוש בביטויי אימות של טבלה או של שדה. בונה ביטויים מתאים ליצירת אימות טבלה כולל בדיוק כפי שהוא מתאים לביטויי אימות של שדה. יצירת אינדקסים אינדקסיס קובעיס את אופן התפקוד של טבלאות ואת היחסים ביניהן. אינדקסים מאיצים פעולות מיון, חיפוש ובחירה ברמת השדה. למרות שהשימוש באינדקסים פוגע בביצועי יישומים בעת קליטת נתונים (מכיון שאינדקסיס דורשים הצבת ערכים בכל רשומה חדשה), יתרונותיו עולים על חסרונותיו. אינדקסים תומכים גם בשלמות הקשרים. לפחות אחד מהשדות המקשריס בקשר גומלין חייב להיות מפתח ראשי או אינדקס ייחודי. תרשים 3.11 מציג את הטבלה 07068 בתצוגת עיצוב, כשהחלון הראשי וחלון האינדקסיס פתוחים. הלחצן אינדקסים (65א06ח1) שבסרגל הכלים עיצוב טבלה (6|פג3ד ח0ו65כ) מאפשר להציג או להסתיר את חלון האינדקסים. 5 )40050 ב] אוסטחוש פוססד >זפפתן אופו מש 6 | | רו | א | == = | | ל || 2 | ₪ ₪ | ₪ 8 החנ סמנ %אפד זו 0ס5= | | זספוחט 610פץסווח= | | 5060 5060 + 6חוד/806 פטס | | 5060 0פץיסוקוחם 6חוד/806ש ווה | | 56 בי | | 86/6 56 | | ו סוטטס חנו 506 6 תמ סנ 5 56 <%אסד 6וחב!קות5 | | רז 6% ץזחחוזק 5860 .אפטחו פוח5 זס] סוחבח פחד וח ו .165 10 60 קוו ₪56 חבש 86%חו 5 חמ ות 0 זו ,בחס| 6037365915 64 50 קוו 6 ח63 סחזבח בוו מ (3055ם!!קטוק 0(]) 65/י חס כ|פח זס] 1= 655ז₪ .5030665 הַחוטטוסחו ו 7 ]| ][ | ]0 0000000000 אשא=1 .הק תפ=6 ,אס הטספ תרשים 3.11: החלון הראשי והחלון אינדקסים של הטבלה 070675 בתצוגת עיצוב החלון אינדקסים שבתרשים 3.11 כולל גס שורה ובה מפתח. בדיוק כמו בחלון הראשי, שורה זו מסמנת את המפתח הראשי. בחלון האינדקסים נבחר האינדקס 6050006710. 4 ח,/ 2000 466655 אינדקס זה תלוי בשדה 0050000612 שהוא מפתת זר בטבלה 065ז0. האינדקס זו 605 מקשר בין הטבלאות 605000678 ו-070675 בקשר גומלין מסוג יחיד לרבים. הוא אינו המפתח הראשי של הטבלה 5ז06זס, ולכן ניתן לשכפל אותו בין רשומות. שים לב גם כי כמה אינדקסים, כגון 070670866 ו-005%9!6006קח5, אינס מפתחות של טבלאות אחרות. אחת המטרות ליצירת אינדקס היא האצת הפעולות המתבצעות בנתוני הטבלה, כגון בחירה לפי תאריך, או מיוןו בהתאם לקוד דיוור. הערה: אחת הדרכים להבטיח את תקינות ההגדרות של מאפיין מפתח זר היא להעתיק את השדה אל הלוח (טַזהססכו!6) של פשססחוצ בצד ה"יחיד" של קשר הגומלין. פעולה זו מאפשרת להדביק את השדה בתצוגת עיצוב של הטבלה בצד ה"רבים" של קשר הגומלין. כך ניתן להימנע מהצורך להגדיר ידנית את מאפייני המפתח הזר. אינדקס יוצריס באמצעות הקלדת שם בעמודה שם אינדקס (8₪6 א06ח1) בחלון אינדקסים. לאחר מכן בוחרים שדה עבור האינדקס מתוך תיבת הרשימה הנפתחת, ובוחרים את סדר המיון של השדה: עולה או יורד. אס לאינדקס שייך שדה נוסף, בוחריס את שמו ואת סדר המיון בשורה הבאה מייד לאחר מכן. באפשרותך להוסיף שדות נוספים לאינדקס באופן זהה. כל שדה שתוסיף לאינדקס חייב להופיע מייד מתחת לשדה הקודס. רק השדה הראשון של האינדקס צריך להכיל ערך עבור העמודה שם אינדקס. כל השורות הבאות לאחר מכן שעמודת שס האינדקס שלהן ריקה, שייכות לאותו אינדקס. כל ערך בעמודה שם אינדקס פותח אינדקס חדש. באפשרותך להגדיר את שלושת מאפייני האינדקס בנפרד. יחד עם זאת, אס תגדיר את ראשי (עְזבּחחוזק) בתור כן (65+), המאפיינים ייחודי (ס6טשוח() והתעלם מ-5ו!טא (6זסחה9ז 5טא) יקבלו את הערכיס כן ולא, בהתאמה. מפתח ראשי חייב להיות ייחודי לכל רשומה. לא ניתן ליצור מפתח ראשי בשדה או בשדות שמכילים ערכי ווטא. לטבלה נתונה יכול להיות מפתח ראשי אחד בלבד. טבלה יכולה להכיל שדות רביםס בעלי אינדקסים ייחודייסם שמתעלמים מערכי ווטא. אינדקס כלשהו, למעט מפתח ראשי, יכול להתעלם מערכי |וטוא. הדבר מאפשר להגדיר אינדקס שמבוסס על ערכי שדה שוניס מ-ווטא. הבחירה להתעלס מערכי ווטא יכולה לצמצס את דרישות האחסון של אינדקס. תרשים 3.12 מציג את החלון הראשי וחלון האינדקסיס של הטבלה 06088 זססוס בתצוגת עיצוב. שיס לב שבחלון הראשי נבחר השדה סשסטסזק. הכיתוב שלו הוא 6טסז, והוא אחד משני השדות המגדיריס את המפתח הראשי. השדה השני הוא סזסזס. שני השדות הס שדות מספר (וסטוחטא) שסוג הנתוניס שלהס הוא מספר שלם ארוך (06060ח1 8ַח10); אף אחד מהס אינו שדה מספור אוטומטל? (זססוחטאססטה), אך לעומת ואת שניהס משמשיסם בתור מפתחות זריס המבוססים על שדות מספור אוטומטי בטבלאות 5 ו-655ט0סזק. שניהס יחד מזהיס באופן ייחודי כל שורה בטבלה 06085 ז06ז0. אוהי התנהגות אופיינית לטבלאות תיבת הסתעפויות. פרק 3: עיצוב טבלאות 175 חלון האינדקסיס בתרשים 3.12 מוסיף ומזהה את המפתח הראשי. שיס לב כי הטבלה 5 ז00ז מקיימת גם אינדקסים נפרדים שמבוססים על השדות סופסזס ו-0000010זק. אינדקסים אלה מקיימיס קישורים עס הטבלאות 07065 ו-65ט0סזס. שלמות הקשר בין 5ו2689 07061 ו-66ט0סזק מבוססת על אינדקסיס אלה. |<1ם) - | 6 : 0603018 ז46ז0 פא |< 5 זז :63א6הח| + 7 ו זז 50% סח ם₪ הַחו0ח56 סזוסטזוס חנו הַחו0ח560 סזוסטזוס טוח הַחו0ח56 סזטסטטסזק זססוחנז הַהו0ח56 סזסטטסזוק 5טפטזק %א6בח1 5 ץ'זהוחוזק | קסס | | 8 36 .א6בחו 5וחל זס] 6וחבח שח 5 שטסוח .1605 10 50 קן 056 ח68 86%חו סא 5!ט שזסחהָ 0 0 ספנום 5 |8 וס 885%] קת ]סט בח חל 5פחו06667 6פעל ₪353 פחד סק חסוסקה > .ו חל חן 55076 ח63 5075 )חל 5פט|ה/י 3!)6/ :]6 .65קץ: 083 חס כ|פת זס] 1= 5פפזק ₪6 ח0300ו1ה/ ד ח0סו130ו|8/י 5 בפזוטססת (06 065בםו|קטום) פ6/י בת תרשים 3.12: החלון הראשי והחלון אינדקסים של הטבלה 260₪|!8 ז008 של מסד הנתונים בחואוח+זוסו באפשרותך ליצור ולנהל ידנית יחסי שלמות קשרים בין טבלאות מתוך החלון קשרי גומלין (05ו₪6!800050). 1. הוסף את הטבלאות לחלון, במידה שלא עשית ואת עד כה. לחץ לחיצה ימנית בחלון, בחר באפשרות הצגת טבלה (80!6ד צוסח5) והוסף לחלון טבלאות לפי הצורך. 2. צרף את הטבלאות באמצעות קישור השדות המשותפיס של הטבלאות. עשה ואת על ידי גרירת שדה אחד או יותר מטבלה לטבלה, מצד ה'ייחידיי לצד היירבים'י של קשר הגומלין. 3 בחר את שורת הצירוף. לחץ לחיצה ימנית על הקו המקשר ובחר את עריכת קשר גומלין ₪010 305 |6). 6 הח 2000 466655 5. סמן את תיבת הסימון אכוף שלמות הקשרים בין הטבלאות (|6008ז₪600 66זס)חם שחחטח1). בצע את שינויי העיצוב הדרושיס בקשר הגומלין, כגוו בחירת תיבות סימון לעדכוניס ומחיקות בהתאס להיררכית הקשריס. באפשרותך גס ללחוצ על סיוג צירוף (65סץד חוסנ) כדי לבחור אחד משני סוגי הצירוף נוסף על הצירוף הרגיל הכולל שורות משתי הטבלאות רק כששדות הצירוף בשתי הטבלאות זהים. שתי האפשרויות האחרות כוללות את כל הרשומות מצד הייחידיי, או כל הרשומות מצד היירבים'י של קשר הגומלין. |<]?. בו יצ !סב ד 63:60 סב ד 5 5 וסוכ | * 5 | [066ח8 סםטססזק | * סש-טטסוק | 6ן] 7686 ]- 6356386 |! (20366 013060 5 ]- | =356806 ]26|658 |30 5 | עחבּז-0 ז-6חכ) | :6קץעד קותפחסובופת |<1?. 5ות5חסו)6!3 )41 = זכ 36 ד 3060|ס כ סוסב ד - 5 זסםזס | ** זט | |68ח סזוסטזס | * | .. 6מעד חופב ון] 7686 - ]- - 6856806 ](1356 6|3550 5 5 46|3050] 26!656] 356306 | ש] שְחבּ1]-0 ז-6חכ) :שקץ ד קותפחסו6|36ת תרשים 3.13: שתי תיבות הדו-שיח עריכת קשר גומלין המתארות את קשרי הגומלין של שלמות קשרים בין הטבלאות 665ט0סזק ו- 2619115 ז06ז0ס (העליונה) ובין הטבלאות 5ז0106 |- 2618165 070615 ((התחתונה) של מסד הנתונים סחואוחצ+זוסו פרק 3: עיצוב טבלאות | 177 תרשים 3.13 מציג את תיבות הדו-שיח עריכת קשר גומלין שמגדירות שלמות קשריס בין הטבלה 268818 07061 לבין הטבלה 070675 והטבלה 66ט0סזק. שיס לב ש-66655 מפרש את שתי מערכות קשרי הגומלין בתור יחיד לרביס. קשר הגומלין בין הטבלאות 5 |ו- 261815 זז מגדיר מחיקות בהתאס להיררכית הקשרים. הדבר מאפשר למחוק הזמנה ואת כל שורות הפריטיס שלה בפעולה אחת. ללא מנגנון זה היה על היישוס לבצע שתי שאילתות מחיקה, אחת לכל טבלה. קשר הגומלין בין הטבלאות 5 ו- 2618115 07061 אינו כולל מחיקות בהתאם להיררכית הקשרים. במקרה זה, לא תתבצע מחיקה אוטומטית של שורות פריט בהזמנות כשיתעורר צורך להסיר מוצר מהטבלה 66ט6סזק. המודל העסקי עשוי לחייב מאמצ מיוחד לרכישת המוצר עבור ההזמנות הפתוחות שטרס סופקו. יצירה וניהול של טבלאות באמצעות קוד לפעמים - ואולי אפילו ברוב הפעמיס - תעדיף ליצור טבלאות באופן ידני. לעומת זאת, לעיתיס תמצא כי נוח יותר ליצור טבלה באופן דינמי, כמו במקרה שעליך לשמור תוצאות בינייס לשימוש חוזר בפעולה הבאה. 2000 866655 מאפשר לעשות ואת באמצעות טכניקות של ססג וגס בטכניקות מקובלות יותר של 20 (₪60055 פה 5). בסעיף זה נתאר יצירה וניהול של טבלאות באמצעות טכניקות ססג. גישה זו תאפשר לך לנצל את הייתרונות של חידושי הטכנולוגיה העתידית של אספסזסווא לגישה לנתוניס. לאחר שיוצריס טבלה באמצעות קוד, לעיתיס קרובות יש צורך למלא אותה בנתונים. אף כאשר יוצריס טבלה בדרך אחרת, מילויה בנתוניס באמצעות קוד הוא רעיון מצודד. ניתן לנצל מקורות נתוניס רביס כדי למלא טבלה של 466655 בנתוניס. בסעיף זה נסקור בהרחבה את השימוש בטבלה נוספת של 466655, טבלה של 5666 (בתור דוגמה למקור נתוניס מסוג 1549), ומקור נתוניס 086. נלמד גם כיצד למלא טבלה של 466655 בנתוניסם באמצעות ספקי מסד נתונים 015 (8כ 015) והאובייקט הפנימי 0 של 8600585, המאפשר ליצור קישור אל מקורות נתוניס מרוחקיס בצורה קלה ופשוטה. בניגוד לשימוש ב- ₪8 015, 0600 הופך את מקור הנתונים המקושר לזמין מתוך החלון מסד נתונים (ס55הַ8ּזכ). יצירת טבלה כדי להוסיף טבלה באופן דינמי, כל שדרוש לך הוא 420 - הספריה אססג, ליתר דיוק. בדיוק כפי שיש לתת שס לטבלה, בין אם יוצרים אותה באופן ידני או דינמי, יש גס להוסיף לה עמודות ולצרף אותה לאוסף פ6וט8ד. השיגרה 80/6 118661.068|7 שלפניך, יוצרת טבלה באופן דינמי. השיגרה פותחת בהכרזה על האובייקט 6869!00 והאובייקט 6!פ18. האובייקט 68₪|04 הוא מכולה של סכמת מסד הנתוניס, כולל האוסף 189!65. לאחר מכן, השיגרה יוצרת מופע של האובייקטיס 0 ו-180!6. השיגרה נותנת לטבלה החדשה את השס 52ז6פחסווץ!וחחה= ומוסיפה 8 הח 2000 406655 לה ארבע עמודות באמצעות ארבע שיטות 300600 מקוננות בתוך משפט 6תם...חזו/ץ. כל אחת מהשיטות 6חס6קקה כוללת שס עמודה, קבוע שמגדיר סוג נתונים וארגומנט אורך, במידת הצורך. כל אחד משלושה שדות הטקסט (אלה שנוצרו על ידי הגדרת סוג הנתוניס ז80/87//608) כולל פרטיס על גודל השדה. השיגרה מסתיימת בצירוף הטבלה המושלמת לאוסף 65!ט8ד של הקטלוג ובסגירת האובייקט 6803|09. ()30!6 ד61.0681> 13 פט5 0 5 6801 וחוס 6פהד. אסכה ₪5 1וס הזוס 6 ז0) 00[6605 61676066 0 6 = 6861 56% 6600 ה 0[660.00ק+ח6 6 = חה0ס 660 ה ה 0ס660עו6ה. 68%1 6 6 = 0|1ז 56% .5ח !60 0חסקקה3 300 006 סוחהבּא ד 1 רסו "00752 ח6זץ|והחה=" = 6וחהּ. 30 ,"31" סהסמקה.5חוחטוס6. 0 ,זהח/זה/30 , "סההח-" ס0ה6סקה.5חוחטוס6. 5 ,30/3/87 , "סח |" סהסקקה.5חוחטוס6. 0 ,30/37/0087 , "הסוס6|3" סהססקה.5הותטוס6. האוצ 0חם= ח0ו60!!660 30|65 ד 60 80!6+ שוסח סחסססה ד .6 68%8!00 17606 סחבּ' 1 0ח6סכ.65|סב ד. 6861 סא = 0011 56% סט5 0חם הטבלה שלפניך מציגה את סוג הנתוניס ואת סוגי המשנה המיוצגיסם באמצעות קבועי המחלקה וחטחש6כץ0087 של הספריה אססג. קבועי סוג עמודה וסוגי הנתונים הידניים השקולים להם שס9| 60 ממע(טשחם) 00000 6טטססחהּ מספר - כפול (6!טטסס 000 מספר - קוד העתק משוכפל (כ1 חסוטפּסו!60) פרק 3: עיצוב טבלאות 179 בכ -- מספר - בת (5ו/5 סט ד הטבלה מציגה כמה נקודות מעניינות. ראשית, סוג הנתוניס היפר- קישור שקול לסוג הנתוניס תזכיר מנקודת מבט של תכנות. שנית, לא קייס סוג נתוניס נפרד לשדות מספור אוטומטי בספריה אססג. אס הקוד בודק את המאפיין 6מצד (סוג נתוניס) של שדה מספור אוטומטי, תקבל את הערך ז0600ח801. ערך זה אינו משקף את טבעו הדינמי של סוג הנתוניס מספור אוטומטי. 4 26, לעומת זאת, כולל סוג נתוניסם נפרד שנקרא 00ח106, שמקביל לסוג הנתונים מספור אוטומטי (לקבלת מידע נוסף אודות השימוש בסוג נתונים וה, עיין בפרק 2). הסעיף יייצירת טבלה באופן ידנייי שהופיע קודס לכן בפרק, מתאר מילות מפתח נוספות לניהול שדות מספור אוטומטי באמצעות קוד. הימנעות מהחלפת טבלה בעת הוספה ידנית של טבלה למסד נתוניס, קל לבדוק אס שס הטבלה קיים כבר. אס תנסה בשוגג לשמור במסד הנתוניס טבלה בשס של טבלה שכבר קיימת, 06655 יוהיר אותך מכך וישאל אס ברצונך לדרוס את הטבלה הקיימת. לעומת זאת, אס שיגרה מנסה ליצור באמצעות קוד, טבלה בשס של טבלה קיימת, 84 406055 נעצר ומציג שגיאת זמן ריצה. עליך ליצור מנגנון לכידת שגיאות במצב כזה. קיימות כמה גישות לטיפול במצב זה. השיטה ההולמת ביותר תלויה בתדירות שבה תיצור טבלאות חדשות. השיגרה 80!67768%006 ד|068. 18661 שלפניך מבוססת על גישה קלאסית ללכידת שגיאות. ראשית, היא מאפשרת את השימוש בשיגרה מותאמת אישית לטיפול בשגיאות, כך שהתוכנית יכולה לנהל שגיאות. המשפט זסזזם חס בתחילת השיגרה אחראי על כך. לאחר מכן, השיגרה מנסה ליצור ולצרף את הטבלה 82ז6טוחסוץ!ווח8= (בדומה לשיגרה 9016 18661068|1!). אס הטבלה קיימת כבר בקטלוג, 84 8460655 יוצר שגיאה (2147217857-) ומעביר את השליטה לרוטינת הטיפול בשגיאות !3 ד. לוגיקת לכידת השגיאות מחפשת את השגיאה ייכבר קייסיי. אס היא 0 הח 2000 406655 מזהה אותה, היא מוחקת את הטבלה הקיימת ומחזירה את השליטה לשורה שגרמה לשגיאה. הדבר מאפשר לתוכנית לשמור את הטבלה החדשה ולצאת מהשיגרה בצורה מסודרת. אס שגיאה אחרת גרמה לתוכנית לעבור דרך רוטינת הטיפול בשגיאות, השיגרה מדפיסה את מספר השגיאה בחלון 16013%6ז1₪1 (מיידי) בטרס תסתייס בצורה מסודרת. לא יקרה מצב שהשיגרה תסתייס בהצגת הודעת מערכת. ()ז08%606ז7 3016 ד61.0681> 13 פט5 3 ד 0 ד60 זסזזם הס 0 5 6861 וחוס 6סד .אסכה ₪5 1ו חחוס 6 ז0) 00[6605 6)676066' 09 שא = 6801 56% הסוס .סח = הס 66 ה 600 /ו6. 6861 6סהד סא = 0|1ז 56% .חח !60 0חסקקה3 300 806 סוחהבּא ד 1 סו "06752 ח6זץ|והח8=" = 6וחהּו). 30 ,"31" 0הסמקה.5חהוהטוס6. 0 ,30/3 , "סההח-" סה6סקה.5חוחטוס6. 5 ,30/3/87 , "סח |" סהסקקה.5חוחטוס6. 0 ,ז8ח/ 30/3 , "חהס6!3" סחססקה.5חוחטוס6. האוצ 0חם= .66 6808|00 1766 ה ה60!!6600 30165 ד 60 90|6+ שסח הסחהסכקה ד 1 0ח6סכ.65|סב ד. 6861 ףסא = 0861 56% .6 זז 66 זואם ' ד 0 זוא ד 60 "5ז|א6 צְ680ז!3 6|סה+" ספזד ' .656 80 9016 61606 ד החד 2147217857- = זססוחטא.זזם +[ "0052 רח6זץ!| רה" 65.61606|סה ד. 6861 56 + ₪0 .6 800 5זסז ז6ח0% זס? 0618115 )חוזק ' הסטק6567.זז= ,זספוחטא. זחם +חוזק. פטססס 306% ך 6506 50 06ח= פרק 3: עיצוב טבלאות 181 החלפת טבלה אם יישוס מסד הנתוניס יוצר באופן קבוע את הטבלה 52ז6טחחסואץוווחא8=, השיגרה עלולה לגרוס לשגיאה מהסוג ייכבר קייסיי בכל פעם שמפעילים אותה. במצב זה, השיגרה תפעל מהר יותר אס תנסה למחוק את הטבלה הקיימת בטרס תצרף את הטבלה החדשה. כך ניתן להימנע מהצורך לטפל בשגיאה. עדיין יש צורך בשגרת טיפול בשגיאות למצביס שטבלה אינה קיימת, או למצבי שגיאה אחריסם. השיגרה שלפניך כותבת את מנגנון הטיפול בשגיאות כשמוחקיס ללא תנאי טבלה בעלת שס זהה לזו שמנסים לצרף למסד הנתוניס. 12 ()8%60672-)ז7 3016 ך|068 113661 5 זט ד 0 607 זסזום חס 0 5 6861 וחוס 6סהד.אסכה ₪5 1וטל הזוס 86 0 00[6605 61676066 ' 0 שו6) = 0801 56% הסוח .סח = הס 66 חח 660 /ו6. 6861 6סהד סא = 0|1? 56% .חח !60 0חסקקה3 300 906 סוחהבּא ד 1 סו "052 ח6זץ]ורח =" = 6וחבא. 30 ,"זוה" 0הססקה.5חוחטוס6. 0 ,ההזה /30 , "הח" סה6סקה.5חוחטוס6. 5 ,30/8/08 , "סח |" סהסמקה.5חוחטוס6. 0 ,ז8ח/ 30/3 , "חסו6|3" סחססקה.5חוחטוס6. האוצ 0חם= . (6ז6ח] 15 6 ₪) %80|6 010 6+ 6|6%6כ ד .6 6 1766 300 ,6חס עצסח 06 סהסקכה ד "00752 ח6]ץ!והחה-]" 65.26!6%06|סב ד. 6861 1 0ח6סכ.65|סה ד. 0861 9וח%ס = 0861 56% .6 זז 66 זואם ' :זט ך סטפ +ואם ד סז "ח60|!6600 חו %סח 665[סס" ספזדי .6ח!| %א6ח 8% 0506 ד החד 3265 = זססותטא.זזם + + 6506 + 0חם .6 0חה פזסזזס ז0ח0% זס+ 0618115 זחוזק ' הסטק6567.זז= ,זספותטא. זחם +חוזק. פטססס 30 ד 656 סט5 0חם 66655 2000 8 שגיאה 3265 הנזכרת בשגרת הטיפול בשגיאות של 30!65776806(06/2 06317 |₪1866, היא תוצאה של הניסיון למחוק אובייקט שלא נמצא באוסף. השיגרה 02 30|0 ד|18661.068] פשוט לוכדת את השגיאה וממשיכה להתבצע לאחר השורה שגרמה לה. כל שגיאה אחרת גורמת לסיום מסודר של התוכנית, כשהסימן היחיד לשגיאה הוא מספר השגיאה ותיאורה בחלון 6013%6וחחו1. עבודה עם אינדקסים באפשרותך להוסיף גם מפתחות ראשיים, אינדקסים וקשרי גומלין באמצעות קוד. תוכל להגדיר מפתחות ראשיים ואינדקסים בשדה יחיד או בשדות רבים. יצירת מפתח ראשי הוספת מפתח ראשי או אינדקס לטבלה כמוה כהוספת טבלה חדשה לקטלוג. ראשית, עליך ליצור הַקְשָר שאליו יתוסף האינדקס, כולל קטלוג וטבלה. שנית, עליך להגדיר את מאפייני האינדקס. אלה עשוייסם להשתנות בין אינדקסים ומפתחות ראשיים. שלישית, עליך להוסיף עמודה לאינדקס ולאחר מכן לצרף את האינדקס החדש לטבלה. אס חלה שגיאה, כגון אס האינדקס כבר קייס, עליך לתת מענה הולס לכך. השיגרה 6 שלפניך יוצרת מפתח ראשי באופן דינמי. ()ק00 סט5 0 אכ צוס 5 6861 וחוס 6סהּד.אסכה צוסא ₪5 011 חזוס אססח1. אסכה צוסא] 45 61 חזוס . 6 ץ זוז שוח 66 סז +א6חה60 8 0768066 ' הסוח 660.60[ס קזח = הס 66 חח 660 /ו6. 6861 ( "0052 6 /ץ|ו רה" )!סה ד. 681 = 011+ 56% .סק ץ6א ץזהווזק 06 56% ' 1 וו "ץסא זה הוזקץו]" = 6וחהבּא. סד = ץ6אשזהוחוזק. 6 = 6טסוחש. צוס!|1!50158טא801706 = פ!וטאאססחז. חזו 0חם .6 סז א6סחו 0ח3 אססחו 60 חוחט|ס6 סחסססה ד "ס1החהּ-" חהסקכה.5הוט!ס6. 1אס 1 החסקכה.65א06ח1. 1!ט+ | 66 5. 9חוה%ס = 0861 56% סט5 0חם פרק 3: עיצוב טבלאות 183 השיגרה פותחת בהכרזה ויצירת מופע של האובייקטים 6808|00, 80/6 ו-א06ח1 (ליצירת מפתח ראשי יש צורך בכל שלושת האובייקטיס). שיס לב שלא קייס אובייקט מפורש עבור מפתח ראשי. בשלב הבא, השיגרה מגדירה את ההקשר להגדרת מפתח ראשי חדש. השיגרה מגדירה את המאפיין ח0ו660חח660ע0/ של האובייקט 6809|00 כך שהקטלוג יצביע על מסד נתוניס מסויס. לאחר מכן היא מגדירה את הפניית הטבלה לטבלה שנמצאת במסד נתונים זה. הפניה וו היא הטבלה שאליה תוסיף השיגרה שכתבת את המפתח הראשי החדש. כעת, השיגרה מגדירה ארבעה מאפייני אינדקס. הראשון הוא שס המפתח הראשי. הוא מופיע בתור ערך בעמודה שם אינדקס (6וח8! א06ח1) בחלון אינדקסים (65א06ח1) של הטבלה. שלושת המאפיינים הנותרים מייחדים את המפתח הראשי מאינדקס פשוט כלשהו. עליך להקפיד ולהגדיר מאפיינים אלה כפי שהם מופיעים בשיגרה 800% בעת יצירת מפתח ראשי. בשלב וּה, מפעילה השיגרה שתי שיטות 0סחס6סקה. הראשונה מצרפת את העמודה פ1וח8= מתוך הטבלה 52ז6וח6!/ץ!ווחא אל האינדקס. השיטה השנייה מצרפת את האינדקס לטבלה. לבסוף, השיגרה מגדירה את האובייקט 68004 בתור פַחוחזסא, ועל ידי כך משחררת את המשאביס ששימשו ליצירת המפתח הראשי. לעיתיס קרובות יש צורך בשדה שסוג הנתונים שלו הוא מספור אוטומטי, מספר שלס ארוך או טקסט, שישמש כמפתח ראשי. דבר וה משפר את ביצועי מסד הנתוניס בהשוואה למפתח ראשי המבוסס על שדות רבים. לעומת זאת, יש מקריס שהשימוש באינדקס המבוסס על שדות רבים הגיוני יותר במונחים של אופן השימוש בנתוני הטבלה. במקרה שאינדקס מבוסס-שדות רביס הולס את הצרכים, כל שעליך לעשות הוא לצרף יותר מעמודה אחת לאינדקס בטרס תצרף את האינדקס לטבלה. בדוגמה לעיל, ניתן להחליף את השורה: "ס1וחה" 0חהסססה.5חוחטוס6. 1אס בשורות הבאות: "סוחפח |" סחה6סס.5חוחט!וס6. 1אס "6הההח-" 0ה6כס.5חוחט!וס6. 1אס "ח0ו₪6|30" 0חהסססה.5חוחט!וס6. 1אס שורות אלו מגדירות מפתח ראשי בשלושה שדות במקוס בשדה אחד. השיגרה 007% יוצרת מפתח ראשי המבוסס על שדה יחיד; החלון אינדקסים הראשון בתרשים 3.14 מציג את תוצאת פעולת השיגרה 4002%. החלון השני בתרשים מציג את תוצאת פעולת השיגרה 400063 - שיגרה זהה ל- 8005%, למעט השינוי בשורות הקוד (שתי השגרות מופיעות בתקליטור המצורף לספר, בחלק של פרק 3). לא ניתן לקייס אלא מפתח ראשי יחיד בזמן נתון, ולכן עליך להסיר ידנית את המפתח הראשי בין הקריאה לשגרות 002% ו-₪00263. 4 הח 2000 466655 || ג 2 סז אבה[ 5 ץ'זבחוזק 5 שטסוח! טש 6זסחהז ח36= .א6בחו וח זס] סהזבח שחד .116/05 10 50 קט 56 ח63 6%בחו הַהוח5 סוחבח] הַחו0ח56 סובה הַהו0ח56 חסובוס 5זטסזוס 6%בח1 ץ'זבחווק ח36= .א6בחו פוחל זט] 6וחבח שחך סווחו .116/05 10 50 קט ₪56 ח63 6%בחו 5טו 6זסחבז תרשים 3.14: חלונות אינדקסים לאחר הפעלת השגרות 0026 ו-4007%3 השגרות 002%( ו-₪007%3 יכולות להיכשל מסיבות אחדות. השיגרה 0078577 שלפניך לוכדת שתי שגיאות: מפתח ראשי שכבר קיים (קוד שגיאה 2147467259-) וטבלה שכבר נפתחה (קוד שגיאה 2147217856-). כפי שנאמר, לא ניתן להוסיף מפתח ראשי חדש אס קיים כבר מפתח ראשי. בנוסף, לא ניתן לשנות את מבנה האינדקס אס הטבלה פתוחה. ()זזם 400% סט5 ץוםאק 6070 זסזזם הס 0 צוס)] ₪5 6841 חחוס 6סהּד. אסכה אסא 5 1!טז חזוס אס סח אסכה צוסא 5 1אכ וס 1 25 זסטוחטצו חחוס ץ6א ץזה וז ש6ח %6 זסז +א6חה60 8 076806 ' הסוח .סז קזח = הס 66 ה 600 /ו6. 6861 ( "06752 רחש ץ11רח3- ")30165 68%1.7 = 0|1+ 56% פרק 3: עיצוב טבלאות | 185 .סק 86 ץזהווזק 06 56% ' +חוסק 660/67 38 6זו660סזכ 06 65עו (6|טהוזהעאקז56) |6סב! סחד ' . ץ6א ץזהוחווק 8חה150א6 ץ|פטסוטסזס 8 וחסז ' :| 1 וו "ץסא זה הוזקץו]" = 6וחהּא. סד = ץ6אשזהוחוזק. 6 = 6טסוחש. צוס!|1!50158טא301706 = פ!וטאאססחז. האוצ 0ח5= .6 סז א06חו 0ח3 אססחו 60 חוחט|ס6 סחסססה ד "ס1החהּ=" החהססכה.5הוטוס6. 1אס 1 החסככה.65א06ח1. 1 וט .זז זואם י :ץ|אםז אק 9וח%ס = 0861 56% סטפ +ואם :זו אק 6 חו 1680 80!6+ זס1 6006665 ' חס ד 2147217856- = זססותטא.זזם + = 8 "פוח ד .56ש חו ץמ ח6זט6 52זסטות6וזץ!וחזה=" א0 150 ".610560 06 0ף %80|6 06 65זוטף6ז חסחסהזסקס " 5 60| 66 ץזהווזכן זסז 006685 ' חסחד 2147467259- = זססוחט.זחם 5|5611 5 הז 1אכ ה806ם זס= הסח ד סטד = עסאץזהחוזק. 1אכ זז (ז6טותטו\ו) 65.6!6%6אס6ח1. 1וטץ 5606 6506 + 0חם 1 + זססוחטאו = זסטוחטאו 1 )אסא 5 זס 0 זסז 5קזד ' 6 "+60 פָטם זס? שססחוצו 6018%6ח1 הסכ0" א5080וו חססק656.זו= ;זססוחטא. זחם זחוזק. פטטסס %ואם זא 6506 + 0חם סט5 0חם חוצ מכמה חריגות, הלוגיקה של השיגרה ז₪7אק00 והה ברובה לזו של אק00. 00 מאפשרת להפעיל תחילה רוטינה לטיפול בשגיאות באמצעות המשפט חס זסזזם. אזור ההכרזה כולל משפט חום חדש למשתנה מסוג ז0606ח1. מנגנון לכידת השגיאות מנצל משתנה זה בתור אינדקס בלולאה שעוברת על האוסף 65א086%ח1 של הטבלה. 6 הח 2000 406655 מנגנון לכידת השגיאות של 007857 מתחיל את פעולתו בתווית זזםאס. משפט חסחד...ז בודק בשלב ראשון אס הטבלה פתוחה. אס הטבלה פתוחה, השיגרה מציגה תיבת הודעה שמסבירה את הבעיה ומציעה פתרון לפני שתסתייס בצורה מסודרת. הפסוקית ]₪561 מזהה את קיומו של מפתח ראשי. במקרה זה, הרוטינה ממספרת את האינדקסים בטבלה, עד שמגיעה לאינדקס שהמאפיין שסאעזפּוחוזק שלו מוגדר בתור 6ז. כעת היא מוחקת את האינדקס ומחזירה את השליטה לשלב ההתחלתי של הגדרת מפתח ראשי חדש. פעולה זו הכרחית, מכיון שהשגיאה מבטלת את ההגדרות הקודמות. אס הטבלה אינה פתוחה וגם לא קייסם מפתח ראשי כלשהו, השיגרה כותבת את מספר השגיאה ואת תיאורה לחלון 60]3%6ו₪ו1₪ לפני שמסתיימת. מוצגת למשתמש תיבת הודעה שמורה לו להציג את החלון 11661316 לקבלת פרטי סיבת השגיאה. יצירת אינדקס הוספת אינדקס פשוט לטבלה אינה שונה בהרבה מהוספת מפתח ראשי. ההבדל העיקרי הוא שאין מגדיריס את המאפיין שְסַאץזפחזוזק בתור 6טזד (כברירת מחדל, ערכו הוא 8|56=). השיגרה א80010 שלפניך דומה במבנה שלה ל-א4002%. מלבד וה שאינה מגדירה את מאפיין המפתח הראשי, ההבדל העיקרי ביניהן הוא שהיא קובעת מפורשות סדר מיון לאינדקס. השיגרה ממיינת את הטבלה לפי העמודה 8012" בסדר יורד, ועל ידי כך גורמת לה להציג קודס את הרשומות המאוחרות (בהנחה שרשומת בעלות ערך כ1וח8= גדול יותר מתווספות לאחר רשומות קודמות). כשאתה קובע את סדר המיון, עליך לציין את מספר העמודה שעליה הוא חל. מספור העמודות הוא מבוסס-אפס (מספר העמודה הראשונה הוא 0). ()א0010 פט5 0. אכ צוס 5 6861 וחוס 6סהּד. אסכה סא 5 1!ס+ חחוס אססח. אסכ צוס)] ₪5 1אסו חחוס .א06חו ששח %06 107 +6%ח60 8 0768066 ' חס ות .קת = הס 66 חח 660 /ו6. 6861 ( "0052 16 /ץ|ו רה" )!סה ד. 681 = 011+ 56% סכ א06חו 06 56% ' 1 ו "ז79ו-35015 1" = 6וחהּ). סד = 6טסוחש. צוס!|50158!|טא06ח3011 = פווטצ]אססחז. הז%ו\ 0חם פרק 3: עיצוב טבלאות | 187 זז +50 65 56% 0ח3 אססחו 60 חוחט|ס6 סחסססה ד .6 0ף א06חו ששח סחסססה ד "ס1ההּ=" סחה6סקה.5הותטוס6. 1אסו 3050065660 = ז%0700זס5. (5)0הוחט!ס6. 1אסו 1 סחסקקה.65א06ח1. 1!ט+ .5 מ6סחת | 9וה%ס = 0011 56% 50 0ח= אכלוס טבלה באופן דינמי לאחר שעצבת טבלה והגדרת את האינדקסיס שלה, עליך לאמ אחת משתי גישות כדי למלא אותה בערכים. כשנתוני הטבלה המיועדת לאכלוס נמצאיס בטבלה אחרת, באפשרותך להגדיר ערכת רשומות בטבלת מקור הנתוניס ובטבלה החדשה. לאחר מכן עליך לנווט בשתי ערכות הרשומות בצורה מסונכרנת תוך העתקת רשומות לטבלה החדשה באמצעות השיטה 0086 (גישה זו עוברת בלולאה על ערכת רשומות, ולכן אינה פתרון מעשי לטבלאות גדולות מאוד). הגישה השנייה היא שימוש ב-501 להוספת ערכיס לטבלה החדשה, תוך התבססות על ערכי הטבלה המקורית. גישה זו אינה מבוססת על ערכות רשומות או השיטה צו200166, אך היא דורשת אובייקט 0ח8חחחס6 אחד לפחות. שימוש בערכות רשומות הגישה הראשונה מומחשת באמצעות השיגרה הבאה, ודורשת אובייקט 6066000 ואובייקט 68%9|00 נוסף לזוג ערכות רשומות (86607056₪). האובייקט 68₪|09 ושתי ערכות הרשומות חולקיס אובייקט ח6600חחס6 משותף. אובייקטיס רבים מאוד חולקים ביניהסם חיבור משותף, ולכן יש טעס להצהיר על אובייקט 6060000 ולהפעילו, לכל אחד מהאובייקטיס האחריס הזקוקיס לו. ()65ט|00/3 פט5 ח0ו66 08.60 ₪5 1 חהחס חחוס 0. אכ צוס 5 6861 וחוס צעשוסא 5 561 חחוס צעשוסא 5 562 וחוס (0152 רח6 זץ|ו רה ]) 9016 ושח פחוסה!טוקסק זסז 6%%ח00 56% ' הסוח 060.60 ק 66 = 1חחס 56% 1חס = 66000 חח660ע60. 68%1 56% 1חס = ₪ה6607006600ע60. 561 56% 1ח6 = ₪ה92.60/6000706600ז 56% 8 הח 2000 406655 .5 |החוףוזס 30 שו6ח חס 08560 660705605 הסקס ' 3002686560 , ,"652 רחש זץ!ווח3-" ה6ק561.0ז 006 ,6 5ווחוסק0א6ס וה ,ץ! הזוס חק 300 ,1 הח6 ,"5זסם רחס ץ!ווחה-" ה562.006ז 06 ,ץחה 6800 א6ס וה .6 סח 0 |החופוזס וחסז 600 60 6607056%5ז חפטסזח% קססן ' 1 חס 52.0 וטח סס 0 (16!05)0. 562 = (6!05)0ו=. (16|05)1-.75%2] = (16|05)1=. (75%2.16|05)2] = (16|05)2=. (16]05)3. 502 = (6!05)3ו=. 6 : ]אס סטסו. עסו 502 קסס | ה)ו\ 0חם= טפ 0ח= לאחר ההצהרה על אובייקטיס והקצאת החיבור לאובייקטיס שישתמשו בו, השיגרה פותחת ערכות רשומות בטבלה המכילה את הרשומות המקוריות, 5זסטוחס6!ץ!וחחה=, ובטבלה החדשה, 52זסטוח6ווץ!ווחהת. הקוד שלעיל מציג שתי גישות להקצאת חיבור לערכת רשומות. באפשרותך להקצות חיבור למאפיין ח06600ח660ע60 של ערכת רשומות - 400%3/065 משתמשת בטכניקה זו בטיפול ב-501ז. בגישה השנייה, תוכל להפנות אל אובייקט ח6600חח60 בשיטה ח6סס של ערכת רשומות - השיטה ח006 הפועלת על 5₪ז משתמשת בטכניקה זו. ניתן לפעול בכל אחת משתי הגישות בעבודה עס שתי ערכות הרשומות. השיגרה 65ט|400/8 כוללת שורת קוד שמראה כיצד להגדיר את המאפיין ח06600ח660ע6ה של 502 באמצעות פעולת הקצאה. שורה וו מסומנת בתור הערה. אס תחליט לנקוט גישה זו בטיפול ב-15%2, תוכל להסיר את ההפניה אל 1חח6 בשיטה ח6ס0 הפועלת על 52ז. המשפט 0...])000ם העובר על הרשומות של ₪פז מקונן בתוך המשפט 6תם...וזוצ המתייחס אל 19%1 (עקב הפניות הרבות אל 1561 בלולאה, משפט זה מאיץ את פעולת הקוד ומשפר את קריאותו). בתוך הלולאה, השיטה 800%68₪ מאפשרת את הקצאת הרשומה הנוכחית ב-50ז אל 561ז. השימוש בשיטה 0008%6 להשלמת פעולת השיטה 0016 הוא אופציונלי (הדוגמה מציגה אותה בצורת הערה, ולא כחלק פעיל בקוד). לאחר הוספת הרשומה הנוכחית מ-1502 ל-1551, השיגרה מתקדמת לרשומה הבאה ב-502ז. אין צורך להתקדם גסם ב-961ז, מכיון שמעבר הלולאה הבא יוסיף רשומה חדשה בסוף ערכת הרשומות 5%1ז. הלולאה ₪0 ממשיכה להתבצע עד הגיעה לסוף הקובצ (0₪ם) של 902ו. פרק 3: עיצוב טבלאות 189 שמירת ערכת רשומות לאחר שאיכלסת בערכיס את ערכת הרשומות והטבלה שעליה היא מבוססת (ואולי אף עדכנת אותן), באפשרותך לשמור עותק של ערכת הרשומות. עושיס ואת באמצעות שיטת ערכת הרשומות החדשה 586 בהתאם לסוג הקובצ שלה, המבוסס על תבנית בינארית קומפקטית. 2000 860655 מציע כמה דרכים לשמירה ואחזור של ערכות רשומות באמצעות תבנית חדשה זו והַסֶפּק המתאים שלה. השגרות שלפניך שומרות ערכת רשומות על ידי שימוש בסמן לקוח (זס5זט₪ זחפו|6), ולאחר מכן פותחות אותה. ()58/6₪51 פט5 זז 58/6351 6070 זסזזם חס אסא 5 561 וחוס ה זס5זט6 %ח6ו|6 חסמס ' 300560 = ח06800]זס5זט6. 561 ,660.000066000[סזק)ה6זט6 ,"52זס רחס זץ!והזה=" ה6ק 561.0 06 01 ,056 055 , " 0ב 053 ס רחש ץורח :6" 58/6. 561 :א 565 טפ זואם 565 זסזזס 681505 ץְ680ז|ה 8|6 קפזד ' חח ד 2147286960- = זספוחטא.זזם +[ "40 53 רת6זץ!וחחם= :6" |ווא 656 + 0חם .סז ]066 זס+ אואם ' = ".6130005065 זסזזס זס1 אוססחועט 6018%6וחרח1 צוסו/" אס ₪5 "2000 66655 6700508ו1] פחווחוחהזפסזק" ,וה6ט6פצ א 365 6506 סט 0ח= () 51 58/60ח6ק0 פט5 עס ₪5 561 הזוס .6 6607056%] 58/60 חסכס ' "20515 15 = זט 0ועסק" ,"3050 53זס 6 וזץ|וחה- :6" ה6ק 561.0 6071608 וחזו1ח60 %0 0זח! ‏ 56166060 +חוזק ' 36 (16|05)0-.561 8 " = " .8 6חחהא. (6|05)0ו=. 561 זחוזק. פטטסס סט5 0חם חלקה הראשי של השיגרה 58/6851 פותח סמן לקוח ומציב בו ערכת רשומות. לאחר מכן הוא מפעיל שיטה 58/6 של ערכת רשומות. שמירת ערכת רשומות לקוב אינו תהליך מורכב יותר מכך. הקוב 6ד0) (8₪ז1890!60 2868 הַססַחַ8ע6) הוא מינימלי בגודלו (1%8 בלבד בגירסה של מחבר הספר). יש בכך חיסכון משמעותי לעומת אחסון ערכת רשומות בצורת טבלה בקובף מסד נתוניס. 0 הח 2000 406655 אס אתה רגיל לשמור ערכת רשומות לאחר עדכונה, השיטה 58/6 תיכשל אם לא תמחק את שס הקוב הישן, או תיתן שס חדש. לחילופין, באפשרותך ללכוד את השגיאה, למחוק את גרסת הקוב הישנה ולאחר מכן להפעיל שנית את השיטה 58/6. שגרת הטיפול בשגיאות של 58/6651 מדגימה טכניקה זו. באפשרותך לפתוח ערכת רשומות שמורה באמצעות שתי שורות קוד בלבד, כפי שמדגימה 58/6651ח6ק0. השורה הראשונה מצהירה על אובייקט 86607056 ויוצרת מופע שלו. השורה השנייה מפעילה את השיטה ח6ק0 של ערכת הרשומות. המקור שלה הוא הקובצ ששמרה השיגרה 58/6₪51, וארגומנט החיבור שלה מפנה לספק 5061515%!!ו הכלול בחבילת המוצר 2000 166655. שורה שלישית מדפיסה את תוכן השדה מתוך ערכת הרשומות כדי לאשר שהמידע שבקוב תקין. שימוש ב- 5091 רעיון המעבר בלולאה על ערכת רשומות, רשומה אחר רשומה בזמן נתון קוסס למפתחים רבים עקב מוחשיות הפעולה. אכן, קל לדמות את המעבר מרשומה לרשומה ב-5902] ואת ההוספה של רשומות יחידות ל-5%1ז. יחד עס זאת, יעיל יותר לבצע את המשימה בעזרת קוד !501. בנוסף, הגישה המבוססת על 501 זקוקה לאובייקט 0חחוח0ס6 אחד בלבד מתוך הספריה פססכה. גישת המעבר בלולאה מסתמכת על אובייקטיס אחדיס הלקוחים מתוך הספריות 8ססכג ו-אספג יחדיו. אס קשה לך לכתוב קוד 501, באפשרותך לנצל את מעצב השאילתות התזותי של 460655 לקבלת גירסה ראשונית ותפקודית של תחביר 501 תקין לביצוע משימה, כגון הוספת רשומות מתוך טבלה אחת לטבלה אחרת. השיגרה 65501ט!800/8 ממחישה את יתרונותיו החסכונייס של קוד 501 (לאמיתו של דבר, אס היישוס שלך אינו חייב לדעת את מספר הרשומות שהוא מוסיף, ניתן לקצר עוד יותר את הקוד). () |00/3|06550 סט5 חר 0.00 0 5 601 וחוס זז 5 0060ה5וססחו וחוס 1 ווחופ .1 5%80806חז ' וו 208.00 עוסא = 601 56% 1 זז 6% 800 הס 6 החסס 6 56% ' 600008א6 61076 ' 01 הטסו חסו66 חח 60600.0 6 = חה0 660 666 . 8 " 06752 וח6!ץ!ןוח3= סד ד155₪" = 6% דחו ס6. ;זט רש ץ| ור = = *.5זסס רחסו ץ!ור8= ד6= |55" 0% = 06ץ ו 60. יחו 66076אם. הזו/ 06ח= .0 6001 660705 ץחה עוסח +וסכסת' ".80|6? 06 60 80060 6ז6/ סז ".8 050060 שחו = 5071 "2000 466655 11670501% סחווחרתהזטסזק" ,הסטהותזס?ה1פע ,501 אס8 וו טפ 0ח= פרק 3: עיצוב טבלאות 191 השיגרה פותחת בהצהרה ויצירת מופע של אובייקט 800 60. היא משתמשת במשפט סחם... וזו\ כדי לפשט את הגדרת מאפייני האובייקט ולהפעיל את השיטות שלו. קטע הקוד הכלול במשפט 6ַתם... וטו מתחיל בקביעת המאפייניס ח60/660006600 (-6 6018007 של האובייקט 6חפ 60 (בגישה זו, טקסט הפקודה יהיה תמיד משפט 501). קטע הקוד מגדיר את המאפיין 6מְץְד0ח3 60 בתור 6%% 30607 כדי למטב את הביצועיס (אס לא תגדיר את המאפיין קץ0ח8ח ו 60, 66655 יצטרך לקבוע את הסוג של האובייקט חח 60 בטרס יוכל לטפל בפקודה). לבסוף, קטע הקוד קורא לשיטה 0060%66א₪ עס הארגומנט האופציונלי 80060וסזחו. בסיוס השיגרה, 0 ו מכיל את מספר הרשומות שמשפט 501 טיפל בהן. משפט תיבת הודעה נוסף מנצל את 50060וו₪0חו כדי לדווח למשתמש את מספר הרשומות שנוספו לטבלה החדשה. עבודה עם נתונים בתבניות אחרות בפרק 2 למדנו כיצד להשתמש בספק 08 015 4 36 כדי לפתוח את מסד הנתוניס סחושחזזסו! מתוך יישוס. באפשרותך לעשות זאת כדי לגשת לנתוניס שנמצאיס במסד נתוניסם מסוים של 8066055 מתוך כל מסד נתוניס אחר של 460655. שיטת עבודה זו ישימה אפילו לנתוניס המאוחסנים בתבניות אחרות שעבורן קייס ספק 8 015. גס במקריס שספק 8 015 אינו זמין, באפשרותך ליצור קישור אל מסד נתוניס אחר באמצעות 0, לגשת בקלות למידע שהוא מכיל ולנצל את יתרונותיו של מקור נתוניס מקושר כלשהו. באפשרותך לנצל את ספק 4 366 כדי לפתוח מקור נתוניס מסוג 6%א5%. תרשים 3.15 מציג גיליוו עבודה פשוט בחוברת עבודה של |66א5, שנקראת 55א.5%00615ט6. הגיליון 1 מכלל טווח בשס 650675 (ראה תיבת שם - אסם 6וחאּא) ובו מידע אודות קוד לקוח, שס החברה, שס איש קשר ותנאי תשלוס. השיגרה שלפניך פותחת טווח בחוברת עבודה של 2000 |5%68 באמצעות 2000 ₪06655. ()0706ו8%50כ |אסחוזק ה6ק0 פט5 סו חח 8.00 00 עשסא 5 1 החש וחוס 5 561 וחוס 56 30 חסמס ' = 8 ";08.4.0ם 670508.26%.01ו1]= ז06וטסזס" ה6ק1.0החס 8 5;7|א.005%070675 8003 46665560/ פחות וח8זססזק:66=6ז7ט50 פאה" ";8.0 |66א =670165ק0סזק 060ח06אם" שא = 561 56% 3% = 6קץ ד50זט6. 561 6 וק 0600 301 = 6קץ 0687 961.1 306 , , ,1 החש ,"656065" ח561.0726ז 041 605560 8 %חוזכן 0ח3 6607056%ז חסמס ' 501.0 טח סס 36 . (6!05)1וח. 5%1ז ,6ט|3/. (6!05)0ו=. 561 זחוזק. פטטסס ]טסו 561 קסס | סט 0ח= 2 הח 2000 406655 | |5)=. ספ (וסטחןעל 2363 1005 6הזם= >זספת1 שוסוע ובש 6|ם | הר א|? 9 ₪ 5 9-6 5₪,| 8 ₪ שםן 5 ]| -₪ | -6 ₪ ₪ | | + >| זפ 37| 3514308 001801 814808 ]1301ח0ס | 8ההב3ץ ההק 60 6051080 צְהם 8910 |808ו/ חסוזהסוופטם יי וז | זי 5 30 .8 08ן28) אספסזסוו! חסוזהסוופט 8 8 זפמס|פשפ םי ססוויו ז 59 ז0 צֶהם 5 פסם טוזס// [פחזט)ח| |8סזמ3 הטסו ו וש 8 |8סזמ3 הטסו 5 סד 6ועם שדוםן 6 | הסח הוור סט ו 8 פפטףוח 0 ך טפ/ 8 80 םזסו!ש] צהם 5 זט !פיפ - חסוזהסוופטם בו כ ווח3ך |[ חזטס נססוי 850 |868ו/ זחסו/ 1 הח הרזה סז חסוזהסוופטן זסו ח880!חסם חזוצ [החזנוס [מם/י 35 30 ם/* 008 60888 ₪ חסוזהסוופט ץצ ו יי 0 8 808פזסווש! ₪ חסוזהסוופט זו ווחש זפוט ו פשוזס ה 5 צְהּם זט ס|פ/יפ ן. [+ן / 56603 ), 506602 0, 56611 ו | + ]| תרשים 3.15: 460655 יכול לטפל במידע שבגיליון עבודה של |66א5 השיגרה 0318500166 |אטחוזקה6קס משתמשת באובייקט ח8600חח60 כדי לפתוח חוברת עבודה של |68א5%. השיטה ח6ק0 של האובייקט 1חח6 יוצרת חיבור אל קובצ חוברת העבודה. הספק בקריאה זו הוא אותו ספק בו השתמשנו עבור קבצי 4 26, הארגומנט 5 860ח00א₪ מציין תבנית תואמת לקבצי 2000 |68אם וארגומנט מקור הנתוניס מצביע על חוברת עבודה של (5%66 בספריה 460655 פַחווחות8זססזק שבכונן 6. ארבע השורות הבאות בשיגרה יוצרות ופותחות הפניה לערכת רשומות שמוגדרת בטווח 6505 בקוב 15א.5ז656006. לולאת ₪0 שבסוף השיגרה, מדפיסה את שני השדות הראשוניס שבערכת הרשומות לחלון 6013%6וחוח1. לאחר פתיחת ערכת רשומות עבור מקור נתונים ב-66א5, באפשרותך לבצע כל פעולה ש-60055 מאפשר לבצע על מקור רשומות, כגון עדכון ערכי שדות. ההבדל במקרה זה, הוא שהיישוס מעדכן ערכים בטווח בחוברת עבודה של |66אם, ולא ערכיס בטבלה של 5 . שגרת הדוגמה 6סזטס30550כ [אסחוזקהסקס ממחישה בצורה ברורה את עוצמתס של ספק: 400 ו-08 01 כחלק מפעולת יישוס ₪06655. פרק 3: עיצוב טבלאות 193 שימוש בספק .1504501 0 8460655 עובד עס ספקי 01508 נוספים, כגון 504501, הפועל על כל מקורות הנתוניס מסוג 0086. למרות שקייס ספק מיוחד עבור ז6ז56 .501 50%סזסו1א, השיגרה שלפניך מנצלת את הספק הכללי 0086 01508 כדי להמחיש את השימוש בספק בעבודה עס מקור נתוניס 0086 כלשהו. ספק זה מתייחס תמיד למקור נתוניס 0086, ולכן באפשרותך להשתמש בו בתיאוס עס אַ5כ. השיגרה מציגה ספק 1504501 המפנה למסד נתוניס 7005 567/67 .501, כדי להדפיס את פרטי המחבר: מספר זהות, שס פרטי ושס משפחה. (050= |ס0הפטסזח 66%00861 סט5 חס חח 8.00 0 עוסא 5 1חח6 וחוס 5 561 וחוס .6 5 300 זססועסזק .508501 חשואו 665זטס50 0086 חסמס ' ";05ק = 56; 1502501!]= ז06וטסזס" ה6ק1.0החס אש = 561 56% 3% = 6כץ 50 ט6. 561 6 וק 0600 301 = 6קץ 0687 561.1 6 , , ,1הח6 ,"5זסתשטּ" ח51.0726ז 041 6056 8 %חוזכן 0ח3 6607056%ז חסמס ' 501.50 טח ספ 36 . (16!05)1ת. 561 , (6!05)2ות. 51 ,6ט|3/. (6!05)0ו=. 561 +חוזק. פטטסס ]טסו 501 קסס | סט 0ח= השיגרה 08ם |0פטסזח 66002861 מתחילה בפתיחת חיבור אל מסד הנתוניסם .501 5 56/6 ומפעילה את השיטה ח6ק0 של האובייקט. ארגומנט הספק מציין את ספק 1, ואילו הארגומנט א05 מכיל את נתוני החיבור ופועל בתור ארגומנט 808 6זטס5 של ספק 4 26%. השיטה חפקס יכולה לציין את נתוני מחרוזת החיבור, מה שמבטל את הצורך להתייחס ל-א5כ. המשפט שלפניך מראה כיצד פותחים מסד נתוניס 5 ]5076 501 מבלי לציין אפס : 8 5667 501= חם/זחכ; 501ב150=זס0וטסזס" ה6ק1.0 החס "; =0שש; 58= 05;010 טק = 85 ד ;82200 6= חם/ק5 5" שמו של 60אז56 501 הוא 6482200. שיס לב שמחרוות התיבור מכילה גם את הארגומנטיס של זיהוי המשתמש והסיסמה. מחרוזת התיבור ייחודית למסד הנתוניס שאליו אתה מתחבר. ארבע השורות הבאות של השיגרה פותחות ערכת רשומות בטבלה פזסוטטוה במסד הנתוניס 5פנוק 567/61 .501. תחביר השיטה ח006 והה לזה ששימש לפתיחת טווח בחוברת העבודה של |68א5. היחס הסימטרי בין שני מקורות שוניס אלה ממחיש את עובצמתו של 400 עס ספקי 08 015. לולאת ספ הסופית עוברת על הרשומות כדי 4 הח 2000 466655 להדפיס את מספר הזהות, השס הפרטי ושס המשפחה של כל מחבר. המאפיין 6טופ הוא ברירת המחדל של האוסף ₪68!065 של האובייקט ערכת רשומות, ולכן אין צורך לצייו אותו (שים לב שהארגומנט השני של השיטה שחוזס.0ַטפ6ס אינו מפנה מפורשות למאפיין | 6וט|%8 | של האוסף ‏ 0605). | העיצוב | הכולל | של השיגרה 8 מראה ש- 2000 06655( יכול ליצור קישור אל מסד נתוניס ]5 501 באותה קלות שהוא יוצר קישור אל חוברת עבודה של |68אם. השיטות 780506708%82856 ו-5/6750768057661ח3ד של האובייקט 06ח6סס הן אמצעי קל וחסין תקלות לקישור לנתוניס שנמצאיס ביישוס אחר; הן אף אינן תלויות בהפניה לספריה סאכ. שיטות אלו חושפות את מקורותיהן באמצעות החלון מסד נתונים, בעוד שהספק 8 015 מספק ממשק תכנותי בלעדי למקורות הנתוניס שלו. יכולתך להפיק תועלת מחשיפת המקור באמצעות החלון מסד נתונים תלויה ביישוס שלך ובהעדפות של המשתמשיסם בו. שימוש בשיטה ס56הַּבּז3כ5)6חב3ּוד או בשיטה וכ 5 הבו ד השיטות 7780516728%82856 ן-6805066%ז50ז50הפזד הן תוצאה של פקודות מאקרו המאפשרות ייבוא, קישור וייצוא. השיטה ‏ 0805066%ז507ז510חפזד תומכת במיגווןו רחב של תבניות ₪5ס] ו-|6אם. השיטה 560708182856ח8זד תומכת במקורות נתוניס 0086, כגון ]567/06 501 ו-0780|6, וגס במקורות נתוניס 150%6, כגון אסספּזבּק, 00856, סזקאס= ‏ 1167050 ו-36%. השיטות 805/0708%80856]ד ו-6805766%ז50ז516ההזד מנצלות את מנהלי ההתקניס של 1546 ו-0086 המשווקיס עס 866655. מידע רב-ערך אודות שיטות אלו ניתן למצוא במערכת העזרה המקוונת של 406655 ובחלון מאקרו הפתיח בתצוגת עיצוב, הכולל תיבות רשימה נפתחת שמהן ניתן לבחור ארגומנטיס אפשריים. השיגרה 605000675 |אאחו! שלפניך מציגה את תחביר השיטה 6805066%ז6750)פחפוד. באפשרותך להשוות טכניקה זו עס התפקודיות של ספק 8 015. שגרת הדוגמה יוצרת קישור לטווח 6056070615 בחוברת העבודה 8א.65000615 (הקוב 65א.560675ט6 כלול בתקליטור המצורף לספר). חוברת העבודה מבוססת על תבנית 97 |68א5, אך תומכת גס בגרסאות 3-5 של |66אם. 68050660ז560750ח3וד תומכת גס בתבניות של פטססש, כגון 1 3א/ ו-4א/). האובייקט 06ח6סספ יוצר טבלה מקושרת שנקראת 605000065 |א במסד הנתוניס. הארגומנט האחד לפני אחרון של השיטה 506750768050666ח8זד (1-) מציין כי הטווח של |66א₪ כולל שמות שדות בשורה הראשונה. ()5ז05%000 |אאחו! פט5 סו חח 8.00 00 עוסא 5 1 החש וחוס 5 561 וחוס .אחו| 6 86 ץו|868 וה זפסזק 0+ 0וח6סכ שפט' = ,686|97א065ץ ]36527680570660 ,%ח 861 5076805066%ז510ח3 ד. וחספ > ,"5|א.5507675 008003 66655/ חחורתרחה זססזק :0" ,"60560065 |א" "5ז6₪5%0006" ,1- פרק 3: עיצוב טבלאות | 195 0 56 30 חסכס ' שא = 561 56% הסוח .660166 = הס 66 ה ה 660 6. 561 3% = 6קץ ד50זט6. 561 6 וק 0600 301 = 6קץ 0687 961.1 6 , , , ,"0056065 |א" ח561.076ז 041 "605% 8 %חוזכן 0ח3 6607056%ז חסמס ' 501.50 וטח סס (16!05)2ת. 5%1 ,6ט|3/. (6|05)0ו=. 51 +חוזק. פטטסס ]אס עסו 561 קסס | סט5 0חם לאחר שהשיטה 66%ה50075070805ה1?8 מתבצעת, היישום יכול לנצל את קבוצת ההחזרה 560 חז6ז) שלו בצורה דומה לזו שמתקבלת מספק 80 015. ראשית, פתח את ערכת הרשומות בטבלה המקושרת. לאחר מכן טפל בערכת הרשומות בעזרת קוד כדי למלא את דרישות היישוס (605000815 |אאחו! מדפיסה שדות אחדיס לכל שורה). השיטה 5/0708%80856ח3זד כוללת מיגוון גדול יותר של אפשרויות גישה לנתוניס לעומת הפקודה 5/675076805066%ח9זד. האפשרויות כוללות את מנהלי ההתקניס ההיסטורייס של 154% ו-86ס0. הואיל ורוב מסדי הנתוניס תומכיס ב-86ס0, שיטה זו יכולה לגשר כמעט אל כל מקור נתונים של מערכת לניהול מסדי נתוניס יחסיים (פ1א8ס5). יתירה מזאת, התחביר של השיטה 5)6708082856ח8זד דומה לזה של 6805066%ז5/6750ח8ז ד, מה שמקל את השימוש בה. השיגרה 5זסהזטה60086ח!ו1 מנצלת את השיטה 5)075076805766ח8זד כדי ליצור קישור אל הטבלה פזסושט במסד הנתוניס 5פטק של ז6שז56 -501. זסחזטה0086>הו1 יוצרת קישור אל הטבלה פוסושטא תחת השס פזסושטס0 במסד הנתוניס הנוכחי. אס 5זסהט/00 כבר קיימת במסד הנתוניס הנוכחי, השיטה שומרת את העותק המקורי מבלי להתריע על כך, יוצרת עותק נוסף ונותנת לו את השס 00751ט/800. ()5זסרסטה/)כ סאחו! פט5 חס חח 8.00 00 צוסא 5 1 החש וחוס 5 561 וחוס .אחו| 6 86 ץו|68ו8 רפסק 60 0וה6סכ שפט' = ,"08680856 0086" ,אהו 61 6708%80856ז5חהּ ד. חספ > ,"05טס=855 דהכ;=//ק;58= 5;1סטק = 86;5סס" "5ז0ח%ט600" ,"5זסחזטג" ,3016 6 00 56 30 חססס ' שא = 561 56% סו חח ס.0[60 זל 66 = הס 66 ה ה0ס66ע6. 561 3% = 6קץ ד50זט6. 561 6 וק 0600 301 = 6קץ 0687 561.1 6 , , , ,"סט 400" ח5+1.026ז 6 הח 2000 466655 01 605% 8 %חוזכן 0ח3 6607056%ז חסמס ' 51.50 טח ספ (16!05)2ת. 5%1 ,6ט|3/. (6|05)0ו=. 561 +חוזק. פטטסס ]טסו 561 קסס | סט 0ח= הארגומנט הראשון המועבר אל 500:08)89856ח8]ד מציין את סוג ההעברה אל מקור הנתוניס ; הארגומנט %חו861 יוצר טבלה מקושרת במסד הנתונים. שני הארגומנטיס הבאים מציינים את סוג מסד הנתונים ואת שמו. (השיגרה 5זסחזש600864חו1 מגדירה מקור נתוניס מסוג 0086. לאמיתו של דבר, דוגמה וו משתמשת במסד הנתונים המקובל 5פט של זסעז56 501). הארגומנטים הנותרים מצייניס את סוג אובייקט מסד הנתוניס שעליו ברצונך לבסס את המקור, את שמו במקור המרוחק (פוסחזט1) ואת שמו ביישוס שלך (5ז0ח6ש000). שאר חלקי הקוד של השיגרה מבצעים פעולות והות לאלו של שאר דוגמאות הקוד בסעיף זה. פרק 3: עיצוב טבלאות | 197 4 טיפול בנתונים באמצעות שאילתות שאילתות הן סוס העבודה של יישומי מסד נתוניסם. תוכל ליישס אותן כדי להשיג מטרות רבות. שאילתות מאפשרות לטפל בנתוניסם שנמצאיס בטבלאות מסד נתוניס. תוכל לנצלן כדי להגדיר תכניס של טפסים ודוחות. שאילתות יכולות גם לציין את מקור הנתונים של דף ט6/ש. אחת הסיבות העיקריות לכוחן הרב של שאילתות היא המיגווןו העצוס שלהן. בפרק 2 למדנו כיצד לעצב שאילתות החזרת שורות (סחוחזט6ז-שוסז) ושאילתות חסוזהזסקס >וטס (שאילתות פעולה בתבנית המוגדרת על ידי המשתמש), באמצעות אובייקטי נתוניס 6% (ססה). ניתן גסם לבצע פעולות אלה ואחרות באמצעות שפת שאילתה מובנית (/50). מפתחים משתמשים לעיתיס קרובות ב-501 כדי לטפל בטבלה על ידי חילוצ שורות ועמודות נבחרות, אך אלו אינן האפשרויות היחידות לטיפול במקור נתוניס. שאילתות חסטאזפקס א|טט קלאסיות כוללות צירוף ומחיקה של רשומות ועדכון שדות. ניתן גס ליצור שאילתות חדשות באמצעות .501. בפרק זה נדון בנושא השאילתות של 2000 260655 במיגוון רמות. > סקירה כללית על סוגי השאילתות השונות. הפרק עוסק בטיבן של שאילתות, במה שהן מאפשרות לעשות ובאופן בו הן משלימות זו את זו. 4 תיאור טכניקות ידניות לבניית שאילתות. סקירה וגו משרתת מטרות רבות. היא מרחיבה את הסקירה הכללית בהצגת שלבים ביצירת כל אחד מסוגי השאילתות. 4 הפיכת משימה לאוטומטית באמצעות שאילתת פעולה. אפשר לנצל את ב8 כדי ליישס באמצעות קוד שאילתות החזרת-שורות ושאילתות פעולה פשוטות. > התבססות על 501 באמצעות קוד. כאן נשליס את הסקירה מפרק 2 בנושאי ססג ונדוו בתצוגות ושגרות מאוחסנות. > טיפול במסדי נתוניס מרוחקים. גרסת 2000 מטפלת במסדי נתוניס מרוחקיס טוב יותר מגרסאות קודמות. שימוש בשאילתות למטרה זו ישפר את היישומיס שתכתוב ויעלה את רמת הביצועים שלך בתור מפתח בסביבת 60655(. פרק 4: טיפול בנתונים באמצעות שאילתות 199 סקירת סוגי שאילתות ניתן להתייחס לשאילתות ככלים לחילוצ מידע ממסד נתונים אחד או יותר, אך קייס מיגוון עצוס של דרכיס בהן שאילתות מבצעות משימה זו. בנוסף, שאילתות יכולות לבצע פונקציות מסוגים שוניס, במיוחד אס כולליס את תכונת הגדרת הנתוניס של וקישור למקורות נתוניס מרוחקים. בסעיף ה נסקור אפשרויות שאילתה רבות ש- 2000 466055 תומך בהן. סקירה זו תספק את המידע הדרוש כדי לבחור בסוג השאילתה הנכון למצב נתון. שאילתות בחירה (56166%) שאילתות בחירה מאפשרות ליצור קבוצת משנה של פריטי מידע בטבלת מסד נתוניס אחת או יותר. לרשות המפתחיס עומד מערך אפשרויות עשיר שמאפשר בחירה ועיבוד נתוניס בדרכים שונות. אפשרויות אלו יסייעו לך לקבוע את ערכי העמודה והשדה בקבוצה המוחזרת 560 חז6₪0א) מתוך שאילתה. שאילתות בחירה הן מקור רשומות טוב עבור טפסים, דוחות ודפי פ6/, ולכן שליטה בעקרונות הבסיסיים שלהן תשפר מאוד את עבודתך עם רכיבי פיתוח נוספים. שאילתה הבוחרת קבוצת משנה של שדות ברשומה היא אחת השאילתות הבסיסיות ביותר שיש. נוח מאוד להשתמש בה כשרוצים להציג עמודות אחדות מתוך טבלה הכוללת עמודות רבות. חילוצ מספר עמודות חלקי יכול להאיצץ את פעולת השאילתה. 5 מחשב שאילתת בחירה בכל פעס שהוא פועל, מובטח כי המשתמש יקבל תמיד את המידע העדכני ביותר. כשיישוס אינו אמור לחשוף את המידע העדכני ביותר מהטבלה, יש להשתמש בקריטריונים שוניס כדי להגביל את ערכי השורה שהשאילתה מחזירה. לחילופין, תוכל להפעיל סוג אחר של שאילתה כדי ליצור טבלה זמנית חדשה שמכילה קבוצת משנה של עמודות ברגע מוגדר בציר הזמן. קביעת קריטריונים בין אס שאילתת בחירה בוחרת קבוצת משנה מתוך מקור נתונים ובין אס לאו, היא יכולה להגביל את השורות בקבוצת המשנה. באפשרותך לציין את השורות שתוחזרנה על ידי קביעת קריטריוניס מתאימים. השתמש בשורה קריטריונים (67168) ברשת עיצוב שאילתה כדי לקבוע קריטריונים. קביעת קריטריוניס באמצעות קוד כוללת את הפסוקיות =8פה/ ו-6א1/₪ במשפטי 501. הפסוקית =אשהע נוגעת לרשומות בודדות במקור הרשומות עליו מבצעיס את השאילתה, אך הפסוקית 6א4/1 יכולה להגביל את קבוצות ההחזרה בהתאם לערכי הפסוקית 8 6₪000. שאילתות בחירה יכולות להחזיר קבוצות שורות שמתאימות לערך או לטווח ערכים מסוים. בעת טיפול בטבלת ערכים גיאוגרפיים, ניתן להגדיר שאילתת בחירה שתחזיר את שס העיר והמדינה (בארהייב) בהתאם למיקוד. אס הרשומות במקור נתוניס מכילות שדה מסוג תאריך/שעה, כגון תאריך הזמנה או חשבונית, תוכל לבחור הזמנות או חשבוניות מתאריך מוגדר. ניתן להשתמש גם באופרטורי השוואה, כגון גדול (<), 0 ה 2000 406655 קטן (>) או שונה (<>), כדי לבחור טווח שורות. אפשר להתאיס את הפריט המבוקש לערך מחרוזת מוגדר, או לטווח ערכיס באמצעות תוויס כלליים (0ז68 6וואו). תוויס אלה משמשיס לקביעת טווח ערכי מחרוזת. לדוגמה, הקריטריון |*5 מתאיס למחרוזות |58 ו-|58, מכיון שהתו * מתאיס למספר תוויס כלשהו. לעומת זאת, התו ! מתאיס לתו אחד בלבד, ולכן הקריטריון |?5 מתאיס למחרוזת |58, אך לא למחרוזת |580. פונקציות צבירה (סִזהּחַסִיו9ַטַ3) מפתחים יכוליס להשתמש בפונקציות צבירה (פ5חסט6חט= 6ְהּחַסזִחָפָה) בשילוב .501, כדי לסכם את הרשומות במקור נתוניס. פונקציות צבירה טיפוסיות מונות, מסכמות או ממצעות את רשומות מקור הנתוניס כתגובה לשאילתת בחירה. ניתן להפעיל פונקציות צבירה כדי לחשב את מידת ההשתנות (שווופפוז3) של מקור רשומה (66ז50 660706]) באמצעות פונקציות כגון 506 או פז3. אפשר אף לחשב את המינימוס או את המקסימוס של קבוצת ערכים בשדה בעזרת פונקציות צבירה. שאילתות בחירה יכולות ליישס פונקציות צבירה בשילוב עס הפסוקית 8 60005. הדבר מאפשר לשאילתה לחשב נתוני צבירה עבור רשומות מקובצות במקור נתוניס. שימוש בפונקציות צבירה יחד עס פסוקית צ8 68005 מאפשר ליישוס להחזיר את מספר שורות הפריט עבור כל הזמנה בשאילתת בחירה. צירופים (5חוס1) אפשר לבסס שאילתות בחירה על טבלה אחת או יותר, על שאילתה אחרת או על שילוב כלשהו של טבלאות ושאילתות בחירה. בעת בחירה מתוך טבלה אחת או יותר, היישוס ייקשר את הטבלאות באמצעות שדות משותפיס אחדיס. אס מסד הנתוניס מקשר טבלאות באמצעות הגדרות שלמות הקשרים, 66655 יוהה ואת בעצמו ויצרף אותן כשתשלב אותן יחד בתור מקור רשומה של שאילתה. 860655 מזהה גס שדות משותפיס במצביס נוספים, ועל ידי כך מאפשר לקייס, לשנות או להחליף קשרי גומלין שזוהו אוטומטית, בין טבלאות. ברירת המחדל לצירוף טבלאות היא שילוב כל הרשומות בין שתי טבלאות שאחד משדותיהן מכיל ערך תואם. צירוף הטבלאות 070675 ו- 061918 5ז06זס של מסד הנתוניס 6חושח+וס בשאילתת בחירה פשוטה, מסוגל להחזיר את כל שורות הפריטיס לכל הזמנה. במצב זה אנו מעונייניסם רק בפריטיס שתואמיס להזמנות. טבלאות הקשורות זו לזו יכולות להכיל בטבלה אחת ערכי שדות ללא ערכים תואמיס בטבלה המצורפת (לדוגמה, תוכל לאחזר נתוניס ממסד נתונים ישן שאינו מאלצ שלמות קשרים). היישוס יכול לאהות רשומות שאין להן רשומות תואמות, על ידי הכללה מאולצת של כל רשומות טבלה מצורפת אחת או יותר לקבוצת התחזרה. במצב זה, כל הרשומות המשולבות המכילות ערך מטבלה אחת, והחסרות שדה צירוף מהטבלה האחרת, תצבענה על רשומות לא תואמות. פרק 4: טיפול בנתונים באמצעות שאילתות | 201 תוצאת זוג כלשהו של ערכות רשומות מצורפות יכולה להצטרף לטבלה או לשאילתה אחרת. אס אתה מנוסה ב-501 תוכל לפתח קבוצת החזרה על ידי טיפול במספר טבלאות ושאילתות באמצעות קשרי גומלין המבוססים על צירוף מורכב, ואת במשפט אחד בלבד. מתלמד ב-501 עשוי למצוא שבטותח יותר להעדיף בניית שאילתות בצורה גרפית ברשת עיצוב השאילתה כשהמדובר בזוגות טבלאות או שאילתות אחרות. כשמתכנני מסדי נתוניס נוקטיס צעד מקדמי וּה, הס יכוליס לאמת את תוצאת צירוף שתי הטבלאות לפני צירוף קבוצת ההחזרה לטבלה או שאילתה אחרת. עדכון נתוני מקור אחת התוצאות הנפוצות של שאילתת בחירה היא קבוצת רשומות דינמית ִסִ5חץ0). קבוצת רשומות דינמית היא ערכת רשומות ששומרת מפתחות ראשייס במקוס נתוניס בפועל. שאילתת בחירה מאפשרת ליישוס לשנות את השדות ברשומות שעליהן מבוצעת השאילתה (לשס הנוחות, נשתמש במילה רקע). לעיתים, השדות שברקע שאילתת בחירה אינס ניתנים לעדכון. בשאילתות בחירה המבוססות על טבלה בודדת או שתייס בקשר יחיד-ליחיד, קיימת תמיד אפשרות לעדכן את רשומות הרקע (אלא אס משתמש אחר נועל אותן). בדרך כלל ניתן לעדכן טבלאות שקשרי הגומלין שלהן הוא מסוג יחיד-לרבים. הצג את השאילתה בתצוגת גיליון נתונים והבט בשורת המצב כדי לקבוע אס שדה מסויס הוא בר-עדכון. אס השדה אינו כזה ויש לך צורך לשנותו, שקול גישה ישירה לטבלה שבה הוא נמצא, או עיצוב מחדש של השאילתה. שמירת שאילתות כששאילתות הן מורכבות. כדאי לשמור אותן ואחר כך להפנות אליהן בשאילתות אחרות. לדוגמה, שאילתת בחירה המצרפת שתי שאילתות נוספות (או יותר), ולאחר מכן מפעילה עליהן פונקציות צבירה של 501 כדי ליצור סיכומי נתונים. שמור שאילתה מורכבת והפנה אליה בשאילתות אחרות כדי להימנע משגיאות תחביר. לעיתים, כשמצרפיס שאילתה אחת או יותר כדי לקבל שאילתה חדשה, לוגיקת השאילתה עלולה להיות מורכבת מדי לכוח החישוב של מנגנון מסד הנתוניס. במצב זה, שמור שאילתת קלט אחת או יותר כטבלה זמנית. לאחר מכן, השתמש בטבלאות אלו כתחליפים עבור השאילתות. חשב מחדש את הטבלאות הזמניות בכל מקרה שחל שינוי בנתוני הקלט של הטבלאות המקוריות. שאילתות פעולה (חסז6%) במקוס להחזיר קבוצת שורות כמו בשאילתת בחירה, שאילתות פעולה (ח600 65 מבצעות את משימתן מול טבלה אחת או יותר. שאילתות פעולה מאפשרות להפעיל אוטומציה של יישוס. אפשר לעצב שאילתות פעולה באופן גרפי, והן תמשכנה לבצע את הפעולות התיוניות: הוספה, מחיקה ועדכון רשומות. שאילתות פעולה משתמשות ב-501 לביצוע משימותיהן, ולכן ניתן לנצל אותן כפקודות טבלה 2 הח 2000 406655 מתוחכמות לטיפול ברשומות. מפתחי 8466055 מנוסיס תוהיס מן הסתסם על שאילתת הפעולה של 460655 שנקראת שאילתת יצירת טבלה (180!6 ₪8%6). שאילתת פעולה זו מאפשרת הגדרת נתוניס וגס טיפול בהם. שאילתת יצירת טבלה היא הנושא המרכזי בסעיף שאילתות יצירת טבלה שבהמשך הפרק. שאילתות הוספה שאילתות הוספה (0060865 6ח6סקה) מאפשרות להוסיף רשומות לטבלה אחת המבוססות על אלו שבטבלה אחרת. הפעל שאילתת הוספה כשהיישוס מקבל רשומות ממקור חיצוני, כגוו טבלה שנמצאת במחשב אחר. טבלת המקור חייבת להיות במסד הנתוניס הנוכחי, או לפחות מקושרת אליו. טבלת היעד יכולה להיות במסד הנתוניס הנוכחי או בקובצ מסד נתוניס אחר. שמות השדות בשתי הטבלאות יכולים להיות שוניס זה מזה, אך חייבת להיות תאימות בין סוגי הנתוניס כדי לצרף ערכיס משדה בטבלה אחת לשדה תואס בטבלה אחרת. טבלת המקור אינה מחייבת שכל השדות יהיו בטבלת היעד. קיימיס מצביס העלולים ליצור שגיאות בשאילתות הוספה. בעיקרון, עליך להימנע מהוספת ערכים לשדה מספור אוטומטי, מכיון ששדה מסוג וה מתאכלס מעצמו. אס תנסה להוסיף רשומה שגורמת לכפילות בשדה המפתח הראשי, היישוס ייצור שגיאה של הפרת מפתח. 460655 לא יאפשר להוסיף רשומות, אס הוספתן מפירה את תקפות הטבלה או את כללי שלמות הקשריס. שאילתות מחיקה שאילתות מחיקה (006065 26!605) מאפשרות ליישוס להפוך את תהליך הסרת הרשומות מטבלה לתהליך אוטומטי. ניתן לקבוע את הרשומות המיועדות למחיקה בעזרת קריטריוניס מוגדרים. אפשר למחוק שתי רשומות או יותר באמצעות שאילתת מחיקה בודדת. כאשר סכימת מסד הנתוניס מציינת מחיקות על פי היררכית הקשרים, שאילתת מחיקה תמחק רשומות תואמות הן בצד היחיד והן בצד הרבים, בקשר גומלין מסוג יחיד-לרבים. אס עליך למחוק רשומות מתוך צד היחיד בלבד, בטל את המחיקות על פי היררכית הקשריס מתוך הגדרות שלמות הקשרים. אס עליך לבטל את כל הרשומות בצד הרביס של קשר גומלין מסוג יחיד-לרביס בעל שלמות קשרים, כבה את קשר הגומלין, בצע את שאילתת המחיקה ואחר כך, שחזר את הגדרות שלמות הקשרים. שאילתות עדכון בניגוד לשאילתות הוספה ומחיקה, שאילתות עדכון (6765ט) 0008%6) אינן פועלת על רשומות שלמות. במקוס ואת הן משנות ערכיס בשדות שנבחרו. הקצה שורות מוגדרות באמצעות קריטריוני הגדרה. אפשר לנצל שאילתה מסוג וה לחישוב מחירי פריטיס חדשים שעולים בשיעור קבוע. אס העליה במחיריםס חלה על קטגוריית מוצר אחת בלבד, ציין את הקטגוריה בהגדרת הקריטריוניס. פרק 4: טיפול בנתונים באמצעות שאילתות 203 סוגי שאילתה אחרים קיימת קבוצת שאילתות מיוחדת נוספת שמרחיבה את שימושיות השאילתות. בדרך כלל, אם כי לא תמיד, שאילתות אלו מרחיבות או משלימות את היכולת של שאילתות בחירה והוספה. שאילתות פרמטר שאילתות אלו הן סוג מיוחד של שאילתות שיכולות להחזיר שורות או לבצע פעולות. בומן ריצה, שאילתה מסוימת יכולה להנחות את המשתמש לספק קלט שקובע את אופן פעולתה. באפשרותך לבקש מהמשתמש קלט אחד או יותר על ידי שימוש בסוגי נתוניס שוניס. מוריסם לשאילתת הפרמטר מה עליה לבצע על ידי הכנסת ערכים בתשובה לבקשות שלה, או על ידי הגדרת הפרמטריס שלה באמצעות קוד %84 טרס ביצוע השאילתה, כדי לשלוט בקבוצת ההתחזרה שלה או בפעולה שהיא מבצעת. הדבר מאפשר לספק קוד זיהוי של לקוח בזמן ריצה, כדי לקבוע את הלקוח ששאילתת הבחירה תחציר את פרטיו. כחלופה לשאילתת פרמטר, היישוס יכול להפנות למחרוזת 501 של שאילתת בחירה או פעולה, באמצעות משתני מחרוזת. בטרס תבצע את משפט .501 בפקודת ססם, הקצה ערכיס מוגדריס למשתני המחרוזת. על ידי כך ניתן לקבל תוצאות גמישות יותר מאשר מקבלים בשאילתת פרמטר, מכיון באפשרותך לשנות, למעשה, פסוקיות שלמות במשפט ‏ 501 של שאילתה. במקריס מסוימים, שאילתות פרמטר מפצות על כך באמצעות הקלדת נתוניס ובקשות מוכללות לקבלת ערכים. בנוסף, שאילתות פרמטר מבטלות את הצורך במניפולציות של מחרוזות 501, כל שעלינו לעשות הוא לעדכן את ערך הפרמטר. שאילתת איחוד שאילתת האיחוד (ץזפטט חסוחט) היא סוג של שאילתת ‏ 501. ווהי שאילתה מעניינת במיוחד, עקב התנהגותה החדשנית (היא מציבה טבלאות זו מאחורי וו במקוס זו לצד זו). שאילתות איחוד מצרפות יחד את השדות מתוך שתי טבלאות או יותר. במקוס לצרף את רשומות הטבלאות זו לצד זו, שאילתות איחוד מוסיפות את הרשומות מטבלה אחת ישירות אחרי אלו של הטבלה האחרת. עליך לבנות שאילתות איחוד על ידי שימוש במשפטי 501. לא ניתן לעצב אותן בצורה גרפית ברשת עיצוב השאילתה. הקלד את קוד 501 של שאילתת האיחוד ישירות בתצוגת 501 של השאילתה. תכונה זו מייחדת את שאילתות האיחוד מכל סוגי השאילתות בהן עסקנו עד כה, מכיון שבאפשרותך ליצור את כל שאר השאילתות בצורה גרפית. שאילתות איחוד מעניקות לך את מלוא העוצמה של שפת 501 להגדרת קריטריוניס ולקביעת סדרי מיון. 4 הח 2000 406655 שאילתות הצלבות שאילתת הצלבות (עזפטף 055/92ז6) קולטות טבלה או שאילתה בתור מקור נתוניס ומחזירה סכום, ממוצע או מונה של שדה אחד המבוסס על שני שדות קטגוריה נוספים. שאילתה מסוג זה וקוקה לשדה שהיישוס יכול למנות, לסכס או למצע. נוסף לציון שדה המיועד להצגת תוצאות צבירה, מפתחים חייבים לספק שדות קטגוריה של שורה ועמודה. שדות אלה צריכים להכיל ערכיס בדידים שישמשו בתור קטגוריות לדיווח על תוצאות צבירה. 460655 תומך ביצירת שאילתות הצלבות באמצעות אשף ו- 1 26%. בנוסף, באפשרותך לטפל ידנית בעיצוב שאילתת הצלבות בתצוגות עיצוב (ח0ו65כ) וג*ליון נתונים (66ח5ז8כ). שאילתות משנה שאילתת משנה .501 היא משפט ז551560 בשפת ‏ 501 שמקונן בתוך שאילתת פעולה אחרת. השתמש במשפט ז0ם551 המקונן בתור ביטוי בקריטריון של שדה. המשפט המקונן מחזיר ערך שבבוא הזמן יכול לתפקד בתור קריטריון נוסף. למרות שעליך לכתוב את שאילתת המשנה בשפת ‏ 501, תוכל לקנן אותה ברשת עיצוב השאילתה. יתירה מזאת - באפשרותך להשתמש בשאילתה נוספת כדי לאשר שעיצבת את המשפט המקונן בצורה תקינה. השתמש במשפט ‏ 501 המקונן כפי שהיית נוהג בקריטריון כלשהו אחר, כדי לציין ערך או תחוס ערכים עבור קבוצת החזרה. פעולות להגדרת נתונים שפת 00806ח1]8 הסטוחו6כ הזכ 501 (וספ 501) מאפשרת למפתחים ליצור טבלאות המכילות משפטי .501. השאילתה ליצירת טבלה מנצלת את וספ כדי להפוך יצירת טבלה לתהליך אוטומטי. אחד ההיבטים המצודדיס של שאילתת יצירת טבלה הוא האפשרות לעצב אותה בצורה גרפית. מקובל מאוד להפעיל את עיצוב שאילתת יצירת טבלה בתור שאילתת בחירה סטנדרטית. לאחר עיצוב שאילתת בחירה כך שתחזיר בדיוק את מה שאתה מחפש, הפוך אותה לשאילתת יצירת טבלה. השתמש ב- ]ספ 501 לעיצוב ידני של טבלאות באמצעות משפטי 501. אס נוח לך לעבוד עס משפטי ‏ 501, זוהי הדרך המהירה והטובה ביותר לעצב טבלאות. ]ספ 501 מהווה חלופה ל-ספ2. קיימות משימות נבחרות, כגון קביעת ערך הצעד והערך ההתחלתי של סוג הנתוניס מספור אוטומטלי (זספוחטאססטה), או הפעלה וביטול דחיסת 6, שניתן לקבל בלעדית ב- 501 266. כמובן, מפתחיס לסביבת 460655 נוהגיס להשתמש במשפטי 501 בעיקר כדי להגדיר את המאפיין 6ץד6ַח 60 של אובייקט 600 של 0כ2. אס המאפיין 6קץ01ח8ח ו 60 בתוכנית שלך קיבל את הערך 0ה, עליך להשתמש במשפט 501 כדי להגדיר את המאפיין 6 חחח 60. הפעל את השיטה 560016 של הפקודה כדי להפעיל את משפט 501. פרק 4: טיפול בנתונים באמצעות שאילתות | 205 עבודה עם מקורות נתונים מרוחקים כשעובדיס עס מקורות נתוניס מרוחקים, כגון ז86ז56 .501 1167050 או מסד נתוניס של 0786!6, חלים כללים מיוחדים לטיפול במקור נתוניס ולמיטוב ביצועי השאילתה. ארבעת נתיבי הגישה הבסיסיים לנתוניס מרוחקיס, כוללים טבלאות צמודות, שאילתות מעבר (665ט חסטסזח+-0855) . 501, 66זוס86סס ו- 8 = וס. בעבודה עס 2000 66655, קרוב לוודאי שתעדיף להימנע מגישה לנתוניס באמצעות זו סס. עדיף ללמוד להשתמש בספקי ססג ו-₪8 015, מכיון ש- 8ם ₪ וס/ססא מהווה חלק מגישת הנתוניס האוניברסלית של 167-0506 (888 |88זסעוח( 0506ז6וז 5). הטכנולוגיה 008601766 הולכת והופכת מיושנת, ו- ₪8 015 עתיד להחליף אותה. שאילתות מעבר 501 הן שאילתות המבוססות על תחביר .501 טבעי של מנגנון מסד נתוניס מרוחק. סוג שאילתה זה מאפשר לעבוד ישירות עס טבלאות בשרת המרוחק במקוס לקשר אותן תחילה. העובדה שניתן להשיג תוצאה והה בעזרת סג עס תחביר בעל אפשרות העברה טובה יותר הופכת גם את שאילתות המעבר לאמצעי מיושן. עבודה עם טבלאות מקושרות יכולה לאפשר ליישום גישה מבוססת-מטמון לרשומות במקור נתוניס מרוחק. הדבר עלול להאט את מחירות עבודתו של יישום, אך בו-בומן גם להאיץ שאילתות שיש להן מקורות נתוניס מקושרים, במיוחד כשהנתוניס אינס משתניס לעיתים תכופות. במהלך עיצוב שאילתות למקורות נתוניס מרוחקים, חשוב לתכנן אותן כך שתבצענה את רוב השאילתה במחשב המפעיל את מנגנון מסד הנתוניס המרוחק (השרת), שביצועיו עוליס לאין שיעור על אלה של מחשב שולחני טיפוסי. בנוסף, הפעלת השאילתה בשרת מאפשרת להקטין את תעבורת הרשת ולהעביר רק חלק מהנתוניס ברשת. לפניך עצות אחדות למיטוב שאילתות המבוצעות על מקור נתוניס מרוחק: 4 הגבלת פונקציות צבירה ‏ 501 לאלו שמנגנון מסד הנתוניסם המרוחק תומך בהן (הפונקציות דא(600, א50, אזוא, אהוא ו-6/) > הגדרת סוג הנעילה 00001506ח801060800 והפעלת השיטה 0508060806 כדי למטב את העבודה עס מקור נתוניס מרוחק בצורה לא מחוברת > הימנעות מהפעלת פונקציות מותאמות אישית שדורשות משאבי עיבוד מקומייס > שימוש בקריטריונים המגדירים טוות קבוע, כגון בין 100 ל-1,000, לעומת קריטריונים ייפתוחיםיי, כגון 100< 4 מילוי חוקים כלליים של מיטוב שאילתות, מיון, חיפוש וצירוף בשדות סדורי אינדקס, ושימוש בפרמטריס של תווים כלליים (0ז068!ו₪) עס האופרטוריס =א1| רק בסוף קריטריון חיפוש מחרוזאת 6 הח 2000 406655 הערה: 501 תומך בתו % במקום בתו * לחיפושים המבוססים על תווים כלליים עם האופרטור 5א1]. אם השאילתה מופעלת מול מנגנון מסד נתונים .501 זז הכולל את 6חוַפַח= 2868 אספסזסוא החדש, הקפד לשלב בשאילתות את התו הכללי החדש. עיצוב שאילתות באופן ידני יישומיס מותאמים אישית יכולים לבנות שאילתות באמצעות קוד, או לנצל שאילתות בנויות מראש בתור מקורות של רשומות. בדיוק כמו בטבלאות, סביר מאוד שלעיתיס תבנה שאילתות באופן ידני ולעיתים - באמצעות קוד. ידע מבוסס בעקרונות עיצוב ידני של שאילתה יהיה לך לעזר רב בבואך ללמוד עיצוב והפעלה של שאילתות באמצעות קוד. בסעיף זה נבחן לעומק בניית שאילתות באמצעות אשפים ונסקור את התצוגה עיצוב (ח0ו65כ) של שאילתה. קל מאוד להשתמש באשפים, אך הס מגביליס במידה רבה את אפשרויות העיצוב בהשוואה לבניית שאילתות באופן ידני ברשת עיצוב השאילתה שבתצוגת עיצוב. סקירת טכניקות השימוש ברשת עיצוב השאילתה כוללת: הוספת טבלאות, בחירת שורות וציון קריטריונים. כאן תגלה גס כיצד להרכיב שאילתות פרמטר, שאילתות איחוד ושאילתות משנה. שימוש באשפים אשפי השאילתות של 406655 מאפשרים ליצור שאילתות בצורה קלה ומהירה. סעיף זה מתאר את ארבעת האשפים. אשף השאילתה הפשוטה החלון מסד נתונים (ס288085) של 2000 466655 עוצב מחדש באופן שהופך את הגישה לאשף שאילתה פשוטה (0ז28ו) 61165 6!מוחו5) לפעולה ייחודית. בחר את שאילתות (165ז6ו)) בחלון מסד נתונים ולחץ לחיצה כפולה על הסמל יצירת שאילתה באמצעות אשף (0ז28ו) פַחו5 ץ8 /ז6ט) 676866) כדי לפתוח את האשף. באפשרותך גם להגיע אל אשף זה בדרך המקובלת יותר, על ידי בחירה באפשרות שאילתות ולחיצה על לחצן חדש (שוסא) בסרגל הכליס של החלון מסד נתונים. אשף השאילתה הפשוטה מאפשר שלושה סוגי עיצוב שאילתה. כל רכיביו מיועדיס למפתחים מתחילים. יחד עס זאת, גס מפתחיס מנוסים ייווכחו שהוא מאפשר ליצור שאילתות במהירות המשתווה לוו של עבודה עס רשת עיצוב השאילתה. חסרונו פרק 4: טיפול בנתונים באמצעות שאילתות | 207 העיקרי של אשף השאילתה הפשוטה הוא שאינו מאפשר את טווח עיצובי השאילתה המלא שניתן להשיג באמצעות רשת עיצוב השאילתה או 501. מפתחים השולטיס ב- 501 ובכללי הצירוף (0165 פַחוחוסן), יחבבו את הממשק הגרפי שלו. הערה: היישום החדש 70[605ק 460655 16050 אינו כולל אשפי שאילתה כלשהם (סוג פרויקט זה יוצר קבצים מסוג 800.* בניגוד לקבצי מסד הנתונים ט0וח.* המקובלים). בנוסף, עיצוב התצוגה עיצוב עבור קבצי כ0ְ80.* שונה מזה של קבצי טסחח.*. עיין בסעיף האחרון בפרק זה לקבלת הסבר ראשוני בעיצוב שאילתה בעזרת 65 00655 פרק 12 מרחיב בנושא העבודה עם מסדי נתונים מרוחקים ו- 6חוסח= 2868 50%סז6ו₪]. הדרך הבסיסית ביותר לבנות שאילתה בעזרת אשף השאילתה הפשוטה (ראה תרשיס 1) היא לבסס אותו על טבלה או על שאילתה יחידה. הפעל את האשף באופן וה כדי להפריד בין השדות שהשאילתה מחזירה. למרות פשטות השימוש באשף, תפיק ממנו תועלת רבה, מכיון שהגבלת קבוצת ההתזרה משפרת את ביצועי השאילתה. זה קוש עז26) 6!קחוו5 ?שזסום זטוסץ חו לחפאו טפץי סי 25| הסותעי זפ זס 30/6 6חס הבח 6זסח החסז'] 6056 חב6 סי :וז 65וטבד ] = 5 6ב ד] :8|05|= 58|80580 :6|05= 6|סב||ב/ים זז 3:60 בו יו 5 | הפוחו= תרשים 4.1: אשף שאילתה פשוטה במהלך יצירת שאילתה המבוססת על קבוצת משנה של שדות בטבלה 686600165 במסד הנתונים 6חוששח+זסצ 8 אא 2000 06055 עוצמתו האמיתית של אשף השאילתה הפשוטה באה לידי ביטוי ביכולתו לצרף שתי טבלאות או יותר, מבלי לחייב את מעצב השאילתות ליצור צירופיס (פחוסן) בפועל בין הטבלאות. הדבר מאפשר למעצב להתמקד בשדות הדרושיס בשאילתה ובטבלאות שמהן יילקחו השדות, מבלי להקדיש זמן כלשהו לעיצוב הנאות של שאילתה. האשף נבון במידה הדרושה ליצור תוצאות תקינות. תרשיס 4.2 מציג את אשף השאילתה הפשוטה בשלבי הפיתוח של שאילתה המצרפת שתי טבלאות במסד הנתוניס סחושוחשזסא. כל שעליך לעשות הוא לבחור טבלה ולאחר מכן לבחור שדות בטבלה זו ולהעבירס מתיבת הרשימה שדות זמינים (פוטבּוּוה/ 5) אל התיבה שדות שנבחרו (6|05= 56!66060). החלון התחתון מציג קטע מקבוצת התוצאה של צירוף השדה 68%6007/88₪6 מהטבלה 68060065 והשדה 6ותהּאס6טססזק מהטבלה 6655ט0סזק. השאילתה שבתרשיס 4.2 מצרפת את הטבלאות 6806007165 ו-00065זק בשדה המשותף שלהן, 6806007/10, ואולס, בשוס שלב אינך צריך להגדיר זאת. אשף השאילתות הפשוטות מזהה בעצמו את השדה המשותף ומצרף באמצעותו את שתי הטבלאות. האשף מניח אוטומטית צירוף פנימי הכולל רק רשומות בעלות ערכיס תואמיס של השדה 68060012 בשתי הטבלאות. אס רשומה באחת הטבלאות מכילה ערך 6306000 שלא קייס ברשומה בטבלה המקבילה, אשף השאילתה הפשוטה יתעלס ממנה. אס היישוס שלך אמור להכיל רשומות שקיימות רק בטבלה אחת ללא הקבלה בטבלה השנייה, תוכל לערוך את עיצוב השאילתה מתוך האשף, לעצב את השאילתה בתצוגת עיצוב או להרכיב אותה בעזרת משפטי |50. הזה קור עז6נו) 6!קחוו5 ?פטס זוסץ חו לחבאו וס 0 816105 הסוח | . וטו זס !530 חס הבר 8 זסוח הזסז" 6056 ח63 טטצ = | :וס /65וסבד ] - 5 :6ב ז] :805 56|06260 :6|05= 6|סב||ב/ים סזס סז סזזופווסקפ וי לוח( וזסק שפוְמְחבּנול) 6שוזקסוח! ! ו 0% | >> |= זט הזכיח65וח ו | [ץםהווהה ק בו - ו ו יו 5 פרק 4: טיפול בנתונים באמצעות שאילתות 209 |<)- | עזפט ]56160 : עזסט 51 | >וסטוסז?] 65וזסט6)בּ:) שג |=. ו 0 סז 36 6816001 | | 681 פֶח63 8 808 וכ 8 ח8500810 188848 38 68 60818 1888 8 הסט זפחהּ | אפפ טחט | פָהוחִפָטבּ | זפח3ּ | 80%זס ז8וז0519!>! 8 זםח6ת= 36 | מז 8880וח החוח58850 הט[63 5'הסזת3 681 זז [++| זו שו ]| 4 [4ו 7 וו 60 ₪ וו 60 ₪ תרשים 4.2: תיבת הדו-שיח של אשף השאילתה הפשוטה ותצוגת גיליון הנתונים המתקבלת ממנה באפשרותך גס לעצב שאילתות המבצעות פעולות צבירה מסוימות בעזרת אשף השאילתה הפשוטה. האשף מזהה בעצמו אם ניתן לבצע צבירה ועושה ככל האפשר לסייע למעצב השאילתה. האשף מציג תיבת דו-שיח כמו זו שבחלקו העליון של תרשיס 3 רק כשניתן ליצור צבירות מספריות. ניתן עדייו לבמצס את נתיב הצבירה על ידי בחירה באפשרות פירוט (וו060) בשלב השני של האשף. אס תבחר באפשרות סיכום (זהחח ו 5), יהיה עליך גס ללחוצ על לחצן אפשרויות סיכום (פהסטק0 עזהוחותט5) כדי לצייו את השדות שייצברו ואת הפונקציות שבאמצעותן תתבצע הצבירה. האשף מכין לפעמיס שדה סיכוס נוסף. אס הוא עושה זאת, מחק את השדה ברשת עיצוב השאילתה. 20 ?סו זה החחחנו5 זס 653 3 5א|! טס סוטס/א (6 80 וטע ]0 1614 סיס 5אוסח5) ובס + | חפוחו= 6% > 66655 2000 8 ץזה וחתופ + [| | זה 2ו/ עזסט1) 6!קחוו5 <1ם)= | עֶזפט) ]56160 -: עזסט) ]חטס:) 615טסז 65וזסףפז3ּ:) 3 - . כ הוה > 6חחב!זלטסזק 6וחב1ז 3-60 סזזסוופקפ ₪ זַא *)פַחס= :65שטטסזק זכ זחטס > ב יי 1 :בד :|ב)סד יי :סח - ו חס בי 1ב 605 ו ו 5 858 צְזובָּם 5 65 הזכ ₪ ץזזוסו/1631א | | 8 ז0 [>:|וין, 1 תרשים 4.3: שלב 2 של תיבת הדו-שיח אשף שאילתה פשוטה מאפשר לבצע חישובי צבירה בשאילתה שני החלונות התחתונים של תרשיס 4.3 מציגיסם את תצוגות העיצוב וגיליון הנתוניס של השאילתה. שיס לב שהשאילתה מונה את המוצריסם בכל קטגוריה. החלון האמצעי מציג את רשת עיצוב השאילתה שמחשבת את התוצאה. לעומת זאת, אשף השאילתה הפשוטה מבטל את הצורך לדעת היכן להציב את פונקציית הצבירה ואת הבחתירות שיש לבצע בשורה סך הכל (|פזסד) (עליך ללחוצ על הלחצן סכומים (10₪/5) בסרגל הכלים כדי להציג את השורה סך הכל ברשת עיצוב השאילתה בעת עיצוב ידני של שאילתה). האשף משחרר אותך מכל הפעולות האלו. פרק 4: טיפול בנתונים באמצעות שאילתות | 211 אשף שאילתות חיפוש כפילויות צמד אשפי שאילתות מסייע ליצור שאילתות המבצעות משימות שכיחות. אשף שאילתת חיפוש כפילויות (/ וסט 68565ווכט 6חו=) מחפש בערכת רשומות כדי לקבוע אס קיימות שתי רשומות או יותר המכילות ערכים זהים. האשף מחזיר את הערכיס הכפוליס של כל הרשומות בעלות ערכיס משותפיסם בשדות שצוינו בקריטריוני החיפוש. אחת הסיבות השכיחות לחיפוש כפילויות היא ביטול עותקי רשומות נוספים במקור רשומה. יחד עס זאת, לא ניתן להפוך את השאילתה שיצר האשף לשאילתת מחיקה, מכיון שהיא תסיר את הרשומות המקוריות יחד עס בנות זוגן. מערכת העזרה המקוונת של 2000 866655 מתארת שיגרה להסרה אוטומטית של כפילויות בהתאס לתוצאה שהתקבלה מאשף שאילתת חיפוש כפילויות. כדי להציג את השיגרה, הקלד יימחק רשומות כפולות'י (6001168%6 06606 /!|63החסלטהּ) בתור קריטריון החיפוש בכרטיסיה חיפוש של העזרה (שס המאמר: מחק באופן אוטומטי רשומות כפולות מטבלה). פתח את ההוראות הספציפיות על ידי בחירה בנושא מחק באופן אוטומטי רשומות כפולות מטבלה. הדוגמה שלנו לאשף זה מבוססת על הטבלה פוזס6פח6וץווחח8= (עייו בחלון העליון בתרשיס 4.4). תיבת הדו-שיח אשף שאילתת חיפוש כפילויות במרכז התרשים, מכילה זוג תיבות רשימה לבחירת שדות בהס יש לחפש ערכים כפולים. כמו במקרה של אשף השאילתה הפשוטה, מעביריס שדות מתיבת הרשימה שדות זמינים אל התיבה שדות בעלי ערכים כפולים (6|05= 6ט|8/-6806ו!קטכ). בדוגמה, נבחר השדה 6ההתה| שבאמצעותו יתבצע חיפוש אחר כפילויות. כפי שנראה בחלון העליון בתרשיס 4.4, כל הרשומות שבטבלה 5ז6טחס6!ץוווח8= הן כפילויות של ערך אחד או יותר של שדה זה. שלב 3 של האשף מאפשר לייעד שדות נוספים שיוצגו בקבוצת ההחזרה. הדוגמה בוחרת בכל השדות הנותרים. החלון התחתון בתרשיס 4.4 מציג את אחד הצדדיס החזקיס ביותר של אשפי 06655( : פישוט משימות מורכבות. החלון התחתון מציג גם את עיצוב רשת עיצוב השאילתה שיוצר האשף. שיס לב שהתצוגה כוללת שאילתת משנה ב-501. משפט שאילתת המשנה כולל פונקציית צבירה וגס את הפסוקיות +ם ק(/6₪0 ו-6א1/אה. זו שאילתת המשנה בשורת הקריטריון של רשת העיצוב שמזהה ערכיס כפוליס בערכת הרשומות של המקור. באפשרותך לכוונן את עיצוב השאילתה שנוצרת על ידי הוספה או הסרה של שדות, כולל שדות מקור חדשים או חליפיים, או אפילו על ידי שימוש בקריטריוניס נוספיס להסרת כפילויות מסוימות. 2 הח 2000 406655 <₪1)- | 6 - >זספחו6)אע!וחובּ ] ₪8 | 618000 | 6חזבח] | סובה | והז | | 8 תספטסס אמח בו וו הס0פססכ | הוחופזו/* 2 חספ ווח חשו) 3 חספ ווח צחסך 4 אה ]-חו-זפ1ח 3 ווח צוופתם 5 5 זט |++| ו + ה ול עזסט1) 65זב3ּ6ו!קט וחו-] ?הסוס הרזחו 306שו!קו הוב:חס6 זתטוחח 16105 הסות/א 4 טס , זהז05:0ו6 חס הבר 6'וסחח תסוצו וו זס] החט)ספ| 6זה טסץ ]| 6וקוחה6% זס= סה א 1 סח 6!05ו] הסופ טחב עו 56ססח6 ב|טסאו א 2 אא אא אא 3 :16105 8/06/י-8לבסווסטום :6|05ו] 6|סב|ובים א 2 אא אה א 4 סזוחב- שבח > 1 א 4 ₪ |<1)- | עזסט[) 561801 - 150015 ע!וחובּ ] זס] 65זהּשו!קט חות א 15 ע!וחובּ ] תפז ]= | = 5זביסהת6הזע!וחה = 5זסיפותפזיז !וחב = | :6!סבד 000000 מַהח500ה| 500 יו ( 1<(*)פחוס) ב16/םו] שבח | ים ק( 60 קוחד 5 5 זסותפויז/י]והחב = = ספת | 607 551) ח1 | :הוזפטוז 7 תרשים 4.4: אשף שאילתת חיפוש כפילויות. החלון העליון מציג את מקור רשומות הקלט. תיבת הדו-שיח המרכזית מציגה בחירת שדה שלפיו יתבצע חיפוש הכפילויות. החלון התחתון מציג את השאילתה שנוצרה בתצוגת עיצוב פרק 4: טיפול בנתונים באמצעות שאילתות 213 אשף שאילתת חיפוש של לא תואמים אשף שאילתת חיפוש של לא תואמיסם (2870ו) זט 60ח6ז8החש סחו=) הוא רכיב נוסף התומך במטלת ניהול מקובלת של מסדי נתוניס. האשף מחזיר רשומות בטבלה אחת שאין להן רשומות תואמות בטבלה מקבילה. נוח במיוחד לנהל באמצעותו טבלאות שאין להן שלמות קשרים, אך קיים ביניהס קשר גומלין מסוג יחיד לרביס. במצב זּה, באפשרותך להסיר, בשוגג או במתכוון, את צד היחיד או את צד הרבים של קשר הגומלין. כאשר לאחד מצידי הקשר, היחיד או הרבים, אין בן-ווג בטבלה המקבילה, אשף שאילתת חיפוש של לא תואמים יגלה זאת. באופן טיפוסי תרצה להסיר רשומות אלו ממקור הרשומות. אין כל בעיה - כל שעליך לעשות הוא להפוך את השאילתה שנוצרה לשאילתת מחיקה. השאילתה שבתרשיס 4.5 מחפשת רשומות לא תואמות בטבלאות שסהבּאץ!וחחה8= ו-5ז0טוח6!ז/י!ווחה=. ההשוואה מתבצעת על השדה 6וַַ8ַח] בשתי הטבלאות. השאילתה מצרפת את שתי הטבלאות על ידי אילוצ כל הרשומות מהטבלה פפואאץ!ווח8= לתוך השאילתה, כמצוין בחץ ההכוונה מהטבלה פ6וחפ8אץ!וחח8] אל הטבלה פזסטוח6וזץווחזה. לאחר מכן, השאילתה מחפשת ערכי || ₪ בשדה 6וַהַח1 בטבלה 8זסטוחסואץ!ווחה-. אס ערך הרשומה של 6ו8ח] בצד 5זסטחסואץוווח8] של קבוצת ההחזרה הוא ו|טח, לצד 55וחהץ!ווחה-] של קבוצת ההחזרה אין בן וג תואס בטבלה 5זססוחסועוווח8=. העיצוב הנאות של שאילתה זו מחייב הבנה של הקשרים ושל ערכי |וגוח. התעמקות בעיצוב שאילתות כגון זו ובשאילתות שמחזירות ערכים כפולים עשויה לחדד את מיומנויותיך בעיצוב שאילתות, במקרה שאינך רגיל לכתוב שאילתות כאלו דרך שיגרה. ב ו הו8]518= ₪ 60016: | + | 2 | |*=[ [<1םו .₪ מד ו חוה |ע!וחובּ 1 %* סוחבח 1 סחחבח !] :6/0 ץוחב = | :וד ]וספ יו :סו 7 תרשים 4.5: אשף שאילתת חיפוש של לא תואמים. מקור הרשומות השני הוא הטבלה 5זסם וח6ו ץ|ורחה=. קריטריון ההתאמה הוא השדה 6וחפח ]. 4 ח/ 2000 406655 אשף שאילתה מוצלבת מנתחי תמיכה בהחלטות מגליס לפעמים ששאילתות הצלבות (6765ש0 67055%85) מסייעות להגיע לתובנות חדשות אודות אובייקטיס ותהליכים. תרשיס 4.6 מציג טבלת קלט של אשף שאילתה מוצלבת ואת קבוצת ההתחזרה שהוא יוצר ממנה. תצוגת קבוצת ההתחזרה טופלה בתצוגות עיצוב (חטו65כ) וגיליון נתונים (סַחַ5ּזה). שאילתת ההצלבות שבגיליון הנתוניס התחתון מונה את 810" לפי השדות חסטבּ|₪6 ו-806ח] של גיליון הנתוניס העליון. הייטיפוליי שהענקתי לתצוגת העיצוב מכוונן את מיון השורות לפי חסט8ּ|6ח, מסדר עולה ליורד. בתצוגה גיליון נתונים, גררתי את העמודה המסומנת בתור פ1ח3ת 0 |טסד כך שבמקוס שתהיה העמודה השנייה, היא מעתה העמודה האחרונה. אחרת, העיצוב היה אוטומטי. לא היה צורך להכניס שמות שדות ומילות מפתח ברשת עיצוב השאילתה, וגס לא היה צורך לכתוב קוד 501. | 40]2000 | שחזהה] | סחזפה- | קוחו | | + 8 חספטסם אמח סוי הספפסכ | הוחואזו/* 2 חספ ווום חפ 3 חספ ווום צחסך 4 אה |-חו-זס זבה ווח צו|פם 5 2 2 1 1 4 01 [> :|| וו תרשים 4.6: שאילתה שנוצרה באמצעות אשף שאילתה מוצלבת של 2000 655סס. גיליון הנתונים העליון מציג את הקלט של קבוצת ההחזרה של השאילתה שמופיעה בגיליון הנתונים התחתון שתי טכנולוגיות ניתוח חדשות נוטלות את הבכורה משאילתות ההצלבות. הראשונה, טבלת ציר (190!6 +סטוק) יכולה לחשב תוצאות הצלבה פשוטות מתוך מקור רשומה, אך באפשרותה גס להפעיל טיפול דינמי בנתונים לאחר חישוב ההצלבה. הדבר מאפשר למנתחי החלטות לתקשר באופן דינמי עס תוצאות הניתוח שלהם. 866655 הופך טבלת ציר לוּמינה באמצעות הטפסיס ודפי הגישה לנתוניס שלו (78065 06055( מּז8), אך |66א₪ 6705066 הוא הכלי הראשי של 08666 לביצוע ניתוח טבלת ציר. הטכנולוגיה פרק 4: טיפול בנתונים באמצעות שאילתות | 215 השנייה, מסד נתוניס עיבוד ניתוחי מקוון - 0147 (0חו00655זק |63חץהחה 6חווחס) מאפשרת ניתוח נתונים דינמי מול מקורות נתוניס גדוליס מאוד. טכנולוגיה זו מחייבת שימוש בשרת מסד נתוניס מרוחק (אחד או יותר), כגון 7 ז7/6ז56 501 וצרכן 014 עבור הנתוניס. בקרב הרכיביס המקובליס של 2000 01666, 2000 |6אם הוא המשאב המיועד לתפקיד וה. שימוש בתצוגה עיצוב אשפי השאילתות מאפשריםס לעצב שאילתות בלי תלות ברמת השליטה בתחביר או בסוגיות העיצוב, אך הן מצמצמיס את היקף האפשרויות שניתן להשיג בעזרת שאילתות. כפי שקורה בעת השימוש באשפים, לעיתים הם יוצרים עיצוב מורכב יותר מאה הדרוש בפועל כדי למלא משימה מוגדרת. הדבר עלול לסבך את תהליך עריכת שינוייס קטניס בשאילתה. אס תעצב את כל השאילתה בעצמך, קרוב לוודאי שתיוכר בלוגיקה הנכונה ותצליח לערוך בה שינוייס בהמשך ללא קושי מיוחד. הוספת טבלאות ושאילתות באפשרותך ליצור בעצמך שאילתות מותאמות אישית על ידי הוספת טבלאות או שאילתות אחרות לרשת עיצוב השאילתה. אס תבחר בדרך או, בדרך כלל לא תצטרך לכתוב קוד 501 כדי ליצור שאילתות ולערוך אותן. פתח את רשת עיצוב השאילתה על ידי לחיצה כפולה על יצירת שאילתה בתצוגת עיצוב (שסוש ח0ו65כ ח1 זט 670806) בקבוצת האובייקטיס שאילתות (067₪65) שבחלון מסד נתונים (פהּסַהּזהכ). לאחר מכן, הוסף טבלה או שאילתה אחת או יותר, או צירוף כלשהו של טבלאות ושאילתות בראש רשת העיצוב. בחר טבלה או שאילתה ולח על הוסף (400) כדי להעביר אותה מתיבת הדו-שיח הצגת טבלה (80!6ד צשסח5) לראש רשת העיצוב. לאחר שהוספת טבלה לראש התצוגה עיצוב, עליך לבחור שדות שיהוו חלק מהשאילתה ברשת התחתונה. קיימות לפחות שלוש דרכיס להוספת שדות לשאילתה. דרך אחת - גרירה ושחרור של שדה מתיבת הרשימה שמייצגת את הטבלה בחלק העליון אל השורה שדה (8!0=) ברשת התחתונה. אס תגרור ותשחרר שדה בקצה חימני העליון של עמודה שכבר מאוכלסת בנתונים, 466655 יעביר אוטומטית את העמודות הנותרות לצד שמאל (בממשק עברי). דרך שנייה - באפשרותך ללחו לחיצה כפולה על ערך ברשימת השדות. על ידי כך תעתיק את השדה לעמודה הפנויה הראשונה ברשת. דרך שלישית - ניתן לבחור שדה מתוך תיבה נפתחת בשורה שדה של כל אחת מהעמודות. אם חלקה העליון של הרשת מכיל יותר ממקור רשומות אחד, הרשימה הנפתחת של השורה שדת תמספר שדות שקובצו לפי מקור רשומות. באפשרותך לפעול בכל אחת משלוש הדרכים בטיפולך בטבלה בודדת כדי לציין עמודות אחדות בטבלה המכילה עמודות רבות. תרשים 4.7 מציג את התצוגות עיצוב וגיליון נתונים (8550660זכ) של שאילתה המבוססת על הטבלה 006₪סזק בדוגמה. השאילתה מציינת שלושה שדות מתוך הטבלה. 6 הח,/ 2000 406655 השורה +501 בעמודה 6וחבּז6ט0סזק בתרשים 4.7 נקבעה בתור סדר עולה (בַחו0ח506). שורה וו מכילה רשימה נפתחת ובה שלוש אפשרויות: סדר עולה, סדר :ורד (0חו0ח26506) ולא מוין (50660 זסא). אס תבחר באפשרות האחרונה, התא יופיע כשהוא ריק ברשת ונתוני העמודה לא יהיו ממויניס בעת הצגת השאילתה בתצוגת גיליון נתונים. בחירה באפשרות סדר עולה בעמודה 6וחִ83ז6טססזק גורמת לרשומות להופיע בסדר אלפבתי בהתאס ל-6וה68ט0סזק. אס שורת המיון של 6והּאס6טססזק ריקה, גיליוו הנתוניס בחלון התחתון של תרשים 4.7 יופיע ממוין לפי המפתח הראשי של הטבלה, פשטס0סזס. |<1םן- | הנוי בד ו א חח ס6פו 6ב טסוק | | 10הטהסזק | :בשו זה | 5טטסזק| !פ|סבד | | = פהבתספה] = | 500 וס סו 17 |<]םן- | הזה יוב בד ו א |.. 8 + סז ו זט | | חסזטן 8סו| מז 5880וחה .3 1 080 ה0510 .40 זו 3 ₪0 5 חסה 3 18 1/0081 פָח03 2 3588 39 פָחוח58850 חטן[0:3 5'חסזח 81ח) 4 או סטחנוכ) פ'הסזת 81 5 8 40 8 6₪₪ 38/0618 שףסזוסם 48 5630015 50 אוו סוו= 52 7 זס [%*| | + ו ]| + 44 :ספה תרשים 4.7: החלון העליון מציג את תצוגת השאילתה של שאילתה שנוצרה באופן ידני ומבוססת על הטבלה 6%5טסזק. החלון התחתון הוא גיליון הנתונים שהתקבל כתוצאה מהשאילתה ה ה ה ה ה ה ה ה ה ה ה ה פרק 4: טיפול בנתונים באמצעות שאילתות | 217 קל ופשוט להוסיף מקור רשומות אחד לתצוגת שאילתה. באפשרותך לבחור מקור רשומות קלט מתוך טבלאות ושאילתות אחרות. מומלצ מאוד לצרף מקורות רשומות (אם 860655 אינו מצרף אותס בעצמו בהתאס לקשרי הגומלין המצויניס בחלון קשרי גומלין). כשלון צירוף הטבלאות יגרום לכך שגיליון הנתוניס שיתקבל יציג את התוצאה הקרטזית של שתי הטבלאות (כל השילובים הסדוריס האפשריים של שורות מהטבלה הראשונה עס כל השורות מהטבלה השנייה) של שתי הטבלאות. זו תהיה לעיתיס קרובות טבלה בעלת מספר שורות גדול במידה מופרזת. תרשים 4.8 מציג את הטבלאות 65טסזק |-5|ו6%8 ז66זס מצורפות באמצעות השדה סשסטטסזק. באפשרותך ליצור צירוף ברירת מחדל כמו זה על ידי גרירת שדה מטבלה אחת ושחרורו בשדה התואס בטבלה השנייה. כך תקבל גיליון נתוניס עס שורה אחת לכל שדה תואס בשתי הטבלאות. אם רשומה כלשחי מופיעה בטבלה אחת בלבד, היא לא תיראה בגיליון הנתוניס של השאילתה. קיימים שני סוגי צירוף נוספים. סוג אחד מצרף את כל השורות מהטבלה השמאלית פסט0סזק, והאחר מצרף את כל השורות מהטבלה הימנית 61916 ז06זס. באפשרותך לבחור אחד מסוגי הצירוף הללו על ידי לחיצה ימנית על קו הצירוף ובחירת סוג הצירוף המבוקש לאחר מכן. [<11)- | עזסטון) 561601 : 06?ו60ח6זא 01385 עו בג 8 וז 0] :66וק 66000 חפוס / וח סו יג |[ = 06855 ]0706 5 זז 5 טס | ]= 06635 ז6הזס | :שפד 56 | 508 ש [ . | ש ₪ | 6 0] :66 060ח6טאם זסז0]*[ סה ]|[ זכ | = ([5ח60פוכ]-1)[ ססוזלפוח(] !| !ומס תרשים 4.8: החלון העליון מציג את עיצוב השאילתה של שאילתה שנוצרה באופן ידני בהתאם לשתי הטבלאות, 66סט6סזק ו- 261915 ז06זס. החלון התחתון מציג את תיבת הדו-שיח שנה מרחק מתצוגה (וח200) המציגה את הנוסחה של שדה מחושב בשאילתה 8 הח 2000 406655 השורה טבלה (1806) בתרשים 4.8 מציגה ארבע עמודות ששייכות לטבלה 65 ז0ס0זס. עמודה נוספת, 6וח8זסטססזק, שייכת לטבלה 5ס6טססזק. השדה האחרון של עיצוב השאילתה אינו נראה בשלמותו בחלון העליון של התרשיס. התייחסות לגליונות נתונים משניים אחד החידושיס שהונהגו ביישוס 2000 8460655 הוא היכולת להתייחס בצורה היררכית לטבלה או לשאילתה אחת מתוך שאילתה אחרת. במובן מסויסם אפשר לומר שלשאילתה אם יש טבלה או שאילתה בת. תרשים 4.9 מציג גיליון נתוניס משני בתוך גיליון נתוניס של שאילתה. השאילתה הַאָס נקראת 680600766ץזף. שים לב לסימן החיבור (+) בעמודה הראשונה של השאילתה. לחיצה על אחד הסימנים הללו, למשל הקטגוריה ץוש!טסק /+163א, פותחת גיליון נתוניס בן והופכת את סימן החיבור לסימן חיסור (-). הסימן המתחלף מתפקד כמתג דו-מצבי לפתיחה וסגירה של גיליון נתוניס משני המקושר לשורה כלשהי בשאילתת האם. גיליון הנתוניס המשני (הבן) שבתרשים מציג את שדות המוצר עבור שורה אחת של גיליון הנתוניס האב שלו. כללית ניתן לומר שגיליון הנתוניס הבן מפנה לשאילתה או לטבלה נוספת שמקושרת לשורה הנוכחית. באפשרותך לפתוח בו-זמנית גליונות נתוניס בניס רביס. לאמיתו של דבר, מאפיין של שאילתה מאפשר להשאיר את כל גליונות הנתוניס הבניס פתוחיס כברירת מחדל. |<1ם]- | הד יו ב בר 50 זב 081601 | ק! עַזסאַ0819 | | | 38| קפחחזום 5 חח , 085 , 1895 , 608888 , פאחוזם 08 ב ו 1 + | ?| הההחז| קהחחזום 588505 בחה , 8805ז60 , 85ח8ו|8ז , 58085 58/01 טח3 זאו ו 2 38| קפחזום 5 50/8811 300 , 630185 , 855885 05 3 8הה3ח| קפחחזום 858" 000158 ץזו3ם 4 שהח| ק3וחזום |08788 800 ,8913 , 07806879 , 8809ז | | 18109/08188|5 5 38| קפוחזום 58 86 מז 1/9 5 זז )וח אה זפ" עָוחב וו זפ 6 וז פ! סז .5 8 500 - 18 וס /1 ו טאו 6008>] ומפו 9 ו א 1 - 20 | צזווטס 1/0 חסזוטו פסו|ת .17 .5 0 א 5ח09 50 | ץזוס 81/7 01 זפהָמוזטחד 29 5 48 31/0 8 58 חפ 53 58 16 וס ו סד 54 68 2 א 00885 24 | ץז881/0|1/] פוסחותס 816 55 וס 1 ו (זפט הטוס זר | 4 007 38| קפחחזום טס 68 בחב ]וט ספוזם זז 7 8הה| קפחחזום 5 800 5880880 68 (ז ט רחס זט 8 |++| תו %ן |[ 4 ]4 נמ תרשים 4.9: שאילתת אם, 68%600765/זוף, מציגה את גיליון הנתונים המשני שלה עבור הקטגוריה ץז+!טסץ /+163] חמישה מאפייני שאילתה חדשיםס שולטים במראה ובתפקוד של גליונות נתוניס משניים. המאפיין שם גיליון נתונים משנל (6וח8 50008%85066%) מצביע על טבלה או שאילתה המכילות את נתוני הבן. כדי לגשת למאפיין ה או לארבעת האחרים, פתח את תיבת הדו-שיח מאפיינים (65ז6קסזק) בתצוגת עיצוב של השאילתה. חמשת פרק 4: טיפול בנתונים באמצעות שאילתות 219 המאפיינים החדשים מופיעים בתחתית תיבת הדו-שיח. תיבת המאפיין שם גיליון נתונים משני מכילה תיבה נפתחת שמפשטת את תהליך הבחירה של שאילתה או טבלה אחרת בתור מקור רשומות עבור גיליון נתוניס משני. במקרה של השאילתה שבתרשים 4.9, שם גיליון נתונים משני הוא הטבלה 666טססזםץוא. הכנס שמות שדות עבור המאפייניס קישור שדות צאצא (₪6!05 6!וח0 %חנ1) וקישור שדות מראשלי (חו!ן 5 "18506)) כדי לסנכרן את שאילתת האס עס שאילתת הבן או טבלת הבן. כמו במקרה של טופס עיקרי עס טופס משני, שמות השדות אינס חייבים להיות זהים, אך סוג הנתוניסם שלהס צריך להיות והה. המאפיין גובה גליון נתונים משני 461000 500085850661) שולט בגובה גיליוו הנתוניס המשני בתצוגת גיליון נתונים של גיליון האם. ואחרון חביב, המאפיין גליון נתונים משני מורחב (660ה50008185 0חהקאם) מקבל את הערכים כן (65+) ולא (סא). תיבת הדו-שיח מאפייני שאילתה (00671165זק /זסגו)) כוללת רשימה נפתחת להכנסת אחד משני ערכים אלה. 0 8406055 תומך בגליונות נתוניס צאצאים עבור גליונות נתוניסם הורים המבוססיס על טבלאות כמו גם על שאילתות. לעומת זאת, מנגנון התמיכה בגליונות נתוניס משניים עבור שאילתות הוריס שונה במקצת עבור טבלאות הורים. בטבלה אם ניתן לקבוע את קשר הגומלין בין טבלה אס והטבלה או השאילתה הבת שלה בחלון קשרי גומלין (5ק1ח5ח56|800). אס תבחר דוקא להשתמש בתיבת הדו-שיח מאפייני טבלה (65!זז6קסזק 180!6), עליך לפתוח את הטבלה בתצוגת עיצוב. לאחר מכן, עליך לפתותח במפורש את תיבת הדו-שיח מאפייני טבלה על ידי לחיצה ימנית בחלקה העליון של הרשת ובחירה במאפיינים (65ז6קסזק). פעולה וו מאפשרת להשתמש באותס חמשת המאפיינים כמו עבור שאילתה כדי לקבוע את קשרי הגומלין בין טבלה אס לגיליון הנתוניס המשני שלה. שימוש בשדות מחושבים באפשרותך ליצור שדה מחושב הגוזר את ערכו מתוך שדה אחד או יותר של שאילתה. חשב שדות אלו באמצעות אופרטוריס חשבוניים או אופרטורי מחרוזת, פונקציות מוכללות או פונקציות מותאמות אישית. שדות מחושביס אינס ניתנים לעדכון באופן ישיר, מכיון ש-866655 מאחסן רק את הביטוי של משפט 501 ולא את תוצאת החישוב. באפשרותך לשנות שדות מחושבים על ידי שינוי הקלטיס לביטוי החישוב. למרות ששדות מחושביס אינס ניתניס לעדכון, היישוס יכול לצבור אותס לאורך הרשומות. הגדרת שדות בתור ביטויים בשאילתה טומנת כמה יתרונות. ראשית, מאחר שביטוי יכול להציג נתוניס מבלי לאחסן אותם בפועל, שימוש בביטוי עבור שדה מאפשר לשאילתה להציג תוצאה ללא צריכת שטח אחסון. שנית, ביטוייס מחושביס מחדש באופן אוטומטי. כך הם יכוליס לשקף את הנתוניס העדכניים ביותר ללא התערבות כלשהי של מנהל מסד הנתוניס. שלישית, קייס מיגווו אפשרויות להכללת ביטוייס בתור שדות. לימוד האפשרויות הללו יגדיל את הבנתך הכוללת בעבודה עס 60655. 406655 2000 / 0 אופרטורים חשבוניים תרשים 4.8 מציג שדה מחושב שמחשב מחיר סיכום לשורה. ביטוי מחיר הסיכוס לשורה מתבסס על אופרטור חשבוני פשוט, כגון כפל וחילוק. שיס לב שהשורה טבלה (130!6) של השדה המחושב בחלון העליון של תרשיס 4.8 ריקה. משמעות הדבר היא שהשדה אינו תופס שטח אחסון כלשהו. השדה המחושב שבתרשיס 4.8 משתמש בתווית שדה לייצוג תווית בעל משמעות של השדה בתצוגת גיליון נתונים. פונקציות מוכללות תרשים 4.10 מציג שדה מחושב שמתבסס על פונקציות מוכללות. הביטוי מרכיב מחרוזת, ולכן באפשרותו להשתמש בפונקציה 16%. השימוש בפונקציה זו חוסך זיכרון בהשוואה לפונקציה הכללית 16% שמחזירה מחרוזת שסוג הנתוניס שלה משתנה. הביטוי בתרשיס 4.10 משרשר שלוש מחרוזות נפרדות. ראשית, הוא מאחזר את האות הראשונה בשמו הפרטי של בן המשפחה באמצעות הפונקציה 168%. שנית, הוא מצרף את המחרוזת " .יי כדי להוסיף נקודה ורווח לאחר האות הראשונה של שס האיש. הביטוי מסתייס בצירוף שס המשפחה. לשדה מחושב זה יש עדיין תווית ברירת מחדל, אך תצוגת גיליון נתונים מציגה את העמודה עס כותרת שונה, תיאורית יותר. תיבת הדו-שיח חימנית העליונה בתרשיסם 4.10 מלמדת שניתן להשיג תוצאה זו על ידי מתן ערך לכיתוב של השדה. ערך כלשהו בתיבת מאפיין הכיתוב יחליף בתצוגה את שס ברירת המחדל של העמודה. |< || < ו = | עזסט[) 56|601 : 160הוצזספ עו ג מס | | ו₪60613 | ₪ | מ 6ב זו וסט ה 5 זט |%*|ואן + 1 [4 [4ו ב תרשים 4.10: שלושת החלונות שבתרשים חושפים את כללי התחביר והתווית החלים על הוספת ביטוי מחרוזת לשאילתה, במטרה להגדיר את השדה היחיד שלה. החלון התחתון מציג את קבוצת ההחזרה מתוך השאילתה. פרק 4: טיפול בנתונים באמצעות שאילתות | 221 ניתן לפשט את תהליך השימוש בפונקציות מוכללות ולהפנות לערכי טבלה, שאילתה וטופס, באמצעות תיבת הדו-שיח בונה ביטויים (ז06וום חסו55סזסאם). אס תמצא לנחוצ לשפר את הביטוי לאחר הוספתו באמצעות בונה הביטויים או באופן ידני, השתמש בתיבת הדו-שיח שנה מרחק מתצוגה (ו200). באפשרותך לעשות זאת על ידי לחיצה ימנית בשורה שדה (6!0=) ובחירה באפשרות מרחק מתצוגה. תיפתח תיבת הדו-שיח שנה מרחק מתצוגה ובה הביטוי שכתבת. שנה את הביטוי לפי הצורך בטרס תלת על אישור כדי לסגור את תיבת הדו-שיח ולהכניס את הביטוי שערכת לשאילתה. החלון התחתון שבתרשיס 4.8 הוא תיבת שינוי המרחק מתצוגה שמציגה שדה מחושב מתוך שאילתה. פונקציות מותאמות אישית | נוסף לשימוש באופרטורים ובפונקציות מוכללות, באפשרותך לפתח בעצמך פונקציות מותאמות אישית שיחזירו ערכי שדה. תרשיס 4.11 מציג שאילתה המקושרת לטבלה ₪665 000 במסד הנתוניס 5פטק של ז6/ז56 .501. השאילתה מציגה את השדות ₪06 ו-6והספטק של כל אחת מהרשומות. בנוסף, היא כוללת שדה מחושב שקורא לפונקציה המותאמת אישית א68/5%02. הביטוי מעביר את ערך השדה 0866פטק אל הפונקציה. הפונקציה 08/5002 מופיעה מעל התרשים. אס תשווה את שס הפונקציה שלפניך עס עיצוב השאילתה שבתרשיסם 4.11, תיווכח כי הפניות לפונקציה בשאילתה אינן תלויות ברישיות (5106ח56 6856). חן 5 (2866 ₪5 28%6ח02)1 0857 הסטסחט= סווטגוק (1/1/2000%א ,6זהסח1 ,"ס")וכ הכ = א2סזַ5עְהס חסטסחט= 0חם <ום]ן- | הנדומ בד ובונ ירי - =] | ([0868סטם])26סס5ע03 :26 סס פעה| | || | | 6בסטם]+ | 8₪) ₪66 | 00| 666 0ם0| = 65 ססנ| :שסבד [ 0000000000[ 00 שַח9006שק[ 8 | ₪ח5 :אוסת5 ו מס תרשים 4.11: השאילתה שלפניך משתמשת בפונקציה מותאמת אישית לחישוב ההפרש בין ערך שדה בשאילתה לבין התאריך 1 בינואר, 2000 2 הח 2000 466655 הפונקציה קולטת את ערך השדה 08%6פט0 בתור ארגומנט ומחזירה ערך מסוג ז%606ח1 אל השאילתה. פעולה זו מאפשרת יישור אוטומטי לימין (אם לא מצייניסם את סוג הנתון המוחזר בתור ז606זח1, הפונקציה תחזיר משתנה טחאוזפּט) לשאילתה שיגרוס ליישור לשמאל). הפונקציה המותאמת אישית מכילה שורה בודדת. היא מיישמת את הפונקציה המוכללת 86014 כדי לחשב את ההפרש בימיס בין השדה 08%6פטכ לבין התאריך 1 בינואר, 2000. יש בעיה ביישוס פונקציות מותאמות אישית בביטוייס של שדות שאילתה, בעיקר עס מסדי נתוניס גדוליס ומרוחקים. על היישוס להשתהות בזמן שטבלה גדולה עוברת בקווי התקשורת מהשרת המרוחק אל תחנת עבודה מקומית. בנוסף, לא ניתן לנצל את עוצמת החישוב של השאילתה במחשב השרת המרוחק. במצביס בהס הכרתי להפעיל פונקציה מותאמת אישית, הרכב שאילתה שמחלצת את מספר הרשומות המינימלי מהשרת המרוחק ומבצעת את כל שאר הפונקציות בשרת זה. לאחר מכן, החל את הפונקציה המותאמת אישית על קבוצת ההתזרה המצומצמת שהתקבלה מהשרת. הסתייגויות אלו מפונקציות מותאמות אישית אינן נוגעות לדוגמה שבתרשים 4.11, מכיון שהטבלה ₪665 000 קטנה מאוד. פונקציות מותאמות אישית פועלות היטב עס מסדי נתוניס מבוססי-260 בכל גודל. פונקציות צבירה ‏ 501 | באפשרותך לחשב ערך ללא שימוש בביטוי כלשהו. אחת הדרכים לעשות זאת היא על ידי לחיצה על לחצן סכומים (10₪/5) - הלחצן הנושא את האות סיגמה (5) - בסרגל הכלים עיצוב שאילתה (ח0ו65 ץזפטוס). לאחר מכן גרור שדה אחד או יותר אל רשת עיצוב השאילתה ובחר באפשרות קיבוץ לפי (ץֶ₪ סטסזס) בשורה סך הכל (|₪סז). חייב להיות לפחות שדה אחד בעל ערך מספרי שהשורה סך הכל שלו אינה מוגדרת בתור קיבוץ לפי. באפשרותך לייעד שדה מחושב בתור שדה הערך המספרי. בשורה סך הכל בחר ב-חסו655זקאם. הכנס פונקציית צבירה 501 לשדה המחושב כדי למנות, לסכס או לחשב ממוצע בשדה המחושב עבור כל שילוב ייחודי של שדות שהשורה סך הכל שלהן מוגדרת בתור קיבוץ לפי במקור הרשומות. עזסט[) 561601 : 65סוזו6הוחוט 6131155 כ 0עז ג תי יי ג 5 זסטזס | י6וטבד חסו655זםיי= | ץם קטוסזס | :)בד 50 יו וי ו 7 תרשים 4.12: הביטוי בשדה המחושב בשאילתה זו מחשב את מחיר הסיכום לכל שורת פריט בכל הזמנה. מילת המפתח קיבוץ לפי בשורה סך הכל מאלצת את פונקציית הצבירה שבביטוי לחשב את סכום הערכים על פני שורות הפריטים בכל הזמנה בנפרד פרק 4: טיפול בנתונים באמצעות שאילתות 223 תרשיס 4.12 מציג תצוגת עיצוב שמסכמת את מחיר הסיכוס (סה'יכ) לפי השדה 0זוס. השאילתה מחשבת את מחיר הסיכוס לכל שורת פריט לפני סיכוס וקיבוצ של השורות לפי 10ז06זס. מילת המפתח קיבוץ לפי מופיעה בשורה סך הכל של העמודה 0ז6זס. הפונקציה חזט5 בביטוי וזש 060ח06א₪ מציינת שהשאילתה תסכס את מחיר הסיכוס עבור כל הזמנה. חישוב ערך מתוך כמה שאילתות = יש עניין רב בתוצאות סטטיסטיות שמשוות שני פריטי מידע או יותר. חשוב לדעת את שוויה הכספי של הזמנה, אך לעיתים מעונייניס גס להשוות מחיר ההזמנה למחיר ממוצע ולדעת באיזו מידה הוא גבוה או נמוך ממנו. 5 אינו מאפשר לחשב תוצאה כזו בשאילתה בודדת. הדוגמה שנביא בהקשר זה דורשת שלוש שאילתות, כשאחת מהן מכילה תוצאה קרטזית של שתי השאילתות האחרות. השאילתה הראשונה היא זו המוצגת בתרשים 4.12. השאילתה השנייה מחשבת את המחיר הממוצע של כל ההזמנות. שאילתה זו כוללת פונקציית צבירה פשוטה מסוג 6/₪ הפועלת על מחיר הסיכוס עבור השאילתה שבתרשים 4.12. החלון העליון בתרשים 4.13 מדגיס תוצאה קרטזית של השאילתה שמסכמת את מחירי הסיכוס לפי הזמנה (7600106 60815507 סץזס) ושל השאילתה שמחשבת את מחיר הסיכוס הממוצע בכל ההזמנות (פ6סוזקְפָטהססץזס). כוכור, הדרך לחשב תוצאה קרטזית היא לכלול את שתי השאילתות בתצוגת העיצוב מבלי לצרף אותן. החלון התחתון בתרשים 4.13 מציג את השינוי באחוזים בין הסהייכ של כל הזמנה לבין הממוצע, בכל ההומנות. אס הסהייכ גדול מהממוצע, ערך האחוז חיובי, אחרת - ערכו שלילי. הנוסחה שמחשבת את שינוי האחוז מהממוצע אינה מוצגת בתרשים 4.13. הביטוי הוא לא יותר מיחס בין שני מספרים. המונה הוא ההפרש בין מחיר הסיכוםס בהזמנה לבין המחיר הממוצע, של כל ההזמנות. המכנה הוא מחיר הסיכוס הממוצע של כל ההזמנות. מאפיין תבנית העיצוב של שדה מחושב זה מוגדר בתור אחוז (0ח66ז6ק) עס 0 מקומות אחרי הנקודה העשרונית. /([66וזק 060ח6א= +0 0/ ]-[66וזק 060ח66אם]) :עה וחסיז 68| % [166ק 060ח₪006 +0 פע ] <1ם)- | עזסט) 561601 : [צחוסז ]סנחבּת:)וח66ז6 עו 5 - וז סע % ששו 060ח65<= ז0 היה ו 6131155 0 עו - % סזוסטזוס שסוזק 50080 | ו כ כו | בקנה | | + [66וז 060ח66א= ז0 סיה 6 חא והז | := טעה ץז | = 066 ט0066355 יז | = 66תות55!ב6שסכועיזם | יפוטבד 7-8 שקה ברו = :ספ פישרש יג שכרש | שביה = בג ה[ - -- | 5 :וזו מס 4 הח 2000 406655 5 טע הזסז] 26168 % | סז 160086אם | ם! זפאזס | | 7% 40 : ,+ 22% 30 1 2% 0 ו 7% 8 %ן 0 7 93 % 70, ו 4% 2 0% 70, 2 5% 9.0 %- 0, ו % 8 5% 0 9100 %- 5 ו 0 זם [ :]| ויהכן ]| 4 [4ו יי תרשים 4.13: החלון הראשון מציג שאילתה שמחשבת תוצאה קרטזית של שתי שאילתות. הביטוי שבשדה המחושב מחשב את השינוי באחוזים בין מחיר הסיכום להזמנה לבין מחיר הסיכום הממוצע של כל ההזמנות עבודה עם קריטריונים התנהגות שאילתות מושפעת בצורה מכרעת על ידי קריטריונים. ציון קריטריוניס הכולליס ביטויים וקבועיס מאפשר לקבוע את סוג הרשומות שהשאילתה תחזיר. קריטריוניס גורמיס להכללה או השמטה של רשומות בקבוצת החזרה של שאילתת בחירה. הדוגמאות המוצגות בסעיף וה מתארות שאילתות פשוטות הכוללות תנאי אחד. ברגע שתלמד כיצד ליצור אותן, תוכל לנצל יכולת זו באופן מיידי ליצירת תנאיס מורכביס המשלבים שני קריטריוניס ואף יותר באמצעות האופרטוריס הלוגייס 406 ו-זס. שימוש בקריטריון בודד תרשים 4.5 מדגיס קריטריון פשוט העושה שימוש במשפט וטא 5. משפט זה משמש לזיהוי שדה ריק בשאילתה. עיצוב השאילתה מצרף את הטבלאות 65חהאץ!וחח8= ו-5זססוחסואץ!וחחה-] בשדה 6וִפַח]. סוג הצירוף כולל את כל השמות מתוך הטבלה פפַחהּא/!וח8] בין אס הס תואמים לערך אַחִאַה! בטבלה ו ץ!ווח= ובין אס לאו. בטבלה 68 גּאץ!וחח8=, השדה 6ו8ח! מקבל ערך אחד מתוך ארבעה ערכיס אפשריים: חספפס, ||וח, 5הסחוחו5 ו-חו06!5%0ם. השדה 6תהחה| בטבלה פזסטוח6ואץ!ווחה] מכיל את הערכים חספפסס ו-!|וח. השאילתה מחזירה את השמות פחסוחחן5 ו-חו506!5%6, כיון ששני השמות נמצאיס בטבלה 65 8אץ!וחח8= אך לא בטבלה פזסטוחס6!וץ!ווחה=. שינוי המשפט |וטוא 15 ל- ווטש 6סא 5 גורס לקבוצת ההתזרה להשתנות ל- חספססס ו-ו41. פרק 4: טיפול בנתונים באמצעות שאילתות | 225 תרשיס 4.14 מציג עיצוב שאילתה הכוללת רק את רשומות הטבלה פזסטוחס6ווץ!ווח8= שהשדה שוחִאַח!| שלהן מכיל את האות הקטנה 5 במקוס הרביעי במחרוזת השם. הפונקציה 56ח1 היא אחת הפונקציות החזקות של 66655. הפונקציה משווה בין שתי מחרוזות באחת מכמה דרכים. הפרמטר הרביעי מגדיר את סוג החיפוש; 0 מציין חיפוש בינארי. הפונקציה 105 מחזירה מספר המציין את המיקוס של המופע הראשון של המחרוזת השנייה בתוך המחרוות הראשונה. בביטוי שבתרשיס 4.14, שפח1ז מחפשת את המחרוזת 5 במקוס 4 בשס חספטספ. מכאן שקביעת הקריטריון 4 תגרוס לבחירת רשומות שהשדה פַוִַַח! שלהן מכיל מחרוזת שבמקוס הרביעי שלה נמצאת האות 5. |<וםן-. עזטט) 561601 : 61601 16-16165בּ!וס!הּ=)עזם םה 65 )ץוחו ] 5 וי :5 טסו תרשים 4.14: שאילתה זו מחזירה רשומות מהטבלה פזסטוחסואץ|וחח8=] שהשדה 6חחפּח | שלהן מכיל 5 במקום הרביעי במחרוזת אס תוסיף לטבלה פזססחס6וץוווח] רשומות חדשות שהשדה שַחִאַח]| שלהן מכיל מחרוזת שבמקוס הרביעי שלה נמצאת האות 5, השאילתה תחזיר גסם אותן. לדוגמה, הוספת רשומה חדשה שהשדה 86| שלה מכיל את השס חספח58, תגרוס לשאילתה להחזיר את ח050ח58 יחד עס חספטסס. שיס לב שתוצאת הביטוי שבתרשים 4.14 אינה מוצגת בקבוצת ההחזרה של השאילתה, מכיון שהתיבה הצג (שסח5) אינה מסומנת. שימוש בקריטריונים רבים | השאילתה שבתרשים 4.15 יוצרת סדרת משפטים. השאילתה מרכיבה את המשפטים באופן דינמי מערכי השדות, אך באותו זמן גס משמיטה את הרשומה שערך השדה ח₪6!800 שלה הוא 6 (משפטי קבוצת ההחזרה של השאילתה מתארים את היחס בין כל בן משפחה אלי (המחבר), ולכן הרשומה שערך השדה ח0סטח688ח שלה הוא ₪6 (אני) לא אמורה להיות כלולה בשאילתה. השאילתה משתמשת בשני ביטוייס: האחד מציין קריטריון להכללת רשומות, והשני הוא ביטוי מחרוזת שמרכיב את המשפטים באמצעות ערכי שדה נבחרים. 6 הח 2000 466655 הדוה וב בדו 65 ע]וחוהּ ] :ןסו יזם תרשים 4.15: שאילתה שמרכיבה משפטים בצורה דינמית שימוש בקריטריון מורכב לאחר יצירה ובדיקה של קריטריוניס לשדות מסוימיס, ייתכן שתמצא לנחוצ ליצור קריטריונים מורכביס שמשלבים שני קריטריונים ויותר לגבי שדות מסוימים. ניתן לעשות ואת בשתי גישות בסיסיות. האחת, לשלב קריטריוניס באמצעות האופרטור 8ח8 (וגס). טכניקה זו גורמת לשאילתה להחזיר שורות של רשומות העומדות בו-ומנית בכל הקריטריוניס המצויניס. הגישה השנייה היא לשלב קריטריוניס באמצעות האופרטור זס (או). הדבר גורס לשאילתה להתחזיר שורות של רשומות העומדות לפחות באחד הקריטריוניס מאלה שהוגדרו. תשמח בוודאי לדעת כי רשת עיצוב השאילתה של 406655 פוטרת אותך מעיסוק בפרטי התחביר של משפטי 501. בעת שימוש באופרטור 0חג, הצב את כל הקריטריוניס בשורה בודדת של הרשת. אס ברצונך להציג את כל הלקוחות מעיר מסוימת שהזמנתס עולה על סכוס ההזמנה המינימלי, באפשרותך להתחיל בשאילתה שמסכמת מכירות לפי לקוח מעיר כלשהי. לאחר מכן, בשאילתה אחרת שמפנה לזו הראשונה, תוכל להשתמש בקריטריון מורכב בעל התניה מסוג 6ח8: קריטריון אחד לקביעת העיר פרק 4: טיפול בנתונים באמצעות שאילתות | 227 שאודותיה אתה מתעניין, וקריטריון נוסף לקביעת גבול תחתון כך שהשאילתה תחזיר פרטים על לקוחות שסכוס הזמנתם גבוה מהמינימוס. הפעולה מחייבת שימוש באופרטור 6חג, ולכן שני הקריטריוניס יופיעו באותה שורה של רשת עיצוב השאילתה. לאחר מציאת כל הלקוחות העומדיםס בקריטריוניס בעיר המבוקשת, תוכל להחליט להתמקד בדפוסי הקניה של הלקוחות באותה עיר. כדי לאסוף נתוניס בנושא, תוכל להתחיל בשאילתה המצרפת את הטבלאות 070678 ו- 2669(5 ז06זס. רשת עיצוב השאילתה שלך יכולה להכיל ווגות קריטריוניס נפרדיס בשורות רבות. הצבת קריטריוניס בשורות נפרדות ברשת עיצוב השאילתה משלבת אותם באמצעות ההתניה הלוגית זס. הקריטריוניס בכל אחת מהשורות יתייחסו לעיר וללקוח. העיר תהיה משותפת לכל השורות, אך לכל שורה יהיה לקוח ייחודי משלה. כדי לקבצ מכירות בצורה אלפבתית לפי לקוח, לח על השורה מלין 0ז50) של השדה ז008ז65 ובחר סדר עולה (0חו0ח566). שאילתות בחירה מיוחדות מרבית הדיון על עיצוב שאילתות עד כה התמקד במרכיבי העיצוב הבסיסיים של שאילתות בחירה (865טס 56|605). בסעיף זה נציג שלוש הרחבות של שאילתות בחירה, אשר משפרות משמעותית את הגמישות וכושר ההתאמה של היישומיס שתפתח. תחילה נלמד על אודות שאילתות פרמטר. מפתחים רביס אוהביס לעבוד עס שאילתות מסוג זה, מכיון שהן מעניקות מימד אינטראקטיבי ליישומיס. אחריס מחבביס אותן עקב קלות השימוש. שאילתות איחוד (65ח6טף חסוחט) מאפשרות לעצב נתוניס בצורה שלא ניתן להשיג באמצעות צירוף. כשיש צורך לשרשר שתי ערכות רשומות או יותר שיש להן שדות משותפים, שאילתות איחוד עשויות להיות הכלי היעיל ביותר. אליה וקוץ בה - שאילתות איחוד מחייבות ידע מעשי בשפת 501. הסעיף האחרון בפרק וה מציג סקירה קצרה על התחביר של 501 ודוגמאות רבות להמחשת השימוש בשפה. נקודה נוספת: שאילתות משנה הן הכלי הנבחר כשיש צורך בקריטריוניס נבוניס שמתאימיס את עצמם לערכיס במסד הנתונים. לעיתיס קרובות, שליטה בינונית או מתקדמת ב-501 עשויה להקל על יצירת קריטריוניס דינמייס שמשתנים לפי הערכיס במסד הנתוניס. שאילתות פרמטר שמן של שאילתות פרמטר נובע מהצורך לספק להן פרמטר בזמן ריצה כדי שתוכלנה להתבצע. בעת יצירת שאילתת פרמטר בתצוגת עיצוב (ח8ו65), תוכל לקבוע את ההנחיה להכנסת קלט בשורה קריטריונים (חטטוז0). קבע את ההנתיה במשפט הקריטריון בתור משתנה שערכו ייקבע על ידי המשתמש בזמן ריצה. ממשק המשתמש מאפשר גס להכריז על סוג נתוניס לכל פרמטר קלט. פרק 2 ממחיש כיצד לקודד שאילתת פרמטר באמצעות 0פג. בסעיף זה נתאר כיצד לבצע משימה זהה באמצעות ממשק המשתמש. 8 הח 2000 406655 תרשים 4.6 מציג עיצוב של שאילתת פרמטר יחד עס תיבת הדו-שיח המוכללת של ההנחיה. שיס לב שההנחיה במשפט הקריטריוניס של השדה 66מקטוחש תחומה בסוגרייס מרובעיס. הסימן קטן מ (>) שלפני הסוגר הפותח מגדיר את הגבול העליון של ערכי השדה 6סוזקטטוח(! של קבוצת ההחזרה. אס המשתמש יקליד 35 כאשר יונחה להכניס ערך באמצעות שאילתת הפרמטר וילח על אישור, השאילתה תציג לו את רשימת כל המוצריס שמחירס נמוך מ-355 דולר. החלון התחתון בתרשים 14.6 מציג את המוצרים הראשוניס ברשימה וגם את מספר הרשומות הכולל, העוניס על הקריטריוניס (56). |< ום|.. הויו ב בד ןו 6 זוחוהּזבּ?] זסוח ] :החל 85| 5לסטססזק | חזשפת ו וי 506% ח51וח! ו סח טוח ו [66 0671 וספת תולת 0ספו 0 | ו ד הכ[ 0000000 פהנחספה[ 7 | ₪ח5 5 6 [ :הבח 855| פלסטסזק | חזנפסת]> :בסו וס 2.00 9.00 7.00 5 5 9.00 ו 8 %:+000]9%ח0 8חו81ך ₪ 0 0 0868 | | 0 ה8א06א 233058 ₪ 5 זפ יס | הַחבּופָח אופ)] 1805 | = | 0 בי יי זופ| | 0+ מטזץ5 15886ח | = | 0-ו סד טופס | = | 200 | | 2.0 5 | 060118 56 זם |++| וז| + 1 | | 4 :006 תרשים 4.16: שאילתת פרמטר וקבוצת ההחזרה שלה פרק 4: טיפול בנתונים באמצעות שאילתות 229 משתמשי היישוס לא יפעילו בדרך כלל שאילתות פרמטר מתוך תצוגת העיצוב, כפי שעשינו בתרשיס 4.16. תרשיס 4.17 מציג את השאילתה כפי שהיא נראית בעת הפעלתה מתוך מכולת מסד הנתוניס. השאילתה בדוגמה שלפניך מחזירה את הלקוחות בבריטניה, גרמניה וצרפת, שהזמנותיהס עולות על הערך שציין המשתמש. כפי שנוכחת לדעת, אפשרות המשתמשים לקבוע את קבוצת ההחזרה הופכת את שאילתות הפרמטר לדינמיות ואינטראקטיביות. ו ו | א כ ו 3 | חו ע'וסטף 076866 ₪ 5 88 ופט 076806 8 זפ א בי :65| 3 ]0 5365 חפואו 65500075 טחו= ה 0 וווקטסחסוטחו=ועום חמ [ % ] 1166 !הזה "חנ = 010 זהח55!וה5ססיץום 5וסהעים סו סז פַהַחבת-ח66זט/יזם 5 בי 5 ביני 1155ב" 5005 זט רחפזיז ]וח =חטם = כ בו 5650 וק 55 ץ!וחה= עזם - -/ 00-6ב1/ :]ו החב = דורוור!-ב 1 = ורור]-//%4 םוחב !]הב = + תרשים 4.17: שאילתת פרמטר מופעלת מתוך חלון מסד הנתונים בי תרשים 4.18 מציג את השאילתה מאיור 4.17 בתצוגת עיצוב. לשאילתה זו שני קריטריוניס: האחד מנצל את מילת המפתת ה[ כדי לבחור לקוחות שמשרדיהס הראשיים נמצאים בבריטניה, צרפת או גרמניה. כך מתבטל הצורך להגדיר שלוש שורות נפרדות שכל אחת מכילה שם מדינה אחר. ההנחיה בעמודה 6סוזק 060ח16א₪ ממוקמת אחרי הסימן גדול מ (<), ולכן השאילתה מחזירה את כל הרשומות שמכילות מחיר סיכום גדול מזה שמציין המשתמש. ץז 561601 : 6351 |/3!650]/3 זפ 5 נוי יי חו0ש5ו]- 1[ 6סוזספוח!]* [ סוס חבט ])וחט5 :ססוזם 0 וד 0000 ₪68 : : ה ההההה הר 10 : חסו655זם [ 000000000 חספפסמקאם| -- ---------- ץם קטסזש| | = ,8 קטסז| :)סד ב עמשש צששן ה 5 בו [ :65| 3 ]0 53/65 חלוש 615500675 טחו=]]< = ("ץחהוחזסב" 7 ,"א ו וי חז תרשים 4.18: תצוגת העיצוב של השאילתה מתרשים 4.17 0 ;א 2000 466655 השאילתה שבתרשיס 4.18 מבצעת פעולות נוספות. היא מחשבת ומסכמת את מחיר הסיכוס לפי חברה וממיינת את קבוצת ההחזרה שלה בסדר אלפביתי עולה לפי מדינה ובסדר יורד לפי מחיר סיכוס של ההזמנות. שיטת העיצוב גורמת להצגת הלקוחות הגדוליס בראש רשימת הלקוחות בכל מדינה. שאילתות איחוד שאילתות איחוד הן ייחודיות מכמה היבטים. ראשית, הן מפשטות בצורה דרמטית את פעולת השרשור של שתי רשומות או יותר (כזכור, צירוף של שתי ערכות רשומות מציב אותן זו לצד זו, ולא וו אחר זו). שנית, ניתן להגדיר שאילתות איחוד בעזרת .501 בלבד. שתי התצוגות היחידות של שאילתות איחוד הן גיליון נתונים (ִסִַ5הּזְכ) ו- 501; בשוס אופן לא ניתן להציגן בתצוגת עיצוב (ח65!0כ). שלישית, לא ניתן לעדכן ישירות את ערכי השדה בתצוגת גיליון נתונים של שאילתת איחוד. שאילתות בחירה רבות שנראות זהות לשאילתות איחוד בתצוגת גיליון נתונים, הן קבוצות רשומות דינמיות (פַפחש0), אשר מאפשרות למשתמש לעדכן את הטבלה שעליה מבוססת ערכת הרשומות. אס עליך לערוך את הנתוניס שהס תוצאה של שאילתת איחוד, עליך ליצור עותק של הנתוניסם באמצעות שאילתת יצירת טבלה (%80!6 8%6) ולערוך אותס לאחר מכן. פעולת העריכה לא תשנה את נתוני הקלט המקוריים של שאילתת האיחוד, אך תאפשר לפחות לשנות את העותק של הנתוניס שהתקבלו. תרשיס ‏ 4.19 מציג שאילתת איחוד פשוטה ביותר שמשלבת את הטבלה 5 וח6וץ!ו הזה והטבלה 5ז6טות6וץ!והחהס ד5ח00ו00ה. אס אתה מתקשה בעבודה עס 1, תוכל להמשיך לשמור על פשטות שאילתות העיצוב. כתוב את המשפט הראשון בתור משפט ז55|50 פשוט שמציג את שמות השדות ומקור הרשומות של שדות בפסוקית 0ס8=. ההפניות לכל שאר מקורות הרשומות צריכות להתחיל במיליס = 5₪ אסזאש, אך הרשימה עדיין צריכה לכלול את שמות השדות ואת מקור הרשומות. ניתן לבצע פעולות מתקדמות יותר, אך אין הדבר הכרתי. תוכל תמיד לשלב את מקורות הרשומות בצורה פשוטה זו ולשמור את פעולות הטיפול המתותכמות במקורות הרשומות המשולבים לשאילתות בחירה אחרת שמתבססת על הפלט של שאילתת האיחוד. באפשרותך לבצע את הפעולות המתקדמות האלו בתצוגת עיצוב. ניתן לראות על פי משפטי ה- ז0ם |55 ו- ד0ם |55 אסזאט שאנו משרשרים טבלאות שמכילות נתונים מסוג זהה. זוהי דרישה בסיסית בעבודה עס שאילתות איחוד. מספר העמודות, המיקום, וסוג הנתוניס בטבלאות, או לפחות בשדות שאתה משלב, חייביס להיות זהים. לא ניתן לעדכן את המקור מתוך תצוגת עיצוב, אך השאילתה מחושבת מחדש בכל פעסם שפותחים אותה, עם הנתוניס העדכנייס שהתקבלו מהקלט שלה. שיס לב ש-466655 מבטל זמינות את הסמל תצוגת עיצוב בשאילתת האיחוד, ולכן לא ניתן לבחון שאילתת איחוד בתצוגה זו. עצב וערוך אותה בתצוגת .501, ובחן את פעולת משפטי 501 בתצוגת גיליון נתונים. פרק 4: טיפול בנתונים באמצעות שאילתות | 231 5 )!)0501ז6:₪ [ג] ופ וווטטחו 05סד עזפטום >וספת1 אופוע 48 שו | | כ | ₪ 5 ב א | ₪ 5 | ₪ || ב א סוי 5350085 ופול 501 501 עזט1) חסוח(! : 5ז6פחו6)ע!וחובּ ]0 [ 5חסוזו10/ ז6 םס חז6 וא ע!וחוב ]חנו לכא 5זשםהתפ1י]/י]והזה "| החסזו] הסוס | , 6החבה | , הזחה , 10חחב= לס6|ס5 0675 ח18י]/י] וחב וס ד סוה הזסז' הסוסב|₪ , שהחבּח] , סהחבּח= , ס[חחב= :5660 (וכיזוי ו תרשים 4.19: שאילתת איחוד בתצוגת 501 תרשים 4.20 מגלה את פעולת שאילתת האיחוד של תרשים 4.19. הטבלאות הזרת = ו-5ז6ט וח6וץ!ורה8= 0 ד5הסטו00 מוצגות בחלקו השמאלי של תרשיס 0; פלט שאילתת האיחוד הוא גיליון הנתוניס בצד ימין. כפי שניתן לראות מסדר ההצגה של השדה פזוח8=, השאילתה יוצרת גיליון נתוניסם חדש שמאחד את שתי השורות של הטבלה 5ז6טוח6וץ!|חח 08 0000057 לטבלה 5זסטוח6וץווחזה=. | ₪6|8000 | סתוהת | |סתובה |כומוה- | | 8 ח50ם0 | | אסות 1 | וצ הספפסכ 8ומוטזו 2 חספ ווח ח8|₪ 3 חספ וה צְחסך 4 יה |-חו-ז זו ווח צוופתם .5 [<זם) -] 8 65 )אע!וחובּ ]0 541010005 ז6סחו6 וא ע!וחובּ ]הט פא | ₪0|2000 | | סומבה! | חומה |כומוה= | | 8 הספטסם אסות ו | חהספטס ומוטזו 2 חספ וו חש 3 חספ ווח צחסך 4 5 זס |+*| ו | + 1 | ]4 יי |< |םן=. 6 [ : 68 )ע!וחוזבּ ]0 >חסוו40 8 | 361200 | סחזבח 1 | סובה | סו ב חן08]518 58 8]-חו-זטזח 33 ווח ץו|פחם 5 חן8ז08|5 008 וח | פהסותוחו | 0918 7 ד זס |>:| ואן + 1 | + ]4 :90018 ושפח | פהסוחוחופ | ז0910- 7 || 2 זט |++| 1 , |[ 4 ]4 מ תרשים 4.20: שני גליונות הנתונים השמאליים הם קלט שאילתת האיחוד של תרשים 9. גיליון הנתונים שמימין הוא פלט שאילתת האיחוד 2 הח 2000 466655 שאילתות משנה שאילתת משנה היא שאילתת בחירה המשולבת בשאילתה אחרת. שאילתת המשנה חייבת להיות משפט ז0ם |55, אך ניתן להשתמש בה בתוך שאילתה אחרת כלשהי, כגון שאילתת בחירה או שאילתת פעולה. קיימות מילות מפתח נוספות שמסוגלות למתן את פעולתה של מילת המפתח הסטנדרטית ז60ם |55₪ של 501 בשאילתת משנה. המשפט 557 מחזיר ערכים, ולכן שאילתת המשנה מייצגת אפשרות חשובה לבניית קריטריוניס דינמייס בשאילתות שמשתמשות בהם. המשפט 6607 |55 המוטבע בשורה קריטריונים (0688וז6) של העמודה פַחאַת! בחלון התחתון של תרשיס 4.4 הוא שאילתת משנה. תרשים 4.21 מציג שאילתה שמחזירה את ערכי שוִַהַּח! הבלתי משוכפלים שהחזירה שאילתת איחוד שנקראת. 5107600/0005חסו500זסוחסוץ| ורחתה הטס. | שאילתת האיחוד משרשרת שלושה מקורות רשומה נפרדים. החלון השמאלי התחתון בתרשיס 1 הוא קבוצת ההחזרה של שאילתת האיחוד. שיסם לב להופעת ערך לא משוכפל אחד בלבד של פַוִַהַח! שנקרא חו06/5%6ם. החלון הימני התחתון הוא קבוצת ההתחזרה של שאילתת הבחירה. |<1ם]- | עזסט 561601 : 5סחובּ אע!וחזה ]3160 !קט חס אח:-ועזם םה - זוז 005%וו1 5 ז ‏ הז א ע!וחזהּ -]חטף 1 |< |ם|=. -.. - 005ו0ו6/0ז5%|0חסווו5/.0ז טחוס |אע!וחוה ]הט לפא | ₪6|8008 | סתהת] | שחחפה] |0ותו8] | | |<וםו. ד | 0808! | | | ₪886 | < | 8 ח50סם ות 1 | שו | 200508 8 מוחזו/ 2 ₪ 1 זם |+<| | 12 | + | 4 :96076 500 וח | ח₪|0 3 || חספ ווח צחסך 4 || אופ|-חו-ז0זח 80 ווה ווח 5 || חן08]516 8 8 | חח פהסוחוחו | ז0910] 7 || או3]-חו-808וח | פחסוחוחו5 | פחאום ם || חח ההז = פהסחחוחום א%סות 9 || 9 זט |> ?| ו | 1% | + | 4 :96076 תרשים 4.21: החלון העליון הוא שאילתה שמוצאת ערכי שדות לא משוכפלים במקור רשומות; שני החלונות שמתחתיו הם גליונות הנתונים של הקלט והפלט של השאילתה פרק 4: טיפול בנתונים באמצעות שאילתות 233 החלון העליון בתרשיס 4.21 הוא עיצוב שאילתת המשנה למציאת ערכי סוחהַח! לא משוכפלים. שים לב לדמיון בין שאילתה זו לשאילתה שבתרשים 4.4. לבד מן העובדה שהשאילתה סורקת מקור רשומות אחר, השוני היחיד בין השאילתות הוא ששאילתת המשנה מתחילה במילים ח1 א במקוס במילה ח1. הביטוי המכיל את ח1 0% מחזיר שמות לא משוכפלים, בעוד שהמשפט האחר מחזיר שמות משוכפלים. הערה: באפשרותך לשלב את קבוצות הרשומות המוחזרות משאילתות כמו אלו שבתרשימים 4.4 ו-4.21 כדי להחזיר את כל השמות השונים, אך 66655 כולל גם דרכים גרפיות וכאלה שמבוססות על ביטויים כדי להשיג תוצאה זהה. בהמשך הפרק נתייחס בהרחבה לגישה המבוססת על ביטויים. הגישה הגרפית כוללת מתן הערך כן למאפיין ערכים ייחודיים (פ65ט|8/ 6טףוחט) של השאילתה. שאילתות פעולה 5 כולל ארבע שאילתות פעולה שניתן להפעיל באמצעות ממשק המשתמש וגם בעורת קוד. אלו הן שאילתות עדכון, הוספה, מחיקה ויצירה. כאיש פיתוח ברמת בינייס תיווכח ששאילתות פעולה הן מעניינות, מכיון שהן מספקות דרך מהירה וקלה יחסית לשיפור התפקודיות של יישומי 06655. באחד הסעיפים הקודמיס בפרק סקרנו את שאילתת הפעולה מהיבטיה התפקודיים, מבלי להתמקד באופן היישוס שלה. בסעיף זה נתאר כיצד משלבים שאילתות פעולה ביישומיס מותאמים אישית. רשת עיצוב השאילתה כוללת הרחבות מיוחדות התומכות ברכיביס התפקודיים של כל אחד מסוגי שאילתת הפעולה. בסעיף וה נציג את השאילתות ואת אופן העיצוב והשימוש בהן. שאילתות עדכון שאילתות עדכון משמשות לשינוי ערכי שדות במקור רשומות של שאילתה. מתחיליס ביצירת שאילתת עדכון בדיוק כפי שנוהגיס במקרה של שאילתת בחירה. לאחר לחיצה כפולה על האפשרות יצירת שאילתה בתצוגת עיצוב (שסו/ חףו65כ ח1 ץזסט) 670816) בחלון מסד נתונים (ס085בז8כ), הוסף מקור רשומות אחד או יותר לשאילתה באמצעות תיבת הדו-שיח הצגת טבלה (80!6ד ששסח5). למרות שס תיבת הדו-שיח, היא מאפשרת להוסיף טבלה או שאילתה אחת או יותר. באופן טיפוסי תרצה בוודאי לצרף את כל הטבלאות והשאילתות שאתה כולל בשאילתת העדכון לאחר סגירת תיבת הדו-שיח הצגת טבלה (באפשרותך להסיר מקורות רשומות לא רצוייס כלשהם על ידי בחירתם ולחיצה על מקש 08!606 במקלדת). 4 הח 2000 406655 כדי ליצור שאילתת פעולה, עליך לבחור את הסוג שלה. בחר באפשרות שאילתת עדכון (ץז6ט 6ז081סש) מהלחצן סוג שאילתה (פסץד צעזפטוס) בסרגל הכליס עיצוב שאילתה (ח0ו265 ץזפט)). חזות הלחצן תשתנה והוא יציג את סמל שאילתת העדכון (עיפרון ואחריו סימן קריאה). שים לב שפעולה זו מוסיפה שורה מסוג עדכן ל (סד 0008%6) ברשת עיצוב השאילתה ומסירה את השורות מילין (ז50) והצג (שסח5). לאחר מכן, הוסף שדה אחד או יותר לשורה שדה (16!0=) של רשת עיצוב השאילתה. עליך לכלול גס את השדה שברצונך לעדכן. ניתן לצרף לשאילתה שדות נוספיס למטרות זיהוי או כדי לסייע להגדיר קריטריוניס לקביעת הרשומות שיעודכנו. לאחר שתסיים לבחור את השדות עבור שאילתת העדכון, הכנס ערך או ביטוי באחד התאים של השורה עדכן ל. הערך שבתא קובע את ערכי ההחלפה החדשים. אס לא סופקו קריטריוניס כלשהם, הפעלת השאילתה תעדכן את כל הרשומות שבמקור הרשומות של השאילתה. שילוב קריטריון אחד או יותר יגביל את פעולת העדכון לשורות שעומדות בתנאיס מוגדריס. בעת הפעלת שאילתת עדכון, לא ניתן לבטל את השינוייס בלחיצת עכבר. עליך לשחזר את כל הטבלה מתוך עותק גיבוי, או להפעיל שאילתת עדכון אחת או יותר כדי לשחזר את הערכים המקוריים. הלחצן תצוגה (שסו/) בסרגל הכליס של תצוגת העיצוב מאפשר לבחון את הרשומות ששאילתה תשנה מבלי לבצע עדכון בפועל. לאחר שבחרת את הרשומות המתאימות, לחצ על לחצן הפעל (חווח) כדי להפעיל את השאילתה. תיפתתח תיבת הודעה ובה מספר הרשומות שהשאילתה תעדכן. באפשרותך לבטל את שאילתת העדכון בשלב זה על ידי לחיצה על לא. אס תלת על כן, יימשך תהליך העדכון. אס השדה אינו בר-עדכון, 866655 מציג תיבת הודעה מתאימה. 5 מציג תיבת הודעה נוספת אס מנסים להפעיל את שאילתת העדכון מחוצ לתצוגת העיצוב. באפשרותך לדחות את האפשרות לשנות את ערכי השדות או להמשיך. אס תבחר להמשיך בעדכון, תיבת הדו-שיח הבאה דומה לזו הראשונה שהוצגה בתצוגת העיצוב. התיבה מציינת את מספר הרשומות שישתנו ומאפשרת לשנות את הרשומות פעם נוספת ואחרונה. שאילתות עדכון יכולות לשנות שדות רביס במקורות הרשומות שלהם. באפשרותך לעדכן את השדות במקור רשומות כל עוד בידך הרשאה לעשות זאת ומקור הרשומות זמין. נתוניס מקשר גומלין מסוג יחיד לרביס הס לעיתיס קרובות ניתניס לעדכון, אך לא תמיד. לדוגמה, לא ניתן לשנות את המפתח הראשי, אם עדכוניס על פי היררכית קשריס אינס ניתניס לשימוש. שדות וערכים מחושביס בשאילתות הצלבות (67055080) אף הס אינס ניתניס לעדכון. אס שדה מחושב, שאילתות פעולה אינן יכולות לשנות את ערכיו. העורה המקוונת כוללת תיאוריס מפורטיס של שדות שאינס ניתניס לעדכון. החלון העליון בתרשיס 4.22 מציג את רשת עיצוב השאילתה של שאילתת עדכון בסיסית שמשנה שני ערכי שדה בטבלה פזססוחסואץ!ווחהּ-. שאילתה זו משנה את ערך השדה ח₪6|800 ל-500₪56, אס הערך הקודם בשדה מכיל את הערך 6 או 66וואו. שני החלונות התחתוניסם בתרשיס מציגים שתי שאילתות עדכון נוספות שמשחורות את הערכיס המקורייס של מקור הרשומות. שאילתות אלו מציינות גישה אחת לבניית פרק 4: טיפול בנתונים באמצעות שאילתות | 235 שאילתות עדכון, כך שבאפשרותך לשחזר ערכיס התחלתיים. שים לב כי יש צורך בשתי שאילתות כדי לבטל את פעולת השאילתה המקורית. כמו-כן, שיס לב שכל שלושת המקרים מכילים קריטריונים מורכבים. הקריטריונים המורכביס מסייעים לזהות טוב יותר את הרשומות המיועדות לעדכון. [< ובו ד 65 וא ע!וחובּ ] ₪888 רה :| ] ו פד ו "שח" זכ) "]וטו" | :8וססוז) וס |< ום). ‏ ... 08]6ק!] : 0116 561ט0ק 6510165 קט ג - [<וםו .5 65 )א ץ!וחוב 1 52 6615 | ע!וחובּ 1 הי ד הק ו וס תרשים 4.22: שלוש שאילתות עדכון הפעלת שאילתות השחזור טומנת בחובה כמה בעיות. ראשית, עליך להפעיל את שתיהן. שנית, 60655 מבקש את אישורך להפעלת כל שאילתה (אס תפעיל אותן מתוך החלון מסד נתונים, הוא מבקש את האישור פעמיים). אס ערכת עדכוניסם מסוגיס רבים, כדאי יהיה להפוך את התהליך לאוטומטי כדי לחסוך זמן ולשפר את הדיוק. שגרת המשנה שלפניך מבצעת את פעולת העדכון. כל שעל המשתמש לעשות הוא להפעיל אותה. ()0/116ח/₪65%076]6 5 6 85חחז560/3. וחספ "06 650076500056 קט" ץזסט0 חה6קס. 6וח6סס "0/6 [ 65%076500056 קטף" זט חהסקס. וחספ סז ד 85חוחזז5603. וחספ 50 0חם 6 הח 2000 466655 הקוד של שתי שאילתות העדכון מכיל ארבע שורות. השיטה פפַחוחז561)9 מבטלת את תיבות הדו-שיח של האוהרה. השיטה /ז6ט0ח6ק0 משמשת להפעלת שתי השאילתות, כל אחת בתורה. השורה האחרונה מחדשת את השימוש בתיבות הדו-שיח של האזהרה. שאילתות הוספה שאילתות הוספה מוסיפות רשומות חדשות מתוך ערכת רשומות של מקור אל ערכת רשומות יעד. ערכת רשומות היעד יכולה להיות טבלה בודדת או טבלאות שעליהן מבוססת שאילתת בחירה ברת-עדכון. ערכת רשומות המקור יכולה להיות טבלה או שאילתת בחירה בעלת שדות שלפחות חלק מהס תואמיס את השדות של ערכת רשומות יעד. ערכת רשומות המקור חייבת להיות במסד הנתונים הנוכתי. ערכת רשומות היעד יכולה להיות בקובצ מסד נתוניס כלשהו של ₪06655. שאילתת הוספה אינה חייבת להוסיף רשומות המכילות כל שדה ושדה ביעד, אך עליה להכיל שדה מבוקש אחד לפחות. אס טבלת היעד מכילה מפתח ראשי, ודא שערכי המפתח ייחודיים בשתי ערכות הרשומות. אס לא, ערכי המפתח הראשי לא יהיו ייחודייס, שאילתת ההוספה לא תצליח להוסיף רשומות. מתחילים בעיצוב שאילתת הוספה על ידי הוספת ערכת רשומות המקור לתצוגת העיצוב של השאילתה. לאחר מכן, מוסיפים שדות מתוך המקור אל השורה שדת (6|0=) של רשת עיצוב השאילתה. לאחר מכן, פתת את הלחתצן סוג שאילתה (6סץד ץזסט)) בסרגל הכלים ובחר את שאילתת הוספה (ץזפו0 0חסססה) כדי להציג את תיבת הדו-שיח הוספה (סחס6סס1). תיבה זו מפשטת את משימת העיצוב של טבלה אחרת במסד הנתוניס הנוכחי בתור טבלת היעד. באפשרותך גס לציין שברצונך להוסיף רשומות לטבלה בקובץ מסד נתוניסם אחר של 066655 על ידי בחירת לחצן הבחירה מסד נתונים אחר (08182856 זסחזסחה) והקלדת הנתיב ושס קובצ של מסד הנתוניס המבוקש. לאחר בחירת מסד נתונים, תיבת הרשימה הנפתחת שם הטבלה (6וח8! 180!6) מציגה את הטבלאות בקובצ שבחרת. ציין ערכת רשומות יעד על ידי בחירת שס טבלה מתוך תיבת הרשימה. אס ברצונך להוסיף רשומות לשאילתת בחירה, עליך ליצור בעצמך את קוד שאילתת הפעולה (עייןו בפרק 2 לקבלת דוגמאות לביצוע פעולה וו באמצעות סכג ו-501). לאחר בחירת מקור רשומות יעד, 860655 משנה את רשת עיצוב השאילתה שלו כך שתכלול את השורה הוסף ל (סד סחס6ס1). הוא גם מתאיס אוטומטית שדות רבים ככל שהוא מזהה בערכת רשומות היעד לאלה שבערכת רשומות המקור. ניתו לדרוס את הבחירות האוטומטיות. שדות ש-460655 אינו מתאים להם בני ווג, תוכל להתאיס בעצמך (לדוגמה, שדה ששמו שונה, אך סוג הנתוניס שלו והה). לחצ בשורה הוסף ל של עמודה, ובחר בשס השדה המתאיס מתוך הרשימה הנפתחת של שמות שדות ערכת רשומות היעד. החלון העליון בתרשים 4.23 הוא שאילתת הוספה בתצוגת עיצוב לאחר הוספת שדות בשורות שדה והוסף ל שלה, ותיבת הדו-שיח הוספה שלה פתוחה. שאילתת הוספה זו פרק 4: טיפול בנתונים באמצעות שאילתות | 237 מוסיפה רשומות מתוך הטבלה 65 ח6!וץ!וחח0=8 [5ח00ו00ג. לאחר סגירת תיבת הדו-שיח הוספה, לח על הלחצן הפעל (חטא) כדי להפעיל את השאילתה. בדומה לשאילתת פעולה אחרת כלשהי, לת על לחצן תצוגה (ש6ו/) בסרגל הכלים כדי להציג את הרשומות שהשאילתה תעבד מבלי להפעיל את השאילתה. |וםו ₪ם ו סד טחפפקה ]| 65 ע!וחזבּ 01 40:0:057/. :סב סוסב ד 5 שו ע!והחב: 6 תפז ר) %% 8‏ זסת תה 7 מכ | | | ]ה 6300 חח שוחהח= ו ב 0 סוט | יסטוטה | הזוחב טסוט | = |עווחזב=וס דפהסטוטטה | :סופד | | ₪ח5 סק ו מס |<]ם)- | עזסט) 60 : 5חסוו6זסואקבּף ופא - 65 )יאווחה ]0 1 005/)ו6/.0זס 14 - שש ב בו ] | ₪ | :בוו 5זיםח16זע] וח = 57 סוט פזסו | + *. 5ז6םוח16ז/! וחב = | + תרשים 4.23: החלון העליון הוא שאילתת הוספה שמציגה את כל השדות שיש להוסיף למקור רשומות היעד. החלון התחתון הוא שאילתת הוספה שמנצל את הכוכביות כדי לייעד את כל השדות של ערכות הרשומות היעד והמקור. החלון התחתון של תרשיס 4.23 מציג גירסה שונה של שאילתת ההוספה שבחלון העליון. | השאילתה | התחתונה | מעתיקה | את כל השדות | מהטבלה 5 6 זץ| הרהס ד5ה0סו00 סו אל הטבלה פזסטותסואץ!וחחה=. גררתי את הכוכבית מרשימת שדה ערכת רשומות המקור לשורה שדה (₪68!0) שברשת עיצוב השאילתה. באופן דומה, בחרתי את הכוכבית מהרשימה הנפתחת בשורה הוסף ל. שתי השאילתות מוסיפות את כל השדות הקיימים מערכת רשומות המקור אל ערכת רשומות היעד. לעומת וזאת, השאילתה התחתונה גמישה יותר, כיון שהיא כוללת אוטומטית שדות חדשיס כלשהס שתוסיף לשתי הטבלאות. כאשר מציגיס את השדות ברשימה באופן מפורש, השאילתה מוגבלת לשדות אלה עד שמעדכנים ידנית את הערכיס בשורות שדה והוסף ל. 8 ;א 2000 06055 הערה: במקרים אחדים, 66655 עלול לא לרענן מיידית את התצוגה של טבלה לאחר השלמת שאילתת הוספה. לכן, השאילתה יכולה לעדכן בפועל את ערכת רשומות היעד מבלי שהשינוי יבוא לידי ביטוי בתצוגה. ניתן להתגבר על הבעיה על ידי שינוי תצוגת ערכת רשומות היעד לתצוגת עיצוב ולחזור מייד לתצוגת גיליון נתונים (לחילופין ניתן לרענן את תצוגת ערכת רשומות, על ידי הקשה על 9=+8וח5). שאילתות מחיקה שאילתות מחיקה מסירות רשומות באופן תמידי מערכת רשומות יעד. מסיבה זו עליך לנהוג והירות רבה בעת השימוש בשאילתות פעולה למחיקה. הקפד להשתמש בלחצן תצוגה (ש6ו/) כדי לוודא שהרשומות המיועדות להסרה הן אכן אלה שברצונך להסיר בטרס תפעיל את השאילתה. שאילתות מחיקה יכולות למחוק גם רשומות בערכות רשומות אחרות פרט ליעד. הדבר נכון במצב שהיעד נמצא בצד היחיד של קשר הגומלין מסוג יחיד לרביס ושנבחרה האפשרות למחיקות בהתאם להיררכית הקשרים. במצב זה, מחיקת רשומה בצד היחיד מסירה את הרשומות התואמות גס בצד הרבים. כללית, עליך להגן על מקורות הנתוניס בעת השימוש בשאילתות פעולות, אך הדבר נכון במיוחד לגבי שאילתות מחיקה, על שוס יכולתן למחוק קבוצות גדולות של רשומות מתוך מקור רשומות. מומלצ לשקול הכנת עותק גיבוי של מקור הרשומות, וכך תוכל לשתחזר רשומות שנמחקו בשוגג. אסטרטגיה נוספת בטיפול בשאילתות מחיקה היא להסתיר אותן בחלון מסד נתונים (28080856), מה שיצמצס את הסיכוי שהמשתמש יפעיל בטעות שאילתת מחיקה (באפשרותך להפעיל באמצעות קוד את שאילתות המחיקה שבחרת להסתיר). אובייקטיס מוסתריס של מסד נתונים אינס מוצגיס אלא רק כשתבחר להציגס כך: בחר באפשרות אפשרולות (פחסטקס) מהתפריט כלים (100!5) ובחר את אובייקטים מוסתרים (00[665 ח006ו3) בכרטיסיה תצוגה (ש6ו/) של תיבת הדו-שיח אפשרויות. הערה: להסתרת שאילתת פעולה, לחץ לחיצה ימנית על שאילתה בחלון מסד נתונים ובחר באפשרות מאפיינים (65ז6קסזק) מתוך תפריט הקיצור. בחר את תיבת הסימון מוסתר (ח₪1006) בגיליון המאפיינים ולחץ על אישור (ייתכן שתצטרך לבטל את גם בחירת תיבת הסימון אובייקטים מוסתרים בכרטיסיה תצוגה של תיבת הדו-שיח אפשרויות). הפעולה הראשונה בעיצוב שאילתת מחיקה היא לחיצה כפולה על יצירת שאילתה בתצוגת עיצוב (וסו ח0טו65 ח1 ץזסטכ) 6ז6768) בחלון מסד נתונים. בתיבת הדו-שיח הצגת טבלה (890!6ד צוסח5), הוסף את מקור הרשומות שממנו ברצונך למחוק רשומות. צייןו את השורות שברצונך למחוק על ידי גרירת שדות מתוך רשימת השדות אל השורה שדה (0|=) ברשת עיצוב השאילתה. הכנס ערכיס בשורה קריטריונים (68וז6) של פרק 4: טיפול בנתונים באמצעות שאילתות 239 רשת העיצוב, כדי לציין רשומות יעד המיועדות למחיקה. אס ברצונך ששאילתת המחיקה תסיר את כל הרשומות ממקור רשומות היעד, הכנס כוכבית (או שם שדה כלשהו) בשורה שדה ואל תכניס קריטריון כלשהו. השורה שדה חייבת להכיל ערך אחד לפחות, כדי ששאילתת המחיקה תוכל לפעול. תרשיס 4.24 מציג את העיצוב של זוג שאילתות מחיקה. השאילתה העליונה מוחקת את כל הרשומות מתוך הטבלה פוזספחסוץ!ווחה ; היא אינה מכילה ערכיםס כלשהס בשורה קריטריונים. לו ידעת את ערכי 811" של הרשומות הספציפיות שברצונך למחוק, יכולת להוסיפס לשורות קריטריונים טרס הפעלת השאילתה. |<וםו) .₪ = 65 וא ע!וחובּ -] ג 5 טס רח16יזץ!והחב = | :ופ ד בי סו יס | < | בד ה 3 ורוו [בה 65 ע!וחובּ ] :65| 35 ]0 כ]חחבּ= 3 חסוו 860 עחבּ 6ספוטם יג 5זסםותפויז !וחב = | :סופד סזסה/ | :סוס [ :635| ב ]0 10חזב= ב הפוא 'ז860ז חב 666|פכ]=< | :הפו וס תרשים 4.24: שתי שאילתות פרמטר 0 הח 2000 466655 אם אינך יודע איה שורות למחוק בזמן העיצוב, באפשרותך ליצור את שאילתת המחיקה בתור שאילתת פרמטר. החלון התחתון בתרשים 4.24 מציג סוג שאילתה זה. ההנחיה היא ההנחיה של שאילתת פרמטר שמופיעה בזמן ריצה. משתמש יכול להכניס ערך 810" כדי למחוק את כל הרשומות שערך פ1וח8] שלהן גדול או שווה לערך שצוין. השיגרה שלפניך שופכת מעט אור על שאילתות מחיקה והוספה יחדיו. השיגרה מאפשרת למחוק או לשתחזר את כל הרשומות בטבלה 5ז6טחף6!/ץוווחהת. כשהיא מסתיימת, הטבלה פתוחה וומינה להצגה. ‏ אס תסתיר את השאילתות 5ז סרח 6וץ|ורחה= || ו-זססות6וזץ!וותהּ-]||ה76ס656קהף, הדרך היחידה להפעיל אותן תהיה באמצעות קוד, כמתואר להלן. ()0וח6כ 60000067 פט5 ס\5ס פע וחוס .05 || 061606 60 %קוחסזק י' ,"6607052 ||3 6שסוחשז 0ז +חהצו טסץ סס")א50 50 = סף68צזהש ("2000 66655 0508ח6ו1] פחווחותהזפסזק" ,ס65צסצ .3 הח6ח+ 6שסוח6 ,65ץ 5 וסאופחהּ זך ' הסח 65צפע = 65צזהּע ]1 6 65חח560/3. סוחס "5 16 ץ | || וס" סט חסקס. ח6סס סז ד 385 /56%. סוחס + 0חם .5 | 076ז65 60 +קוחסזק ' = ,"?660705] ||8 650076 0ז +חהצו טסץ סס")א₪5050 = סא68צזהש ("2000 66655 11670508 פחווחותהזפסזק" ,סא65צסצ .||3 הח6ח+ 656076 ,65ץ 5 זס/ופחב זז ' הסח ד 65צפע = ס65צזהּע ]1 6 85חח560/3. סוחס "5 16| 3 || 650 ק 3" סט הסקס. חספ סז ד 385 /56%. סוחס + 0חם .ןוסוט זס+ 313016 80!6+ 6 חחוח 6!וחצו זו 605 916+ סַהוחסקס 06ח3 פחופסו6 ' "5 רחס זץ|והה=" ,3016 861 6|056. 0ח6סס "05 רחשו ץ]והה=" 3016 דה6קס. וחספ טפ 0ח= השיגרה פותחת בפונקציה מסוג א15480! ששואלת את המשתמש אס ברצונו להסיר את כל הרשומות מהטבלה פזסטוח6ויץ!ווח8=. אס המשתמש עונה בחיוב, השיגרה מפעילה את השאילתה פזסטוח6ועווחח3ּ=!|הו00 שמופיעה בחלק העליון של תרשיס 4.24 (שיס לב כי 0ה06ץז06חסו6ה מכילה זוג משפטים שמכבים תיבות דו-שיח של אזהרה ולאחר מכן מפעילים אותן שוב). לאחר מכן, השיגרה שואלת את המשתמש אם ברצונו לשחזר פרק 4: טיפול בנתונים באמצעות שאילתות 241 את כל הרשומות של פזספוח6!ץוווח=. אס המשתמש עונה בחיוב, הקוד מפעיל את השאילתה זססוחסוץ!ווחהּת]||76זס+65 קט כדי להוסיף רשומות מתוך עותק גיבוי של הטבלה אל הטבלה פזסטוח6וזץ!ווחה=. לפני סיומה, השיגרה סוגרת את הטבלה פ5זספוחס6וץ!ווח8= ופותחת אותה מחדש, פעולה שמבטיחה שהטבלה תציג את הנתוניס העדכנייסם ביותר, ומשאירה אותה פתוחה לצפיה ב-66655. שאילתות יצירת טבלה שאילתות יצירת טבלה, בניגוד לשלוש שאילתות הפעולה האחרות, אינן משנות, מוסיפות או מוחקות מקור נתונים מקורי. המטרה היחידה של שאילתת יצירת טבלה היא ליצור טבלה של 460655 המבוססת על מקור רשומות. שילוב כלשהו של נתוניס שניתן לקשר בשאילתת בחירה, ייחשב למקור רשומות חוקי שממנו ניתן ליצור טבלה. תרחישי יישוסם אחדים עשוייס להצריך שאילתות יצירת טבלה. ראשית, באפשרותך להשתמש בשאילתת יצירת טבלה כדי ליצור עותקי גיבוי של טבלאות קריטיות. הדבר נכון במיוחד רגע לפני שיש למחוק רשומות מתוך מאגר הנתוניס של המערכת הפעילה. שנית, שאילתת יצירת טבלה יכולה לשמר את מצב הטבלה או מצב קבוצת טבלאות מצורפות בנקודת זמן קבועה. שלישית, ניתן להכין עותק נתוניס בקובצ מסד נתוניס אחד למען המטרות של יישוס מסד נתונים אחר. תמיד קיימת אפשרות לקשר נתוניס (היתרון של קישור הוא נתוניס עדכניים יותר), אך ניתן לשפר את הביצועיס באמצעות טבלה בקובצ, במקוס טבלה מקושרת שמקורה בקובצ אחר. רביעית, שאילתות עלולות להפוך למורכבות מדי לעיבוד ב-860655, או שעיבודן עלול להימשך ומן רב. במצביס כאלה, החלף את השאילתה המורכבת הבעייתית בטבלה שנוצרה באמצעות שאילתת יצירת טבלה. על ידי כך תעקוף את הודעת השגיאה הנוגעת למורכבות יתר וביצועי השאילתה ישתפרו. שאילתת יצירת טבלה היא במהותה שאילתת פעולה, ולכן קל בהרבה ליצור טבלה באמצעות שאילתת יצירת טבלה לעומת יצירת טבלה בעזרת ססה, 501 או סאס. כך יוצריס שאילתת יצירת טבלה: פתח שאילתה ריקה בתצוגת עיצוב, הוסף לה טבלאות ושאילתות בתור משאביס לטבלה החדשה, צרף קלטיס לפי הצורך ובחר באפשרות שאילתת יצירת טבלה (ץז006 6-180!6א98) מתוך רשימת הלתצן סוג שאילתה (6סץד ץזפט0). כעת, גרור את השדות שתודקק להסם בטבלה החדשה אל השורה שדת (6|0=) של רשת עיצוב השאילתה. לח על לחצן הפעל (חטח) כדי ליצור את הטבלה החדשה. אס קיימת כבר טבלה הנושאת את שמה של טבלת היעד, 4006655 ישאל אס ברצונך למחוק את הגירסה הישנה בטרם ייצור טבלה חדשה. תרשיםס 4.25 מציג שאילתת יצירת טבלה פשוטה שיוצרת עותק גיבוי של הטבלה 5 וח6ואץ!והח8=. תיבת הדו-שיח יצירת טבלה (180!0 1!866) מופיעה בעת הפעלת שאילתת יצירת טבלה. באפשרותך לנצל את תיבת הדו-שיח כדי להגדיר שס טבלה 2 הח 2000 406655 שנמצאת בקוב מסד הנתונים הנוכחי, או נתיב ושס קוב במסד נתונים אחר. לאחר מכן תוכל לבחור טבלה להעתקה מתוך תיבת הרשימה הנפתחת שם הטבלה (6חהּ 6ופב3ּד). בדוגמה שבתרשים 4.25, הטבלה שְ5000ז6פוח6!וץ!ווחג] שנמצאת במסד הנתוניס הנוכחי מוגדרת בתור יעד מסד הנתונים. הערך בשורה שדה (8!0=) שברשת עיצוב השאילתה מציין כי כל השדות בטבלה 5ז6טוח6ואץ!וחח8= לוקתחיס חלק בטבלה החדשה. לא מצויניס קריטריוניס כלשהס להכללה או להשמטה של שורות מערכת רשומות המקור. |<]? | 6וםב 7 4386 [31 1 366 - 6615 וץ!וחוה ]] 0עקס-3661 ₪ לט 6ופב ד אוסו! 11365 65 )ץוחה 1 עס -15שטות6!ז/י]וחחב. :36 פוטב ד ו 6 :תפץזןר) 1% זסתלסתה 7+ [ ב וז <] | ]| ה. = 0 (הה ה הרן הההההה ה ה | 00 ]ש ".>שסחם""ץ!חב-| :₪0 בי [ ה הך] | | ה ן] | | הןן | | ₪ | פס ו 7 תרשים 4.25: שאילתת יצירת טבלה פשוטה תכנות שאילתות באמצעות .501 ו-00 היא שפה מקובלת ביותר לטיפול בנתוניס יחסיים. רוב המנגנוניס לניהול מסדי נתוניס יחסייסם מבוססיס על 501, וכמעט כל שאילתה שיוצריס בתצוגת העיצוב ניתן ליצור באמצעות קוד 501. אס יש לך ידע מעשי כללי ב-501 (שנקראת גס 501-92), תוכל לעצב משפטי שאילתה יעילים עבור השאילתות שלך בשפה הטבעית של מנגנוני מסדי הנתוניס הללו. הסעיפים שלפניך מציגים שימושיס מקובלים של 501 ביישומי 460655. ראשית, נבחן את משפטי ז0ם 5₪. לאחר מכן נלמד על פונקציות להגדרת נתוניס. משפטי 501 המיישמיס הגדרת נתוניס יכוליס להתבסס ישירות על התחביר של משפט [0ם |55 ולשכלל את רמת התפקודיות שלו. לבסוף, נסקור טכניקות .501 ליצירה והפעלה של תצוגות ושגרות מאוחסנות. פרק 4: טיפול בנתונים באמצעות שאילתות 243 משפטי ז6ם 551 משפט ז55150 של 501 מחזיר קבוצת שורות מתוך טבלה אחת או יותר של מסד נתונים. באפשרותך להשתמש בפסוקיות קשורות, כגון =חםח/ ו- ץם הפסאס כדי לשכלל בצורה דרמטית את האופן שמשפט 507 5₪ בוחר ומציג שורות בקבוצת ההחזרה שלו. פונקציות צבירה של 501 כוללות אפשרויות נוספות לניהול קבוצת ההחזרה. משפט 660 551 בסיסי מציין עמודה אחת או יותר מתוך מקור רשומות. הנה התבנית הבסיסית שלו: 6 0 15% 601 ז6ם 551 רשימות שדות בוחריס קבוצת משנה של שדות במקור רשומות על ידי הגדרת רשימה מופרדת בפסיקיס עבור העמודה %%)₪8!0. בחירת כל השדות במקור רשומות מתבצעת באמצעות כוכבית (*). אס שדה אחד או יותר בעמודה 16!011%= נקראיס בשס זהה, אך נמצאיס בטבלאות שונות, עליך להקדיסם את שמות הטבלאות לשמות השדות ולהפריד ביניהס באמצעות נקודה. אס שס הטבלה מכיל תו רווח אחד או יותר, עליך להכניס את שס הטבלה בין סוגרייס. צירופים כדי לציין את קשר הגומלין בין שתי טבלאות המשמשות כמקור רשומות עבור קבוצת רשומות המוחזרת ממשפט 60 |55, אתה משתמש בצירופים (פחוסן). הפסוקית ואסם- של משפט ז0ם 551 מציינת צירופיס כלשהם לשילוב שתי טבלאות או יותר. צירוף חייב לציין לפחות את העמודות שישמשו לשילוב טבלאות ואת אופן קביעת ההתאמה בין הטבלאות (ניתן לקנן צירופיס כדי לציין קשרי גומלין בין יותר משתי טבלאות). סוגי הצירופיס הטיפוסייס הס צירופיס פנימיים, שבוחרים רשומות תואמות מתוך כל טבלה בזוג טבלאות; צירופיס שמאליים (פחוסן 16%) שכולליס את כל הרשומות מתוך הטבלה הראשונה ורק רשומות תואמות מהטבלה השנייה; וצירופים ימנייס (5חוס( +90וז) שכולליס את כל הרשומות מתוך הטבלה השנייה ורק רשומות תואמות מהטבלה הראשונה. פסוקיות =₪פוז/ש משתמשים בפסוקית =₪שה/\ של משפט ד56 551 להגדרת קריטריוניס לבחירת שורות מתוך מקור רשומות. בניגוד לפסוקית 80=, הפסוקית =58ה/ היא אופציונלית ומשתמשיסם בה רק כדי להגביל את הרשומות בקבוצת החזרה. 4 הח 2000 406655 האופרטורים 15 !| האופרטור האופציונלי 5א1]1 משמש למציאת ערכים בשדות שתואמים לתבנית (חזסְאהק) מסוימת. אופרטור זה תומך בהתאמת תבנית בין המנגנונים של מסדי הנתונים 26% ו- 561/61 .501, אך עליך לנהוג בזהירות, מכיון שהמנגנון של שרת קבציס מפרש תוויס כלליים (פ5ז60ז860זח6 0ז069וו) באופן שונה מזה שעושים מנגנוני שרת-לקוח רבים. לדוגמה, ]567/68 .501 670506 משתמש בתוויס הכלליים 6 ו- א לעומת )36 שמשתמש בתווים * ו-1. פסוקיות 8 0058 הפסוקית האופציונלית צ8 אםפסחס משמשת במשפט ז50 5% כדי להתזיר ערכת רשומות בסדר שונה מזה שמכתיב המפתח הראשי. מצייניס את השדה הראשון שלפיו רוציס למיין מייד לאחר מילת המפתח צ8 מפסחס. ברירת המיון של סדר המיון היא עולה (456), אך באפשרותך לציין גם סדר יורד (2550). אס ברצונך למיין לפי יותר משדה אחד, הפרד בין כל צמד של שם שדה וסדר מיון, באמצעות פסיק. הפסוקיות צ₪ 680002 ו-6א1/גו פסוקיות אלו משלימות זו את זו. הן פועלות עם פונקציות צבירה .501 כגון זאטס6 ו-1ז50. הפסוקית צ8 68005 מציינת שדות שלפיהן יש לחשב צבירים (8991698065). הפסוקית ₪4/1%6 דומה לפסוקית פמפה/ו; היא מגבילה את ערכת הרשומות המוחזרת באמצעות הפסוקית /8 680/05 לרשומות שתואמות לקריטריוניס נתוניס. מילות המפתח ד6א1ד15פ מילת המפתת ז151180כ היא אחת הדרכים להגבלת מספר הרשומות שמוחזרות באמצעות משפט ז55150. מילת המפתח מונעת כפילות נתוניס בשדות שנבחרו. הצב את מילות המפתח ז6א1511 בין מילת המפתח ז66 551 לבין רשימת השדות. התבנית הכללית של מילת המפתת: חס 6/01/50 6%ח15%1 56|66% שימוש באובייקט 6חהּוחוחס6 לביצוע .501 האובייקט 60800 של 0008 משמש לביצוע פקודת 501 כנגד מקור נתוניס באופן הבא: 1. הצב במאפיין 6% ז0חאחוחס6 של האובייקט 6החחס6 את משפט ה-|50 שברצונך לבצע. 2. הגדר את המאפיין 6שץד0ח חס של האובייקט בתור 6% 001ח806 כדי למטב ביצועים. פרק 4: טיפול בנתונים באמצעות שאילתות | 245 3. הפעל את השיטה 6ט60אם של האובייקט 0חה8וח60 כדי ליצור את קבוצת ההחזרה של 501. 4. פתח אובייקט ₪6601056% המבוסס על האובייקט 6ח8חח0ס6 כך שתוכל לטפל בקבוצת ההחזרה של 501 ביישוס שלך. הקוד שלפניך מנצל את האובייקט חחח 60 כדי לבצע משפט 501 פשוט: ()56!66%ץ] 5 סו חח 5.60 0 ג צוסא ₪5 1 החש חחוס חור 8.60 0 45 601 וחוס 5 561 וחוס .6 307 60 ה0 660 הח 60 6+ 076866 ' 8 ";508.4.0 67050.6%.01ו = זסוטסזק" ה6ק1.0 החס 8 "1606166 67050 65!= ותהזפסזק:06=6טספ הזכ" "; סח 6 תוצחל+ סא 65| 58" 0 כ סטססזק || 56166 ס% ח8 וחור 60 6060%6א6 0חה 6חו6כ ' .6 0!6ח5 3 וחסז) פסְטוהָע ' חר 8.00 20 צוסא = 601 56% 1 חס וםו/ 61 = 60000 ת6/660. "[פ|6%81 ז06ז0] וחסז? כ 6ט0סזק 56666" = 6% חח ס6. 3% = 06ץ ו 60. 6 ה)%ו\ 0חם= ה 0 56% הזטז6ז 6 הףו55ה ' אסא = 561 56% 0-6 = 6קץ 50 ט6. 561 ץ|הח6800 060 301 = 6כץ 0667 561.1 1 ה561.006ז 060% זס66א. 551 +חוזק. פטססס סט 0ח= השיגרה 5 1/56|66 מדפיסה את מספר הרשומות בקבוצת ההחזרה (2155) בחלון 6 וז (מ*ידי). קבוצת ההחזרה מתוך משפט 501 כוללת כל רשומה בטבלה ז0706 65. כברירת מחדל, המשפט 551501 בוחר את כל הרשומות שבמקור הרשומות שברקע, ומשפט 501 של השיגרה 5666 אינו מכיל מגבלה כלשהי לגבי הרשומות שיוחזרו. דוגמה באמצעות אז20 אפאאז המשפט 551507 שלפניך ממחיש רכיבים חדשים אחדים. ראשית, הוא מציג את התחביר של צירוף פנימי בין הטבלאות 5ו69 ז0706 ו-6ס6ט0סזק. שנית, הוא ממספר את השורות בקבוצת ההחזרה ומדפיס אותן בחלון 601306חחוח]. 6 הח 2000 406655 ()506!6053ץ1 פט5 סו חח 8.00 0 צוסא 5 1 חח6 חוחוס חר 5.00 0 5 601 חחוס חן 5 %1חו 66070560 טכ סכה 5 561 חחזוס .6 30 60 הס 66 הח 60 6+ 076866 ' 8 ";508.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס ₪ "16061606 67050 65!= ותהזפסזק:06=6טספ הזכ" "; סרח חלס 65!ק 58" 0 6 3 סק 015006% 56|666 60 86 חר 60 6060%6א6 חב 6חו6כ ד .5 0סחוסן +0 זוה 8 וחסז) פַטוהע ' הוח 0.00 20 עש6א = 601 56% 1 חס ושו/ 61 = 666066008 8 " ההסץ] 0686ק 2150066 56|66%" = 6% הו ס6. = 8 " חס 66ט0סזק הוס? זסחח1 [06%81!5 ז66זסז" "0610סזק.666ט0סזק = כטס6טסזק.[6%81!5כ ז66ס]" 0% = 06ץ ו 60. 6 זו\ סח ה 0 56% חזטס6ז] 6חל חט551ה ' וס סחוע 1601816 6 סל 650/55 66 %חוז סחהבּ ' שא = 561 56% 0-6 = 6קץ סט 6. 561 ]0606800 301 = 6כץ 0667 561.1 1 561.06 06% ז660א. 551 +חוזק. פטססס 51.00% סד 1 = 1שחו זס= ("6וחה\ל6ט0סזק ")561 זחוזק. פטטסס ]טסו 561 1חו %אס)] סט 0ח= המשפט ז560 551 של השיגרה 156663 מתבסס על שדות מתוך שתי טבלאות, ולא אחת בלבד, כמו בדוגמה הקודמת. המשפט מבצע צירוף פנימי על הטבלה ₪סט0סזם ועל הטבלה 268818 07087 כדי להתאים בין השדות פזזסט0סזק של שתי הטבלאות. מאחר שמשפט 501 משתמש במילת המפתח ד1571%6כ, לא תהיה החזרה של ערכיס כפולים מהשדה 6וח06%8סזס. לבסוף, הצירוף הפנימי מאפשר לשיגרה להדפיס את השס התיאורי של המוצר שמתאים לכל קוד זיהוי של מוצר. פרק 4: טיפול בנתונים באמצעות שאילתות | 247 דוגמה לשימוש ב- 50 ו- צם ה5פאס השיגרה שלפניך משתמשת בפונקציית הצבירה 50% ובאפשרויות הצירוף והמיון שלה. השיגרה מחשבת את סכוס מחיר הסיכוס לשורה לכל מוצר בטבלה 261818 ז6סזס. קבוצת ההחזרה של המשפט ממיינת את התוצאות לפי גובה ההכנסה שמניב כל מוצר (מהגבוהה עד לנמוכה ביותר). ()506!60%4ץ1 פ5 סו חח 8.00 0 שוסא 5 1 חח6 וחוס חר 0.00 0 5 601 וחוס 5 %1חו 66070560 טכ סכה 5 561 חחוס .6 30 60 הס 66 הח 60 6+ 076866 ' 8 ";4.0. ₪08 67050.6%.01ו1 = זסוטסזק" ה6ק1.0החס 8 "1606166 67050 65!= ותהזפסזק:06=6טס5 הזכ" "; סרח חלס 65| 58" 0 6 לט סק 015006% 56|666 60 80 חר 60 600%6א6 חב 6חו6כ ' .6 6060060 סוק 00 ;80165+ 60חוס[ 01 זוה 3 וחסז פ6טופצ ' חר 8.00 20 עוסא = 001 56% 01 הסו\ 1חחס = ח6600 הח0ס66ע6. 8" ,66 65.00 סק 15066 56|66%" = 6% דחו 60. 8 "*[6סוזקשוח!)].[5|ו6%8 ז06זס])ותט5" = 8 "*[שסחהט5[.]0!ו6%9 ז06זס]" = 8 " [06וק 060ח06אם] 5 (([סהטס6פוכ ]. [5|ו6%8כ זססזס]-1)" = 8 " חס [6%8115 ז0706] חוסנ זסחח1 65טוססזק וחסק-" = 8 " סשסטססזק.[5|ו6%9כ ז06ז0] = סשס6טוססזק.665ט0סזק" 8 " 6%306ט0סזק.5ז6טטסזק ץ8 קטסזס" = 8 "*[06וזקתוח].[5|ו6%9 ז06ז0])החט5 ץ8 זססזס" = 8 "*[שסחהטס].[פ!ו669 ז06זס]" "656 (([הט560וכ ]. [5|ו6%8 ז06זס]-1)" 0% = 06ץ ו 60. 6 ה)%ו 0ח= 3 0 56% הט6 %ה5%0006 56|66% ח0ן55ה ' וס סחוצ 1601816 6 סל 650/55 66 %חוז סחהבּ ' שא = 561 56% 3% = 6קץ ד50זט6. 561 1 ה561.006ז 06% ז660א. 551 +חוזק. פטססס 51.00% סד 1 = 1שחו זס= ("66וזק 060ח66אם")6!05ות. 551 , ("סות ה ס6טססזק")561ז זחוזק. פטטסס ]טסו 561 1חו %אס)] סט 0ח= 8 הח 2000 06655 השיגרה ₪1/56!66%4 יוצרת שדה מחושב באמצעות קוד. השיגרה מפעילה את הפונקציה 5 עס הפסוקית +8 680005 כדי לחשב את ההכנסה שיצר כל אחד מהמוצרים. לולא פסוקית זו, הקוד היה יוצר את השדה המחושב עבור כל שורה בטבלה המקורית, אך לא היה מספק תוצאות סיכוס לפי קבוצה (הוא היה מחשב את ההכנסה הכוללת של כל המוצרים, במקוס את ההכנסה הכוללת של כל מוצר בנפרד). הפסוקית ץ8 ₪פסחס שולטת בסדר המיון של קבוצת ההחזרה. למרות שניתן לכתוב קוד זה בצורה תמציתית (הקוד וזהה לקוד שמחשב את מחיר הסיכום לשורה), קל יותר להבינו כפי שהוא כתוב, והוא דומה לקוד שיוצרת רשת עיצוב השאילתה. פונקציות הגדרת נתונים קיימות כמה דרכיסם להגדיר נתוניס באמצעות משפטי 501. בסעיף זה נבחן כיצד ליצור טבלה באמצעות שאילתות יצירת טבלה. שאילתות יצירת טבלה הן שאילתות פעולה שיוצרות טבלה חדשה המבוססת על קבוצת ההתזרה של שאילתה קיימת. זוהי פונקציית הגדרת נתונים. בסעיף זה גם נדגיס כיצד לשנות שדה שגודל בתוספת קבועה באופן אוטומטי באמצעות מילות המפתח של 501 - = ומד אםד|ג ו- אוא 601 אםדוה. 501 4 36 כולל סוג נתוניס שדה זיהוי שמאפשר לעשות ואת. 4 36% תומך בהגדרת ערכי צעד (50600) והתחלה 70ז509) עבור שדות מונה אלה (ניתן לאפס אותס בכל עת). שגרות הדוגמה בסעיף וה כוללות כבר את כל הרכיבים התפקודיים, אך ערכן יעלה אס תבחן אותן לאור האמור בפרק 3. 815גד מפד]ג ו- אא 601 מפדוג הן חלק מקבוצה שלמה של מילות מפתח (לדוגמה, = |8ד =דשה6, אשסא1 655 ו-קסמס) שתומכות ישירות בפונקציות הגדרת נתוניס באמצעות .501. סדאז... ד0= 551 לפניך התחביר של שאילתת יצירת טבלה באמצעות .501 : 6 0 6ובּסוסב דעוסא 0 דא 15% 601 ז6= 51 אם תיצור טבלה חדשה בקוב מסד נתונים שונה מזה הנוכחי, הוסף פסוקית א1 אחרי הפסוקית סדא1 ולפני הפסוקית אסח=. השתמש בפסוקית א1 כדי לייעד את הנתיב ואת שס הקוב של מסד הנתוניס שישמור את פלט המשפט 0דא]... ד0ם |55. 6 יכול להתבסס על טבלה אחת או יותר, או שאילתה אחת או יותר ועליו להכיל את כל השדות שברצונך לכלול בטבלה החדשה שאתה יוצר. המשפט סדא]... ד0ם !55 מעתיק את עיצוב השדות שנבחרו ואת נתוניהס לטבלה החדשה. אין באפשרותך ליצור שדות חדשיס כלשהס באמצעות המשפט סדא1... ד0ם |55. תוכל ליצור בקלות את התבנית הכללית של שאילתה זו על ידי יצירתה בתצוגת העיצוב ולאחר מכן לעבור לתצוגת .501 ולהעתיק את משפט 501 אל שיגרה שמשתמשת באובייקט 00ג. אס תאמצ גישה זו, לא תצטרך לתכנן את משפט 501. פרק 4: טיפול בנתונים באמצעות שאילתות 249 השיגרה שלפניך משתמשת בגירסה פשוטה של משפט סדא]... ד0ם |55 כדי לגבות את הטבלה 60065ץוחג] שבמסד הנתוניסם הנוכתי אל טבלה חדשה שנקראת ס6הו. ()30!6 ד1366ץו פט5 600 חח 0.60 ג 5 1 החש חחוס .6600 00 61676066 ' הסוח ה 0ס0[660.6 66% = 1חחס 56% .ץז 866%80!6 זס? ‏ 501 6זט66אם ' 8 " סדא1 *.5ז6טוחסוזץ!ווחה- 07 551" 6זטס6אם. 1החס "5 רחש ץ] ווה 0 קטא836 =" .5 3080 1886602= ]1 18165 6זט660סזק פוחד ' 50 06ח= למרבה הצער, בדרך כלל כדי ליצור ולהפעיל משפט סדא... ד0ם 551 לא די בשני משפטי ספה הללו. לדוגמה, שיגרה זו תיכשל אס הטבלה קט8866= כבר קיימת. השיגרה יכולה להיכשל גם אס משתמש נוסף יפתח את אחת הטבלאות. קשיים אלה ואחריס מחייבים מנגנון ללכידת שגיאות. הדוגמה שלפניך ממחישה מנגנון אפשרי ללכידת שגיאות ביישוס המשתמש בשיגרה בעלת משפט 0דא... ד0ם 55. ()62|סה ד6אהוץו! 5 :62 6070 זסזזם הס הסוח ח 0.60 סכה 5 1 החש חחוס .6600 00 61676066 ' הסוח ה 0ס0[660.6ז 66% = 1חחס 56% .5 0186 חח 10 656 ' 1 86ו₪8.זזם - ' .ץזסטף %8216-6א זס+ ‏ 501 6זט66אם ד 8 " סדא1 *.5ז6טוחסץ!וותה- 07 551" 6זטס6אם. 1החס "5 רחש ץ] וה = קטא836 =" 62: .500 6 61% 0ח3 חחוחסח 60 |ה 60 6 56% 30 הס0 66 החס6 6 0|056 ' 6 הַחוח%ס = 1חחס 56% סטפ +ואם 0 ;א 2000 06655 :זז 62אה ו .5 ץ680ז| 90|6+ זס+ קְפזד ' הפחד 2147217900- = זססוחטא.זזם +1 "886 6|ס3ד קסזם" 6ז660אם. 1 החס 56 56 | 8 " 00860 חח ח3 078%60ח06 החהזטסזק סד" אס ₪15 6 " 876 ה00קו0650 0חה3 זססוחטח 155 .זסזזס" = ,|₪68ופשע , הססק ו 60פסכ.זזם 8 " :" 8 זססותטא.זזם "2000 66655( 11670506 פהורהוחבּזוטסזק" + 0חם 13662 6506 סט 0ח= שיגרה זו מבצעת משימה זהה לזו של השיגרה המקורית, אך היא לא תיכשל גס אס הטבלה 0ש18866= כבר קיימת. המטפל בשגיאות מוהה שגיאה מסוג זה ומוחק את הטבלה הקיימת בטרס תבצע את הפקודה פעסם נוספת. במקרה של שגיאה אחרת, היישוס יציג את המידע החיוני בתיבת הודעה כך שהמשתמש יוכל להודיע למפתתח היישום על הבעיה. השיגרה כוללת רכיב נוסף ללכידת שגיאות: מייד לאחר הקמת החיבור, הקוד יכול לקרוא לשיטה 83156 של האובייקט זזש (הרכיב מסומן בתור הערה, אך דאגתי להסיר את הסימון כדי להעריך את ביצועי מנגנון לכידת השגיאות). שימוש זה באובייקט זזש יוצר שגיאה מלאכותית שמסייעת לגלות כיצד יש לעצב את השיגרה כך שתגיב לשגיאות בלתי צפויות. הדוגמה גם סוגרת את החיבור ומגדירה את האובייקט ח6600חחס6 בתור פחוחזסא. שתי פעולות אלו דומות בייעודן ומשלימות זו את זו. בעת סגירת חיבור, המשאבים ששימשו לצורך החיבור הופכים ומיניס לשאר המערכת. יחד עס ואת, האובייקט נשאר בויכרון, ומאפייניו אינס משתניס. בשלב מאוחר יותר, תוכל לפתוח את אותו אובייקט ח0ו660חח0ס6 עם הגדרות המאפיינים הקודמות שלו או עס הגדרות שונות חדשות. עליך להגדיר אובייקט בתור פַחוחזסא כדי להסיר אותו מהזיכרון. שימוש ב- = ומגד אשד וג וב- אאט וס6 אשד וה כדי לאפס שדות %חהסוחס'ו6חוססט מפתחים רביס לסביבת 460655 יתלהבו מאפשרויות השליטה החדשות בסוגי נתוניס סח 60 (מונה) המשמשים כשדות זיהוי של רשומות. בפרק 3 למדנו כבר כיצד לקבוע את ערכי ההתחלה והצעד (תוספת) של שדות מונה. מייד נלמד דרכים נוספות להגדלת רמת השליטה בשדות אלה. השיגרה שלפניך מגדירה את ערכי ההתחלה והצעד של סוג הנתוניס זס%חטס6. פרק 4: טיפול בנתונים באמצעות שאילתות | 251 (ק6ז%5ח! ,5%8%חו)%07ח600ז₪656 פט5 חס 66 ה חה0ס0. 308 5 1חח6 וחוס וחוו שו זס? .5001 666016 80 חהסו66 הח 60 61676066 ' הסוח 060.00 ק 66 = 1החס 56% .5 חח זה 035560 6167600665 +%08 חַחו50 .501 076866 ' 8" 65 האס שורה ם |ד חם ד 1" = 507501 8 " 10600 310 אואע 601 אםד וג" "(" 8 0ק566חו .8 "," 8 + בזסזחו 8 ")" זז 00 6 2086 0+ %ח9%616ז5 .5001 606 6ז660אם ' 1 6606אם. 1החס סט5 0חם השיגרה ז6000%0ז₪656 מדגימה כיצד להפוך פקודת ‏ 501 לדינמית על ידי הוספת ארגומנטיס למשפט ‏ 501. תהליך זה דומה להעברת ערכים אל שאילתת פרמטר. השיגרה ז₪656)6000006 משנה את ערך השדה פ1ח8" בטבלה 8365 זסטוח6וץ!ווחה= וקולטת שני ארגומנטים. ארגומט אחד הוא ערך שדה המונה החדש של הרשומה הבאה שתתווסף לטבלה; הארגומנט השני הוא גודל הצעד עבור הרשומות הבאות החדשות. באפשרותך להפעיל את השיגרה על ידי הקלדת שורה מעין זו בחלון המיידי: 65600000" 2 שני ארגומנטיס אלה מאלציס מתן ערך 2 לשדה פ1וח8] ברשומה הבאה שמתווספת לטבלה. כל ערך שדה כ81] בכל רשומה נוספת יגדל ב-2 לעומת השדה ברשומה שקדמה לו. היזּהר בקביעת ערכי ההתחלה והצעד, מכיון שאתה עלול לגרוס להפרת כללי מפתח ראשי (כגון ערכים כפולים) וכך לשלול מהמשתמשיס את הזכות להוסיף רשומות חדשות לטבלה. למרבה המזל, 2000 8606655 מאפשר לסקור באמצעות קוד את ערכי שדה המונה הקיימים, ולכן תוכל ליצור קוד שיהיה מוגן מפני בעיה זו. השיגרה הבאה מדגימה זאת. משפט 501 הוא לב-ליבה של ז6זחט₪656%60. כפי שניתן לראות, השיגרה כוללת שלושה מרכיבים קריטיים. מילות המפתח 5 481ד 55ד1ה משנות את עיצוב הטבלה שצוינה. מילות המפתח א 601% אםפדןא משנות את עיצוב השדה שצוין. מילת המפתת צד דא5ס1 מעדכנת את שדה המונה בהתאם לארגומנטים של הערך ההתחלתי וערך הצעד של השדה. השיגרה ז16ח56%₪6560600 שלפניך ארוכה, אך אינה מורכבת ביותר. היא מנצלת שיטה שמטפלת בערכי שדה מונה מבלי לגרוס להפרות כללי מפתח רשומה. תרשים 4.26 מציג את הטבלה כפי שנראית מייד לאחר הפעלה מוצלחת של השיגרה 65660 5. שיס לב כי השדה 8₪12] ברשומה הראשונה מכיל את הערך 2, ואילו השדה 810" ברשומה הבאה אחריה מכיל ערך גדול בצעד של 2. השדה פ1וח8- ברשומה השלישית מכיל את הערך 8, ולכן אינו עקבי לערך הצעד. בנוסף, ערך השדה סזוחג] ברשומות הבאות גדל בצעד של 4 בכל רשומה חדשה. השינוי בערכי ההתחלה והצעד של שדה המונה נובע מהקריאה ל-060ה₪6560600. מחרוזת טקסט בשדה ו סות6ואץו! מסמנת את השינוי בערכים אלה. 2 הח 2000 406655 <1ם). | ב חן ה ה וו ה ו :| 8000]7686ע1 | | 6ב%ה80וסק | | כו | | | 2 = 5180 , 918₪ ה050כ אוה 2 גו הס5טסכ הוחואזו/י 4 5187 .6 513 אופח וח 588 ווח הפו 8 ווח צהסד 12 ווח צוופחם 16 ( זט חנו סז 5 01 |++| זו וו | . |4ו 0 תרשים 4.26: הטבלה פסוהּ)זסטוחסוץ!ווח8= לאחר ביצוע השיגרה ז0%60ט5616656)60 ()56065610000%67 50 סו חח 8.00 00 עוסא 5 1 החש וחוס חר 5.00 0 5 601 וחוס , שוס6 5 502 ,₪6607056%. טכ סכה 5 561 חחוס זז 5 61חו הזוס .60006600 61676066 ' הסוח 060.60 ק 606 = 1חחס 56% 60 80!6? 656% 800 8016+ 65ה באס טרס זץ|ורחה= ז6|68 ' 6 385 /560. וחספ "35 1 רחש !ץורח ה !01" סט ה6ק0. הס סז ד 85חוח56037. וחספ 2 ,2 6560600067 6+ והסזז 65%80!6 חבס רחשו ץ| ור 6 סף 660705 01 6!קטס6 8 00 ' .5 5060 30 +1ה5% |₪8וחו 6+ השועו 816 5זס סוחס זץ!ורתה- ' ש6) = 561 56% 30026066/560 ,1 החש ,"ראזס רח6וזץ! ווח" ה6ק961.0ז 6 00 ,1506 וטק 0660 וה ,הזוס 30006 ,1 החש ,"5זס םס הוח6וזץ!ורח8=" ה902.006ז 6 ,066680 וה 2 0ד1 = 1שחו זס= 00 561 (502)2] 8 " " 8 (502)1] = (561)1ז חסחך 1 = 61חו ]1 "2 = 5600 ,50910" = ("6!0! סותסואץוא")51ז 0חם עסו 2 6 1חו )אסא 6 1 פרק 4: טיפול בנתונים באמצעות שאילתות ‏ 253 5 6])60ו 1חח= || 56!66% 60 80 וחור 60 660%6א6 0חה 6חו6כ ' .6 סח 60 185% <-- 115% 6ט|פע כ1חחבּ= 656ח0וח הסוצש' וו 8.00 20 עוסא = 601 56% 1 חס שו/ 61 = 66008 ת6/660. 8" 365 רח6זץ!ורחה- הס כ1וח3= 561666" = 6% דחו 60. "0656 כ1וחה- 8 זססזס" 0% = 06ץ ו 60. 6 ה)%ו 0חם= .5 שח 60 506 800 5086 656% סש %| ₪56 0חה ,8|06/ זס6חט 60 35%| 686 ' שצשוס)] = 561 56% ץוח זה ס- 3006 = 6קץ דוספזט6. 561 ץ|הח6800 060 301 = 6כץ 0667 561.1 1 ה561.006ז (541)0] = 61ח! 6 1 1חו ,1)חו + 1+חן [%6ח₪6566600 6 5זס0 וח6זץ|ורחה-] 66 וחסי 660705 8ַהוחוהוח6 00 ' 5 רס ץ| ווה 06 סט .65 50 300 +5%81 סח 6+ ח6וצו 80!6ז ' 3000686560 ,1 החש ,"35 רחש זץ!ווחה-" ה6ק561.0ז 6 00 ,6 ווק 0א6ס וה "5060 8 531% שוסח ץוח 566" = (561)2ז 3 = 61חו 502.50 טח סס 0 561 (15%2)2 8 " " 8 (502)1] = (5%1)1] חסחך 3 = 61חו ]1 "5060 .8 503% שוסח ץוח 566" = ("6|0ןסות6 ")51 + 0חם עסו 502 1 + %1חו = 1זחו בו קסס | השיגרה ז561665616000%0 כוללת שישה חלקיםס המופרדיס בהערות. החלק הראשון מקיס חיבור אל מסד הנתוניס הנוכתי. החלק השני מפעיל שאילתת מחיקה שמסירה את כל השורות מתוך הטבלה פסותּ]זססוחס!אץ!ווחה=, מאפשרת להציג אזהרות מערכת על ידי קריאה לשיטה פַחוחז9ּ)560, ולאחר מכן מגדירה את ערכי ההתחלה והצעד של המונה של הטבלה 65ו80ז6טוחס6!אץ!ווחה= על ידי קריאה לשיגרה ז0זחט₪656060. 4 הח 2000 406655 החלק השלישי משתמש בלולאה א86...זס" כדי להעתיק את שתי הרשומות הראשונות של הטבלה 8זסטוחסוץ!!וחה= אל הטבלה 6סה8אזסטהחסואץוווחא=. מנגנון מסד הנתוניס + מקצה אוטומטית ערכי פ1וחג8] לשתי הרשומות הללו באמצעות ערכי ההתחלה והצעד שהוגדרו בחלק הקודס של השיגרה. החלק השלישי מפעיל את האובייקט 6ַחא 60 כדי למצוא את השדה פ1ח8" בעל הערך הגדול ביותר בטבלה פסוַּזסטוחסואץ!וחחא=. כשהפקודה מתבצעת, היא ממיינת את רשומות הטבלה בסדר יורד לפי השדה כ81=. כתוצאה מכך, הרשומה בעלת הערך הגדול ביותר בשדה 8010" - המפתח הראשי של הרשומה - מוצבת בראש קבוצת ההתחזרה. ידיעת ערך גה מאפשרת ליישוס לקבוע ערך התחלה חדש עבור רשומות נוספות, כזּה שאינו משכפל את ערך המפתח הראשי של רשומה כלשהי בטבלה. החלק החמישי פותח ערכת רשומות בקבוצת ההחזרה של הפקודה ומאחסן את ערך השדה פ1ח8] של הרשומה הראשונה בקבוצה. לאחר מכן, חלק זה מפעיל את השיגרה 6560600007 כדי להגדיר ערך התחלה חדש כפול מהערך הגדול ביותר בשדה פ1ח8= וגס ערך צעד חדש ששווה לערך הצעד הגדול ביותר בשדה פזוח8ּ". החלק האחרון מוסיף את הרשומות שנותרו בטבלה 5וז6סח6וץוווחה לטבלה 65 0 וח6!ץ!ווחא=. כדי להגדיל את גמישות השליטה בשדות מפתח ראשי מסוג מונה, העמודה סח6ו] מכילה הודעה המציינת כיצד השיגרה ז56%0606000%6 מטפלת ללא בעיה בשדה המונה. תצוגות ושגרות מאוחסנות 0 8066658 כולל תצוגות ושגרות מאוחסנות שהיו פעס ומינות רק במערכות מתקדמות לניהול מסדי נתונים. 2000 860655 מיישסם תצוגות, שאינן תומכות בפרמטריס, בתור שאילתות מאוחסנות שמחזירות שורות. 2000 60655 כולל שגרות מאוחסנות בתור שאילתות פעולה מאוחסנות וגם שאילתות פרמטר הפועלות כשאילתות פעולה או שאילתות בחירה. כפי שתיווכח לדעת, ניתן להשיג תפקודיות של שאילתת פרמטר על ידי העברת קבועי מחרוזת לשיגרה שממזגת את הערכים המועבריס אל משפט 501, וביצוע המשפט. תצוגות המשפט שם1/ ם דהםחס יוצר תצוגה על ידי הוספת שאילתת בחירה מאוחסנת לחלון מסד הנתונים תחת קטגוריית האובייקטים שאילתות (865ט0) (בפרויקט 466658 מסוג 0ְ80.*, התצוגות שמורות תחת קטגוריית האובייקטיס תצוגות (65ו/) של חלון מסד הנתוניס). תהליך היצירה של שאילתת בחירה שמורה באמצעות ש4ם1/ 685475 ישיר יותר מאשר באמצעות 800, מה שמתייב יצירת אובייקט מסוג 0ח8חח 60 והוספתו לאוסף 5ש6ו/. השיגרה שלפניך מדגימה את התחביר ואופן הפעולה של משפטי /ו=1ש 68545 בקוד של 0ג. פרק 4: טיפול בנתונים באמצעות שאילתות | 255 ()ו6768%6/16 ס5 660 ה חה0ס0. 308 5 1חח6 וחוס .6006600 61676066 ' הסוח ה 0ס0[660.6 66% = 1חחס 56% .שוסוץ ז0? 501 6006אם ' "608060007165 וחסז- * 507 551 85 שסו/ץ08%6007 סו 076866" 6לטס6אם. 1החס 0חו/8680856כ 607657 .5 ץ680ז|3 636600716 ]1 18115 6חסטסז 6|קחו5 פוחדי סט 0ח= השיגרה מפעילה את השיטה ₪6660066 של התיבור ומעבירה אליה משפט ששםז/ ₪דה=ח6. שס שאילתת הבחירה בא מייד לאחר מילות המפתח /1564/ 5דג=6 ואחריו מילת המפתח 45 ומשפט ז0ם 551. המשפט ז60ם ]55 יכול להיות משפט ד0ם |55 כלשהו מהסוג המקובל. לבסוף, השיגרה קוראת ל-צוס0חו/₪60765028182856 כדי לעדכן את חלון מסד הנתונים כדי שהמשתמש יוכל להציג את השאילתה החדשה מבלי שיצטרך לרענן מחדש את החלון. ל-וו0768%616 יש חיסרון: היא נכשלת אס התצוגה שהיא מנסה ליצור, קיימת כבר. באפשרותך, כמובן, להסיר בעצמך את השאילתה הישנה, אך ניתן למחוק אותה גס באמצעות קוד. שתי השגרות שלפניך ממחישות גישה אפשרית לפתרון הבעית: (8חו567 45 6ב עע10/)/ש0ו/0|866 676800 סט5 חסו66 ה 308.00 5 1חח6 וחוס 0 5 6861 וחוסם צוסו/. 0 5 1צוסע חחוס צוסוע זס1 006605 61676066 ' הסוח ה 0[660.60זק%ח6 6 = 1חחס 56% 08 שו6ס) = 0801 56% 1חחס = 66000 הה6600עו6ה. 68%1 .5 סרח 5 /. 68+1 ח1 1אוסע ח86ם וס .חסופזסע שוסח 3 חטושו + 60!366ז 300 צוסוע ס0סחחבּח 6ססוסכ ד חסחד 6רחהּ\/ע16/ = 6וחהּא. 1/שוסע +[ סוחהּ)/16/ 5.6|6%6/וסו/. 681 16/36 / צוסו/ו6768%6605%0 טפ זוא= + 0חם 1וס/ 46% .ח5078606 וחס"] 676806 ,6ז6ח %סח 15 עוסוע שח זז ' 36 ]עסו/ עש6ו/ 6768166050 0חו/8680856כ 60765 סט 0ח= 6 הח 2000 06655 (6החה עסו/ ץש ) צסו/ר6768%6005%0 סט5 ,60 חח 08.00 ₪5 1 חהח6 וחוס 6 זס? .5001 666016 80 חס 66 הח 60 61676066 ' הסוח ה 0ס0[600.6 66% = 1חחס 56% .וע זס+ 0חו507 .501 0768%6 ' "680600765 וחסז- * ז56!60 35 " .86 סשות3ּ\צוסו/ץ] 8 " עסו 076866" = .507501 סו וה60500 6+ 076866 ' 1 660%6אם. 1החס 0חו )086980856 67765 50 06ח= השגרה א6₪ו/670816₪60|366 אינה מבצעת ישירות את המשפט ץץם=זע 5זַמ5ה6; היא משאירה משימה זו לשיגרה השנליה, 676806005000/6. 6₪ו/00|866 670800 ממספרת את התצוגות כדי להעריך את הצורך למחוק את התצוגה הישנה לפני שמנסיס ליצור תצוגה חדשה ששמה זהה. לאחר מכן היא קוראת לשיגרה ש6ו/05000ו0768%60 ומעבירה את שס התצוגה שיש ליצור. 6₪ו/0768%6605000 זוהה בעיבובה לשיגרה שבדוגמה הקודמת, אך היא מנצלת שרשור מחרוזת עס הארגומנט המועבר וקבוע מחרוזת, כדי להרכיב משפט 501 עבור השיטה 6ז660אם של החיבור. יוצריס תצוגה חדשה על ידי הקלדה של פקודה פשוטה בחלון 60|806חחח1, הנה כך: 'ש807600//76//" /ש0013666 668% שס התצוגה יופיע בין מרכאות כפולות. ניתן לשנות בקלות את 6ו/6768%6₪60!866 כדי לאפשר משפט ז0ם 551 דינמי. במקוס לעבור בצורה מחזורית על מרכיבי האוסף 5או6ו/, תוכל פשוט לנסות ליצור תצוגה חדשה וללכוד את השגיאה שנגרמת כתוצאה מתצוגה בעלת שס והה. מספר השגיאה של תצוגה כפולה הוא 2147467259-. לכוד מספר שגיאה זה ומחק את התצוגה הישנה בטרס תבצע מחדש את המשפט שוםזע = דה₪חס6. השיגרה או6ו/6!0= בתקליטור המצורף לספר ממחישה גישה זו. שגרות מאוחסנות שיגרה מאוחסנת מפשטת את השימוש החוזר בקוד 501. שגרות מאוחסנות מבצעות פעולות כלליות, כגוןו שאילתות מחיקה, עדכון או הוספה וקולטות פרמטרים בזמן ריצה הן עבור פעולות כלליות והן עבור שאילתות התזרת-שורות. משתמשיס במשפט ₪06ק 60576 כדי ליצור שיגרה מאוחסנת. התחביר הכללי של משפט זה והה לזה של המשפט /שםז/ םדהםח60. לאחר המילים ₪06ק 65475 מקלידיסם את שס השיגרה המאוחסנת ואת מילת המפתח 5ג, המשמשת עבור סמן ההתחלה של קוד 501 המגדיר את התנהגות השיגרה המאוחסנת. באפשרותך לעצב שאילתות פעולה בתצוגת עיצוב השאילתה של 466655, להעתיק את קוד 501 בתצוגת ולאחר מכן להדביק את הקוד שהעתקת אחרי מילת המפתח 5. פרק 4: טיפול בנתונים באמצעות שאילתות | 257 שגרות מאוחסנות אינן מופיעות בחלון מסד נתונים (28%80856). לעומת זאת, הן קיימות בתור פריטיס באוסף 06660765ז של האובייקט 6918104. הקוד :כול להתייחס לשגרות יחידות באמצעות סכמת אובייקט היררכית זו. לדוגמה, אס היישוס יוצר שיגרה מאוחסנת שמוחקת רשומות, השיגרה קיימת באוסף 070660065 (יחד עס שאילתות הפעולה בפרויקט). השיגרה שלפניך מציגה את התחביר שמיישס את המשפט ₪06ק םדג5ח0. השיגרה מפעילה את השיטה 56606 של האובייקט ח66000חחס6 ומעבירה משפט ‏ 501 בתור מחרוזת. המשפט 06אק 655475 מנסה ליצור שאילתה שנקראת 6!60610656ש. השאילתה מוחקת את כל הרשומות של הטבלה 68וח3אזסטוח6וץ!ווחג] שערך השדה סג שלהן הוא 10 או יותר. אם לא ננקוט אמצעיס מיוחדים, השיגרה תיכשל במידה שהשאילתה 06!60677856 כבר קיימת. כדי לאפשר להפעיל את השיגרה גס אס היא כבר קיימת, הקוד ממשיך להתבצע מהשורה הבאה במקרה של שגיאה. ()006|6%6 [0768%60706 5 6% ₪656 זסזום חס חסוז66חח60. 08 ₪5 1 החש חחוס 8 5 6861 וחום 6זט סק ₪5 61סזכ חזוס סה 60 5 601 וחוס .6006600 61676066 ' הסוח ה0ס0[660.6 66% = 1חחס 56% 0 שו6) = 0861 56% 1חחס = חה0 660 ח660ע60. 68%1 חר 60 צוס] = 601 56% 61 = 66000 60/6000 1 0וחס .00 06 86 60 5001 6ז660אם ' 8" 45 656 266067 270660076 076806" 6זט66אם. 1החס "10<=10חה= 6ז6ח/ 65 באס רחס זץ|ור3- וחסז= 66ו6ס" .65 ה60!!6600 06600765זק 6זהזסרתטחם ד 660076 30 65 סכ חר 60 56% ,6זטו060סזק 656 66067 זסת ' 5] חן 61סכן ה₪86 זס= חס ד "656 616067" = ס6ההּא. 61סזק זז 6וחה. 061זכן = 6% 87 60. 601 6 = 6כץ חר 601.60 6 + 50 1זס אסא סט 0ח= 8 הח 2000 06655 השיגרה 67680607061006!6466 מתחילה בסדרת הצהרות והצבות שתפקידן לתמוך בלוגיקה ליצירה והפעלה של השיגרה. השיטה 6ַ0600אם של האובייקט ח6600חח0ס6 יוצרת את השיגרה על ידי הפעלת משפט ‏ 501. בשלב וּה, אם השיגרה כבר קיימת, תתרחש שגיאה. השיטה 66006א5 מוסיפה בפועל את השיגרה ₪6|60610656 לאוסף 5 בקטלוג של החיבור. שגרות שוכנות באוסף, ולכן ניתן למספר את חברי האוסף באמצעות לולאת חסם...זס=. הדוגמה משתמשת בלולאה כזו כדי לאתר את 6!6%61708656כ. ברגע שמוצאת את השיגרה, היא מציבה את המאפיין שוחבא (שם) של השיגרה במאפיין + וס של האובייקט 6הח0ס6. לאחר מכן היא מגדירה את המאפיין 6 ו 60 של האובייקט 6חאה 60 בתור 706ק60ז05%0ח06א. שתי הצבות אלו יוצרות את מחרוזת ‏ 501 שנקראת 26|606170656 6ז660א5. הפעלת השיטה %6ז660אם של האובייקט 0ח8 60 מפעילה את השיגרה ב-36 ומסירה את הרשומות מהטבלה 5 רחס ץ| ווח . באפשרותך ליצור גירסה גמישה ונבונה של הדוגמה הקודמת בכמה דרכים. ראשית, מנגנון משוכלל יותר ללכידת שגיאות יכול לבודד סוגי שגיאות אחריסם שמקורס בשיגרה. שנית, באפשרותך לגרוס לשיגרה לקבל פרמטרים עבור השדה פ1ח8=ת. הדוגמאות שלפניך מנצלות את המשפט ₪06ק ₪ 6057 כדי להגדיר שאילתת פרמטר שמוחקת את כל הרשומות שבטבלה פסותּא)ז6סוחס!ץ!וחחה= שערך השדה פ1ח8" שלהן שווה או גדול מערך שהוגדר בזמן ריצה. הקוד מזכיר את שלבי הגדרת ערך פרמטר של פקודה. שיס לב כי עליך ליצור את הפרמטר, להוסיפו לאוסף פ5זוסזְסוחִהּזְ833 ולאחר מכן להציב בו ערך. שגרת הדוגמה גס לוכדת שגיאות שמקורן בניסיון ליצור שיגרה ששמה זהה לשס של שיגרה קיימת. ()006|6%62 [6768%67706 ס5 2 6070 זסזום חס הסוח 08.60 ₪5 1 חהח6 וחוס חר 8.60 0 45 601 וחוס ההק 35 1 וזכ וחוס הס 660 60 61676006 הסוח ה 0ס0[660.6ז%ח6 6 = 1חחס 56% 5 680 חח זס 65% די 1 ₪8186.זזם | ' 6ז סכ 6 86 50 .5001 660%6אם' 8 " 2616060656 06זק 076806" 6ז660אם. 1 החס 8 " 5 (8חס] 1זסזסוחהּזבק)" 8" 65הזס רחש ץ|ורחה- וחסז- 6!6%6כ" "1 זובזב = <10וחהּ= 6זסח//" פרק 4: טיפול בנתונים באמצעות שאילתות 259 0 60 0+ 6ו660סזכן החסז .501 559 וו 8.00 20 עוסא = 601 56% 1 חס ושו/ 61 = 66008 ח6/660. "656 26|6067" = 6% הו 60. 6 = 06ץ ו 60. הז%ו 0ח= 3 765 06600זק 6חז ז56' ,"601 הזהק" )601.00 = 1וחזק 56% (ז6 060 1חזס 0חהס6קקה.5זסז6רח ה זהק. 601 0 = 6טוה/. 1חזזס 0 60 6 הו %ה500066 .5001 76'5ו660סזכן 06 6אסטחד' ב :א 62| 0 6וא= 62 החד 2147217900- = זספוחטא.זזם +1 5 1680 6זט660סזכ זס1 ספזודי "656 616067 6סזק קסזכ" 66ט66אם. 1 החס 56 56 8 " 608060 חח ח3 000678560 הההזפסזק סד" א0סף5וו 8 " 6זה הסק0656 300 זסטותטח 165 .זסזזס" = ,|68וזפע , הססק ו 0פסכ.זזם 8 " :" 8 זססותטא.זזם "2000 266655 1167050 פחוו וחהזטסזק" + 0חם 6662 6506 סט 0ח= בעת ציון פרמטר במשפט ₪06 = ד6₪5, הכלל את הצבת הפרמטר לאחר שס השיגרה, אך לפני מילת המפתח 5. באפשרותך להצהיר את שמה ואת סוג הנתוניס שלה בפרמטרים, כפי שניתן לראות בדוגמה. מפניס שנית לפרמטר בפסוקית =מםה/, כדי להגביל את פעולת השיגרה. התחביר זהה לזה של שאילתות פרמטר שיוצריס בתצוגת עיצוב. שיס לב כי אינך צריך בעצס לעבור בלולאה על האוסף 6660765סו₪ כדי להפעיל שיגרה ספציפית. באפשרותך להתייחס לשמה כל עוד תגדיר את 06ז8060005607600 בתור הערך של מאפיין הפקודה, 6קץד0ה8חוחס6. הדוגמה מציבה את הקבוע 10 בפרמטר (1ַזססוחז8ק) כדי לשמור על עקביות עס הדוגמה הקודמת, אך תוכל להשתמש במשפט הפונקציה אספזטסח1 או בטופס כדי לקלוט את הערך עבור הפרמטר. 0 ה 2000 406655 הדוגמה גס כוללת מנגנון בסיסי ללכידת שגיאות למצב שקיימת כבר שיגרה בעלת שס זהה (מספר שגיאה 2147217900-). השיגרה 006!6062 676806061 עושה דבר פשוט: היא משליכה את השיגרה הישנה במקרה של שגיאה על ידי הפעלת המשפט ססמס %6. תחביר המשפט הוא '806/סעסססס/ש 6סחק קסמס יי. הפעלת שאילתות על מקורות נתונים מרוחקים עד כה, הדוגמאות שהצגנו בפרק התייחסו למקורות נתוניסם מקומייס, או כאלה שנמצאיס בקוב 460655 אחר. 2000 466655 מאפשר לעבוד עס גס מקורות נתוניס מרוחקים, כגון ז%6ז 56‏ 501 11070506 או 866זס. בסעיף וה נעסוק בנושא בצורה תמציתית; בפרק 12 נתייחס אליו בהרחבה. הפעלת שאילתות על מקורות 0086 מקושרים באפשרותך לבצע שאילתה על מקור 0086 מקושר בדיוק כפי שאתה עושה עס מקור נתוניס של 466655 שנמצא בקובצ אחר. תרשים 4.27 מציג את חלון מסד הנתונים ובו שלוש טבלאות מקושרות ממסד נתוניס 5פטש שמצורף למוצר ז6/ז 56‏ 501. פעל בהתאס לשלביס שלהלן כדי לקשר את היישוס לטבלה שנמצאת במסד נתוניס מרוחק: 1. בחר באפשרות קבל נתונים חיצוניים (0813 |8ח₪607 66%) מתפריט קובץ (₪8) של 5 ולאחר מכן לחצ על קישור טבלאות (65!ס8ד אחז )). 2. בתיבת הדו-שיח קישור (חו)), בחר באפשרות 3393505 0086 מהרשימה הנפתחת קבצים מסוג (6קץד 01 65וו₪). 3. בחר ב-א05 בכרטיסיה 500766 03%3 360186 (באפשרותך ליצור אפס חדש אם זה הדרוש לך אינו זמין). 4. השלס את הקישור על ידי בחירת טבלה ולחיצה על אס. מאחר שכמעט כל מקורות הנתוניס תומכים ב-0086, דרך טיפול ו בנתוניס מרוחקיס מספקת גישה אוניברסלית באמצעות הממשק המוכר של 00055(. החלון העליון בתרשים 4.28 מציג את שלוש הטבלאות המקושרות שבתרשים 4.27 בתצוגת עיצוב שאילתה. לאחר יצירת הקישור אל טבלה מרוחקת, באפשרותך להתייחס אליה כאילו היתה טבלה מקומית. טבלאות במקורות נתוניס מרוחקיס עלולות להיות גדולות מאוד, ולכן יש להתחשב בהן בצורה מיוחדת בעת עיצוב שאילתות המפנות אליהן. הסעיף הראשון בפרק זה שופך אור על כמה טכניקות אפשריות. גודל הטבלאות וסוג החיבור הפיסי למקור הנתוניס המרוחק יסייע לקבוע את עיצוב השאילתה הטוב ביותר. החלון התחתון בתרשים 4.28 מציג את השאילתה שבחלון העליון בתצוגת גיליון נתונים. פרק 4: טיפול בנתונים באמצעות שאילתות | 261 <1ם) - | 6 :-: 4זס1קְהּח;) פפנ 5 | > | יאפ 9 פס ... 10/06/1998 = ...10/10/1998 ,5 בד מז 6 ... 10/06/1998 = ...10/21/1998 .₪ 1 ... 10/06/1998 = ...10/06/1998 ,5 וטקנ ץז 5 בפאחו] + ... 10/06/1998 = ...10/06/1998 בי 5 תו + ... 10/22/1998 = ...10]2211998 55 סקס 5 ופאחו] + ... 10/08/1998 = ...10/09/1998 85 פטס 5 % 5 ופאחו] + ... 10/22/1998 ...10/22/1998 5 5 ופאחו] + ... 10/06/1998 = ...10/06/1998 זל 6 יחו ... 10/08/1998 = ...10/08/1998 5זסזוב טס 8+ ו 06 פאחו] + ... 10/08/1998 = ...10/08/1998 וסוס ספ 9% ו 1 ... 10/08/1998 = ...10/08/1998 5 בי 5 תרשים 4.27: חלון מסד נתונים זה מציג שלוש טבלאות מקושרות - פ>זסחזטה 000, זסו06800 000 ו-₪₪65 000. באפשרותך להשתמש במנהלי התקנים של 0086 כדי ליצור קישור אל טבלאות שנמצאות במקור נתונים כלשהו באמצעות מנהל התקן של 0086 עזסנו 1 : עוטנ 58 6:00 לא זס0ח)1!630! ספ | 0 || שחמח 34| || 6חה 30], 16| : ָ וננ הצמצההצמנט נמוצממקונהומחם] 5 עזסט 561601 : עזסט) 65!וו] 0ם שא |+ | 8הת 80 | תבה שה | | 606 00| | זט ובו 8 0818088585 8'5שו80₪1א= צפטם סד | + החפ | 81-73]!5ת21016 | 5ה8ח10ו>] 3308 התהתההואסטם חו פזפפ"ר צחות ₪ ץז הפ ?חפ ז058 ]| | זטם | | |68ווז זפ טסוו 81 החזנוסכ) פחד| | בו ס|וו6351 |88 58 סו 23917000 3||8/ר חססווום | | חח ווטם | חססו|ום 01 5601815 | = | ןז 3 הזכ 8 08180885 08'5ו60₪1א= צפטם פד | | ןו זכ זו 60 0 טס | | 5 זס [> :| | + 1 ]| |4ו ג תרשים 4.28: שאילתה פשוטה המבוססת על שלוש טבלאות ממקור נתונים מרוחק. החלון העליון מראה כי ניתן ליצור שאילתות אל טבלאות מקושרות מרוחקות כאילו היו מקומיות. החלון התחתון מציג את השאילתה בתצוגת גיליון נתונים 2 הח 2000 466655 הפעלת שאילתות בפרויקט נתונים של 66655 0 60655 כולל סוג פרויקט חדש שנקרא 0[60זק 460655, אשר עוקף את מנגנון מסד הנתוניס 360 על ידי יצירת קישור ישיר אל גרסאות 6.5 או 7.0 של זסצז56 .501 וגם אל 6חוחָח= 8ז28 050/6ז6ו1!]. 6חופחם 8ז8כ 50%6סי6ווי] הוא הגירסה החדשה של ז8/ז56 .501 עבור סביבת 95/98 פווס4חו). סביבה גו מאפשרת ליצור קישור ישיר אל מסד נתוניס מרוחק ולטפל בו כאילו היה מסד נתוניס מקומי. החלון העליון בתרשיס 4.29 מציג את חלון מסד נתונים של פרויקט 406655. שיס לב שהוא והה במראהו לחלון מסד נתונים של מסד נתוניס 00חח.*, אך מקור הנתוניס שלו הוא מסד הנתוניס 5 (באפשרותך להחליף את מסד הנתונים שיהיה מקושר אל חלון מסד הנתוניס על ידי בחירת התקשרות (ח6000חח60) מתפריט קובצ (₪6)). החלון התחתון בתרשיס 4.29 הוא תיבת הדו-שיה 65שוסקסזוק אהו| בּז3ם של הפרויקט. השרת של פרויקט זה הוא 6892200, שס שרת מסד הנתונים 7.0 ז567/6 .501 המקושר. כדי להקיס חיבור פעיל אל שרת, עליך לציין את מידע הכניסה (חספסו). הדוגמה הנוכחית מנצלת את האבטחה המשולבת של דא פאוססחו/. לאחר שסיימת להקיס את החיבור, תוכל לפתוח מסד נתוניס כלשהו שנמצא בשרת שמותר לך להיכנס אליו. לחצ על ה06600הח60 65%ד כדי לוודא את חוקיות הקישור למסד הנתוניס המבוקש. |<1ם)- | 6 :-: >פנו] פפנ 8 | % | אש פס הפס 5 88 6סו|קותט 156005 5זסתזום חן 30|6: 6806 אוסו/י חהַופשם סול 2 בובובוםן ו 5חה זחָבום 0330356 וז 506 סז 5זסתפוופטם סוחן פטם וי | 5 1 5 בי -2) ₪60 5 5 וויק פרק 4: טיפול בנתונים באמצעות שאילתות ‏ 263 |< | 5ננזפטטו אחו | 313 ₪5 | 8 | 44050066 | חסספחחסכו :08 זסיז5 501 0 זסשהחסס סז בהווסוום] 06 ע!וססס 5 :3 זס 501 3 זטוחם זם 561601 .1 | הז | 5 2 | זיז 6 סו חס ס! סז הפווהזסזחו זטזח= .2 50 3)60זטטזח| 47 5טוסבחועש 56| + 355 300 שבח 0567 סו/ו0טק6 8 96 7+ שוחב זפ ו 9ב עשפה וס סחושםפ שטוו קן בבק > הבו קן 5 סח חס 3630386 6 01סו5 3/6 | - ו | :בח 03130356 3 35 6 33130356 .501 חב 46308 ,ז. 67 וו סוחבמפון מ סופ וו | הפוסש חס 85% תרשים 4.29: החלון הראשון הוא חלון מסד נתונים של -0[66זק 466655; החלון השני הוא תיבת הדו-ש'יח %165ז6כסזק אחו| הזה של הפרויקט תרשים 4.30 מציג את תצוגת העיצוב של שאילתה ב- 66[סזק 866655. רשת עיצוב השאילתה שלו דומה לזו של מסד נתוניס מסוג 00ח.*, אך היא מהווה חלק מאוסף כלי העיצוב החזותייס, שחו ₪8 508סזסו1. | באפשרותך ללחוצ לחיצה ימנית כדי להוסיף טבלאות או שאילתות נוספות בתור מקורות רשומות לעיצוב של שאילתה חדשה, ותוכל גס לגרור ולשחרר שדות בין טבלאות כדי ליצור קשרי גומלין. לא קיימת תצוגת .501 מפורשת לעניין זה, אך ניתן להחליף את מצב ההבחנה של חלונית .501 בתצוגת העיצוב באמצעות לחצן בסרגל הכלים מסד נתונים (סִ5הס8ז28). הלתצן הראשון בסרגל כלים זה עדיין מאפשר להחליף בין התצוגה עיצוב (ח8ו65כ) והתצוגה גיליון נתונים (066ַ55ז8כ). כיוון רשת עיצוב השאילתה משתנה מאנכי לאופקי, אך העיצוב נשאר דומה. בוניס תצוגות על ידי הוספת קבועיס וביטוייסם לתאי הקריטריוניס מימין לשמות השדות ברשת עיצוב השאילתה. 4 הח 2000 406655 |<1ם]- | [אשול : עזסט) 65]ו1] - 466655 ])ס5סזסו4! |< |פן 5 שו אוסטחוצל. 10065 עזפטט) >זספתן אופוע. פובם ‏ 6ום | ₪] | ₪ = ]| מ | ! | ₪ | ₪ מגה ₪ | 5 5 | ₪ |- חן %וס טוה 88 (5חוחנ!ס= ||ם) * ₪ נה . שוחבר| שב | זסת 3 6]וו) 83 שוחהח] ₪ (פחחח!ס = ||מ) * שחסחם ₪ ₪ נה זססץ|ה סז (5חוחט!ס = |מ) |*‏ | 4 ₪6 סש שסשעטל ₪ פטס | 5 5זסתזוום 5זסתטב , סונהמ1 גוהּ. פעסבסגוה ‏ ,6151653.01516 0207ע₪ בונ גוףּ . מס סגו אנסט תפזך 3עסמסגוה זסתץ סנ תמזתך 16168ס אס 18 1516ם.תסם05וה51515 = 18 515163.01516 0% עסםסוה15163ס 3 גוףּ. עס0ם05ו515168 = 18 גוהף. כמסםסגוה תרשים 4.30: תצוגת עיצוב של שאילתה ב- 0[6%ק 866655. שים לב להצגת קוד .501 של שאילתה בחלונית נפרדת ולא בתצוגה נפרדת תכנות שאילתות עבור מסדי נתונים מרוחקים מפתחים רבים מעדיפים לעבוד ישירות עם ממשק תכנות ולא עם ממשק משתמש גרפי. 0 8000585 מציע תאימות הדוקה יותר בין שאילתות של מקורות נתוניס מקומייס ומרוחקיס ברמת הקוד לעומת זו שברמת ממשק המשתמש הגרפי, מכיון שניתן להשתמש ב-₪00 וב-501 בעבודה עם שני סוגי מקורות הנתוניסם. ההבדל הגדול ביותר ביו גישה לנתונים מקומיים או מרוחקים, הוא שגישה לנתוניס מרוחקים מחייבת לציין את פרמטרי ₪08 015 של ספק 08 015 (ופסוטסזק 8 015) בצירוף הנתוניס שברצונך לתשאל. העברת יישומים ממקור נתוניס מרוחק עלולה להצריך טיפול בתאימות שפת ‏ 501, כיון שמנגנוני מסדי נתוניס מרוחקיס שוניס דורשים לפעמיס פרמטרי כניסה (ח80סו) שוניס ומשתמשים בהרחבות 501 ייחודיות עבור הרכיביס המיוחדיס שלהס. פרק 4: טיפול בנתונים באמצעות שאילתות | 265 כדי להתחבר למקור נתוניס מסוג ז6/ז56 .501 1670506!, תודקק לספק 8 015 מיוחד שנקרא 508 50101, אשר מותאס במיוחד לעבודה עם ז6אז56 .501 050%ז6ווא, במקוס מנהל ההתקן הכללי של 086ס0, 504501!, המיועד לעבודה עס מסדי נתוניס 0086. מנהל ההתקן ‏ 504501 ותיק יותר מ-08ם 50101, אך הוא עדיין מנהל התקן רב תכליתי למצביס בהס לא קייס מנהל התקן ₪8 015 ספציפי. כל אחד משני מנהלי ההתקנים הללו מקבל פרמטריס שוניס במקצת (בפרק 3 הסברנו כיצד לקבוע את הפרמטרים עבור 504501!). הדוגמה שלפניך ממחישה את הישירות של תכנות שאילתה למקור נתוניס מרוחק מסוג 7 567/08 ]501. שיס לב שהשיגרה משתמשת במנהל ההתקן 8כם |5010. השאילתה מבוצעת מול מסד הנתוניס 5פט? בשרת 6802200. לאחר פתיחת החיבור בהתבסס על מנהל ההתקן 508 50101 והגדרות הפרמטרים שלו, השיגרה יוצרת אובייקט מסוג 0ח8 607 ומגדירה את המאפיינים 6% 6080 ו-6קץ דחו 60 שלו. לאחר מכן היא מבצעת את הפקודה, מציבה את קבוצת ההחזרה באובייקט ומדפיסה את קבוצת ההחזרה. (6080060ו0 501 פט5 חסוז66חח60. 08 ₪5 1 חהחס6 חחוסם חר 8.60 0 45 601 חחוס 5 561 וחוס .6 6 סל 6600 60 8 ה5ו!5%80ם ' .6 6 85 6808100 0ח3 500706 0818 6+ 85 (6802200) ז507/6 6+ ץ)ו5066 ' הסוח 8.60 ה שא = 1 החס 56% 1חחס שו/ "60!ס|ף5" = זססוטסזס. = 8 ";500706=6822200 08%8" = 660050780 ה ה 60. "5סטק= 680800 |108ח58;1 = 0! זספט" חסקס. ה)%ו 0חם= 0 6080 3 קט 56% ' וו 8.00 20 עוסא = 601 56% 1 חס ושו/ 61 = 66000 ת6/660. 8" ,65.006 ₪607 551" = 6% ההות 0ס6. ₪ " שוח 5.3זסח6טה ,6הההח! ט5.8זסתזטבּ" = 8 " אזסנ משאא1 פזסחסט3) א1סנ אפאא1 ₪065 אסח-" 8" אס (0ו טב.זסתז 06 = 0! ט5.3זסחזט3 0 זסחזטב6ם" "ן 006.זסח%ט68 = 6 065.006ם" 0% = 06ץ ו 60. הזו\ 0חם= 50 ץזסט 60660160 6 חס 08560 66070566 3 זחוזכן 0ח3 חסמס ' 6 = 961 56% 0חו06%5). 5%1ז +חוזק. פטטסס טפ 0ח= 6 הח 2000 406655 שאילתה זו מפיקה תוצאות זהות לאלו של השאילתות המוצגות בתרשימיס 4.28 ו-4.30. לקחתי את קוד 501 שבדוגמה הנוכחית ישירות מתצוגת 501 של השאילתה שבתרשים 4.28. שים לב שהיא דומה, אך אינה זהה בארגון שלה, לקוד 501 שבתרשיס 0 של ₪70[60 ₪60655. יחד עם ז1את, באפשרותך להמיר את קוד 501 מתרשיס 4.30 לתוך השיגרה שלעיל מבלי לשנות את קבוצת ההחזרה. הדבר מאשר את הדעה שגישת התכנות המבוססת על 00ח.* וגישת 0[606זק 460655 יכולות להפיק תוצאות שקולות למרות כמה הבדלי סגנון בייצוג שלהן ב-501 במקריס מסוימיס. פרק 4: טיפול בנתונים באמצעות שאילתות | 267 5 בניית ממשקן משתמש באמצעות טפסים יישומיס משתמשיס בטפסיסם ובדוחות כדי לייצג נתונים. טפסיס מהוויס גם אמצעי לקליטה ומתן משוב על קלט משתמש. משתמשי מסד הנתונים מתקשרים עס היישוס בעיקר באמצעות טפסים, ולכן יש חשיבות רבה לעיצוב טפסים ולאופן תפקודס. פרק זה פותח בהסבר כיצד ליצור רושס ראשוני מלהיב על ידי שימוש בטופס שנקרא מסך פתיחה (ה66ז56 ה50185). בהמשך הפרק נלמד כיצד לגרוס לטפסיס (במיוחד טפסי איגוד-נתוניס) לתקשר עס נתוניס. נלמד גס על עיצוב מותנה וביצוע פעולות חיפוש מידע עס טפסים. לבסוף, נלמד להפנות לטפסים באמצעות קוד, לכבות ולהפעיל לסירוגין את המצב הגלוי שלהם וגס כיצד לעבוד עס מודולי מחלקת טופס. הערה: 0 60655 11670506] מציע שני סוגי טפסים, פוחזס-ז056 הזמינים ביישומים נוספים של 66ו06₪, וטופס מותאם שהוא גירסה עדכנית של טופס מגרסאות מוקדמות של 160655. 0056707705 אינם משתלבים בסביבת הפיתוח של 60655 בצורה כה הדוקה כמו טפס' 466655. לדוגמה, 5וזס-567 אינם מאוגדים לטבלאות ולשאילתות 5. בנוסף, אשפי הטפסים ואשפי הפקדים של 806055 אינם מטפלים ב-0567=07705. מסיבות אלו הפרק עוסק בטפס' 860655 בלבד. תוכל להרחיב את ידיעותיך על 5זזס-ו056) באמצעות העזרה המקוונת. פרק 5: בניית ממשק משתמש באמצעות טפסים | 269 ו 1 טופס מסך פתיחה אחת הדרכיס הקלות להתחיל לעבוד בצורה בסיסית עס טפסים היא על ידי יצירת מסך פתיחה. מסך פתיחה הוא טופס שמופיע טרס הצגת טופס אחר אינטראקטיבי יותר. מסכי פתיחה מתאריסם את ייעוד היישוס ומציגים בדרך כלל גס את שס מחברו. תוכל לקבוע בקלות רבה את משך ההצגה של מסך פתיחה. תרשים 5.1 מציג את מסך הפתיחה שנמצא בקוב 5.005ז06ק603 בתיקיה 600668005.. שבתקליטור המצורף. תוכל לאמצ אותו לצרכיך. [<]1םן- | 5 )זו ] קובץ עריכה תצוגה הוספה עיצוב רשומות כלים חלון עזֶרה ] ה 3 - ₪ | מ ם | 9 | * <> | 88| ש ב ל | 52 5 | 6 | | ₪ ₪ | ג ₪ | ₪ |- שן 60055 2000 || || (| | תרשים 5.1: מסך פתיחה לדוגמה יצירת מסך פתיחה תוכל להתחיל ביצירת מסך הפתיחה על ידי יצירת רקע פרוש. לשס כך עליך להגדיר שני מאפייניס בוזמן שהטופס פתוח בתצוגת עיצוב. ראשית, הגדר למאפיין תמונה (6זנוזסוק) (בכרטיסיה תבנית טפוחזס=) של גיליון המאפיינים) את הנתיב ושם קובצ התמונה. קוב זה יכול להיות מפת סיביות בתבנית קוחם.*, ססו.*, 1ו8.*, זחאו.* או ]וח *. 460655 יכול גס להשתמש בתבניות קוב אחרות שעבורס התקנת את המסנניס הגרפיים הדרושים (תוכל להתקין את המסננים החסריס באמצעות תוכנית ההתקנה). תמונות המכילות גווני אפור או צבעים מעוממיס אחריס מתאימות ביותר כתמונות רקע, מכיון שהן מבליטות את הרכיביס שבקידמתן - תמונות וטקסט. שנית, תן למאפיין הטופס ריצוף תמונה (פַחוווד שזנשסוק) את הערך כן (ערך ברירת המחדל שלו הוא לא) אס ברצונך שהתמונה תחצור על עצמה (לא בוצע בתרשים 5.1). בשלב הבא, תוכל להוסיף תמונה בקידמה על ידי בחירה באפשרות תמונה (6זנסס6!ק) מתפריט הוספה (5670ח1). תוכל גס להוסיף פקד ציור (10806) לטופס. אס תנהג כך או 0 הח 2000 466655 אחרת, תוצג תיבת הדו-שיח הוספת תמונה (שזוש6וק 56%ח1) שממנה תוכל לבחור תמונה להוספה. לחיצה על אישור מגדירה אוטומטית את המאפיין תמונה. 460655 מאפשר להגדיר מאפיין זה באמצעות קוד %84 המאפשר לבנות את מראה הטופס בצורה דינמית בתגובה לקלט המשתמש (כגון קלט תיבת טקסט), או גורמיס סביבתיים (כגון קוד האבטחה של המשתמש). תוכל למקס את התמונה, לשנות את גודלה ולהפעיל את האפקטיס המיוחדים באמצעות הגדרות המאפיין מצב שינוי גודל (1006] 26ו5). המאפיין יכול לקבל שלושה ערכיסם: גזור (כו|0), מתח (506000) ושנה מרחק מתצוגה (חס0ס?). נשליס את מסך הפתיחה על ידי הוספת פקד תווית (|1806) אחד או יותר. תוכל להשתמש ב-88/ כדי להגדיר מאפייניס עבור פקדי תווית בומן ריצה. הדבר מאפשר לעצב את טקסט מסך הפתיחה בצורה דינמית. תוכל להגדיר את מסך הפתיחה כך שייפתח אוטומטית על ידי בחירת האפשרות הפעלה (ק₪0שז509) מהתפריט כלים (100|5) ובחירה בשס הטופס של מסך הפתיחה מתוך הרשימה הנפתחת הצג טופס/עמוד (8896/וחזס= ץ8!קפום) שבתיבת הדו-שיח הפעלה. באפשרותך גס להסתיר את חלון מסד הנתוניסם בעת פתיחת יישום, על ידי ביטול בחירת תיבת הסימון הצג חלון מסד נתונים (אוססחו) 86808956 צְ!ספוכ) בתיבת הדו-שיח הפעלה. לחי על אישור כדי לשמור את הבחירות. בקרה על משך התצוגה זוג שגרות האירוע שלפניך מציג מסך פתיחה במשך 10 שניות (כדי להציג את קוד 84 שעליו מבוסס הטופס, לח לחיצה ימנית על הטופס, בחר באפשרות אירוע בנייה (טחס/= 6ווטם) מתפריט הקיצור, לאחר מכן בחר באפשרות בונה קוד 8106 6006) בתיבת הדו-שיח בחירת בונה (06!ו80 600056) ולח על אישור). שגרת האירוע ח6ק0 וחזס] נותנת למאפיין הטופס, |8אזססח1וסוחוד, את הערך 10000 (שווה ל-10 שניות; מרווח הזמן מבוטא ביחידות מידה של אלפית השנייה). שגרת האירוע ה6קס חזס] סוגרת את הטופס. שיס לב כי שגרת האירוע ח6ק0 חחס] משתמשת במילת המפתח 6 כדי לציין את הטופס. באפשרותך להחליף את *'ז6 וח דח35|ק5וחיזי בערך 6וחפּא.6] בשיגרה זסחוד חזס]; מוסכמת השס 16 עמידה יותר, מכיון שהיא מאפשרת לשנות את שס הטופס מבלי לשנות את הקוד. (%6067ח1 45 |08066)ח6כ0 ה זס- 500 6זהטוזק 0 = |עז%0ח1ז6וחו ד. 16 סט 0ח= ()ז6וחו ד וח'זס= 500 6זטוזק "זרחו 7ה85!ק5ח" , וח'וס-6 6|056. 6וח6ספ טפ 0ח= פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 271 טופס מסך ניווט טופסי מסך ניווט הס דרך מקובלת לאפשר ניווט ביישוס. טפסיס אלה יכוליס להכיל לחצני פקודה אחדיס שהמשתמש יכול ללחוץ עליהם כדי לפתוח טופס נוסף. בסעיף וה נציג שתי גישות לשימוש בטופסי מסך ניווט: האחת בעזרת היפר-קישורים והשנייה מבוססת על שגרות ב8/. ניווט בעזרת היפר-קישורים קל מאוד ליצור ניווט באמצעות היפר-קישוריס, מכיוןו שהדבר איו מחייב כתיבת קוד כלשהו (למרות שניתן לנהל היפר-קישור באמצעות 88/). היפר-קישורים יכוליס לתפקד בתור קיצורי דרך אל אובייקטים של מסד נתוניס ביישוס, מסמכים בכונן הקשיח, קבציס ברשת או דפי 65) באינטרנט או דפיס ברשת האינטרא-נט הארגונית. 5 מאפשר להשתמש בהיפר-קישורים עם תוויות, לחצניס ותמונות. באפשרותך להגדיר ולערוך מאפייני היפר-קישור מתוך תצוגת העיצוב של טופס, או באמצעות קוד 88/. קל יותר להגדיר ולערוך היפר-קישוריס באמצעות שגרות ידניות (המאפשרות גס להפיק טפסיס הנטענים במהירות רבה יותר), מכיון שטפסיס בעלי היפר-קישוריס שנוצרו בתצוגת עיצוב אינס מחייבים שמודול יכיל קוד 84/. כדי לנצל יתרון זה, צריך מאפיין הטופס יש מודול (6גו0ס1! 0₪5) להיות מוגדר בתור לא. הערה: סוג הנתונים היפר-קישור מאפשר ליישום 60655 להפעיל היפר-קישור מתוך שדות טבלה או שאילתה. שדות מסוג היפר-קישור דומים במובנים רבים למאפייני היפר-קישור, אך משתמשים בהם בצורה שונה. עיין בפרק 13 לקבלת מידע נוסף אודות שימוש בהיפר-קישורים לפיתוח בסביבת 60/ו. תרשים 5.2 מציג ארבעה טפסים המשתמשים במערכת ניווט פשוטה. טופס מסך הניווט הראשי שבצד שמאל מעביר את המוקד אל אחד משלושת הטפסים האחרים כשהמשתמש לוחץ על חיפר-קישור בטופס הראשי. ברגע שהמוקד עובר לטופס אחר, יכול המשתמש להחזיר את המוקד אל מסך הניווט על ידי לחיצה על ההיפר-קישור המפנה אל הטופס הראשי. באפשרותך להגדיל את מספר הרמות של היררכיית מערכת הניווט, בצורה קלה ופשוטה. באופן טיפוסי, כל מסך בן יכול להתזיר את המיקוד למסך האס שלו. מסכים ראשיים כולליס לעיתיס קרובות דרך יציאה מהיישוס או מ-00655(. 2 הח 2000 406655 [<זם)-) זז 1 וס אוסנחו ‏ 0סד ‏ 660705 6בחחזםת >חספתן אוסוצ ₪5 ₪6 | תפ ו - | | = == | וי | - [ *| > | ום). | בו ד ון- | . : וספ חש 5 הו[וסקץו עו 0 הסם ח0פוצצ5 6 הוהסקץר] ץוי] סם הוטפס 6 סב 89 00 6 סד 0 הס ח0פוצט5 א הוההשכער)| עוי] סם הנס זה / זה 6 סכ) [<1) - | 6וסח/ש זפחו0 הז 0 3 הסט ח0ועצ5 6 הוהשכער)] עו] סז הגטס תרשים 5.2: מערכת ניווט פשוטה בעזרת היפר-קישורים כדי ליצור היפר-קישור באמצעות פקד תווית (|806 )6, פעל כך: 1. לחץ על לחצן בניה (0וום) שליד המאפיין כתובת היפר-קישור שחווזספעץהח 5) או ליד המאפיין כתובת משנה של היפר-קישור (חוחססץה 5 בגיליון המאפייניס של התווית. 2. בתיבת הדו-שיח הוספת היפר-קישור (אחווזססץ 56ח1), בחר את סוג האובייקט לקישור מתוך הרשימה קישור אל (סד >חו)). 3. הקלד את המידע עבור סוג האובייקט. לחץ על אישוד. < הערה: כברירת מחדל, היפר-קישורים שלא לחצו עליהם בהפעלת 466655 מוצגים בכחול, וכאלה שלחצו עליהם - בצבע המכונה סיגלית. באפשרותך לשנות צבעים אלה על ידי בחירה באפשרויות (5חסטקס) מתפריט כלים (פ|ססד), בחירה בכרטיסיה כללי (|8ז6ח66) ולחיצה על אפשרויות אינטרנט (פ5חסטקס 60/). השתמש בשתי תיבות הרשימה שבתיבת הדו-שיח אפשרויות אינטרנט כדי לקבוע את הצבעים הרצויים. תרשיס 5.3 מציג את תיבת הדו-שיח הוספת היפר-קישור בטופס 176070616 במסד הנתוניס המדגמי של פרק זה. ההיפר-קישור מעביר את המיקוד בחזרה אל טופס מסך הניווט. פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 273 <|? אחו!זסקעץ!] זזס5ח! | ...50766710 זב ספת66ו5 אחווזסקעיר זיז סט הז ] :15013 50 +אפד :3330356 815 חו זספ[טס חב 58|666 חול 3 וס =|3 חסופוטחס-)חחיו זס 6|=₪ בַחו50וא= 6 ספא פוחץ חו לשוכ 8 5 וכ בי זו זה35 ופוח ב 5 ו!ה-= ₪ | 0 | תרשים 5.3: תיבת הדו-שיח הוספת היפר-קישור עבור התווית בטופס 6זפ6חססוחז? קטאסס1550671-חחיו] 5 זט 1500-)חזז' תס -סו = הזז זו סז חח הזז 6זס סםוחז] בזה ספח-6ועש5חו!זסק ווח הזוס = 1/5 רת הזב חס56/י1י הח ב קזב ווח ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ניווט באמצעות קוד דרך מקובלת נוספת למימוש ניווט באמצעות טופס מסך היא באמצעות קוד %8 מאחורי אירועי לחיצה של לחצן פקודה. גישה וו מאפשרת חשיפה עשירה יותר לרכיביס התפקודיים של 466655 לעומת ניווט שמבוסס על היפר-קישורים, מכיון שכך ניתן לשלב פונקציות ניווט עס אירועיס נוספים, כגון סגירת טופס (היפר-קישור מאפשר פתיחת טופס מתוך טופס אחר, אך החזרה אל מסך הניווט מותירה את הטופס הבן פתוח; ניווט מבוסס-84/ מאפשר ליישוס לסגור את טופס הבן כשהמשתמש סוגר את הטופס הראשי). שגרת אירוע מאפשרת גם להגדיל את השליטה באובייקטיס רביס של מסד נתונים. ניווט המבוסס על היפר-קישוריס פשוט מעביר את המיקוד לאובייקט אחר, כגון טופס. תרשים 5.4 מציג זוג טפסים המממשים ניווט בגישת 8/. דוגמה זו מבוססת על אירועי לחיצת לחצן. כשהמשתמש לוחץ על אחד מלחצני מסך הניווט, קוד אירוע לחיצת הלחצן פותח את טופס היעד וסוגר את מסך הניווט הראשי. לחיצה על לחצן חו3ּ1) סד ₪608 בטופס היעד סוגרת את הטופס ופותחת את טופס הניווט הראשי (הדוגמה מבוססת על לחצני פקודה, אך באפשרותך להשתמש בבקרה מסוג אחר כלשהו שמאפשרת למשתמש ליצור אירועים). 4 הח 2000 466655 | ום)=. ו ו 536 6זבּסם ח6ושצ5 הספזט₪ עו 6זסח/ זפחלכ 06 סט | 6 זז סט <1ם)-. ב ו ו ו - תרשים 5.4: טפסים אלה משתמשים בקוד מאחורי אירועי לחיצת הלחצנים, כדי לנווט זוג שגרות האירוע שלפניך מציג את קוד אירועי הלחיצה של שני הלחצניס שבתרשיס 4. השיגרה הראשונה מעבירה את השליטה ממסך הניווט הראשי אל המסך השני. היא גם סוגרת את הטופס הראשי. השיגרה השנייה מעבירה את השליטה חזרה אל מסך הניווט הראשי ולאחר מכן סוגרת את הטופס השני. השתמשתי באשף לחצני הפקודה כדי ליצור את הגירסה הראשונית של כל אחת מהשגרות; לאחר מכן הוספתי שורת קוד לכל שיגרה כדי לסגור את המסך המתאים. ()6|166 60071676 500 6זפטוזק 6000676 זז 6070 זסזזם הס 0חו50 5 55006836 הזוס "6 00 הסא טוח" = שוחה \6סכ5 520636 וס ה6ק0. וחספ "5600 חס וז" ,וחזס-36 6|056. חספ :6% 6000676 6וא= טפ זואם :6% 6600676 זזם חסוססוז2656.זזז= אס8 15 6 6000676 6וא= 6506 סט 0ח= פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 275 ו 1 ()א6ו61 חו3!ס דח 6 0ח6 500 ס6אהעווק 6% חס הט 60 זזם 6070 זסזום חס 0חו5 5 55006836 חחוס 59 5 בחססוזאחו 50 חחוס "56000 חס םות" = 6וחהּ\6סכ5% 520636 וחזס- ה6ק0. 60ספ "6 00 חס6 םוח" = 6וחהּ\6סכ)5 650 ,5%006136 ,וחזס-86 6|056. חספ :ו ובס דחה טס 6 6ואם סטפ זואם :6% ןס זט וח זזם= חסוסס1ז2656.זזז= אס8 15 הס ד הט 60 16א= 656 טפ 0ח= קישור טפסים לנתונים מאז ומתמיד איפשר 460655 לאגד טפסים עס נתוניס בצורה קלה ופשוטה. זו אחת הסיבות העיקריות להיותו סביבת פיתוח מהירה. שימוש באשף הטפסים האוטומטיים כדי לאגד טופס עס נתונים, ניתן להפעיל את אשף הטפסים האוטומטיים (וחזסססטה 6 )). בחר טבלה או שאילתה בחלון מסד הנתוניס ולח על הלחצן אובייקט חדש: טופס אוטומטי (חזס-סזטה:00[60 שסא) בסרגל הכליסם מסד נתונים (ספהּטהַּז). האשף יפתח טופס חדש שמאוגד ישירות למקור הנתוניס שנבחר. תרשיס 5.5 מציג טופס דוגמה המבוסס על הטבלה 06198 ז06זס במסד הנתוניס המדגמי שבפרק זה. באפשרותך לנצל טופס זה לעיון, עריכה, הוספה או מחיקה של רשומות בטבלה 5 ז06זס. <1םן- | בוו ם- 18 סן וסוס 5 0650 סז 0+ 6שוזק וח( ו שפומְחבּנל) לחס0ספום 5 0 |++| זו שת ]| 4 [4ו 0 תרשים 5.5: טופס שנוצר באמצעות אשף הטפסים האוטומטיים 206 66655 2000 8 מקור הנתוניסם של השדה 7700065 בטופס הוא שדה בדיקת מידע בטבלת הרקע 07067 5מזסם, ולכן השדה 0806%ז0 מוצג אוטומטית בתור תיבה משולבת המציגה את שמות המוצרים, במקוס את ערכי הרקע פשסטטסזק. כל הרכיביס התפקודיים הללו סופקו אוטומטית על ידי האשף. עיצוב מותנה 0 0068585 מאפשר לעצב בצורה מותנית את הנתוניס המוצגיס באמצעות פקד תיבת טקסט או תיבה משולבת ללא תכנות. באפשרותך להחיל עיצוב מותנה על פקדי טופס, בשדות מאוגדים או בלתי מאוגדים כאחד. תרשים 5.6 מציג שלושה מופעיס של השדות %חט560ו ו- 766 060ַח66אם. השדה ספוש בטופס העליון הפך ללא ומין. הטופס האמצעי מבליט את הערך בשדה 6 0000060 באמצעות עיצוב של הטיה והדגשה. הטופס התחתון הופך את השדה 01500 לזמין ומבליט את הערך שבשדה 6סוזק 060ח66אם. השדה 6סקק 0ַ06ַח66א₪ מחושב; ערכו אינו נגזר ישירות מהטבלה שברקע. המאפיין מקור פקד (6ט50 |סשח0ס6) של תיבת הטקסט מכיל ביטוי (([%חט0ס56וכ]-1)*[/ וס הה66[*]0קטוח0]) באמצעותו הוא מחשב את הערך בעת שהמשתמש עובר לרשומה חדשה, או מעדכן את השדות 6סחקטסוחש, שסההטס או + סוס ברשומה הנוכחית (המונחיס בסוגרייס המרובעיםס מתייחסיס לפקדים ואינס שמות של שדות עבור מקור הנתוניסם שברקע). |<1ם]ן-. ההזי ודו ו ו ו ו -| הזוס 6|כןח58 הרוה ותחוס= |החהסםוטחס :וז 60ח6לא= 0+ 8 ו :0 פטס 5 זםה = 850נוכ)| :לסטסזק 0+ סז וח 12 שולחבנור) % | :)הטסו 5 0 [+*| ]| | 1 4 | 4ו 0 פרק 5: בניית ממשק משתמש באמצעות טפסים | 277 |<1ם] = | ה | החוס= 587216 בַרוח8 ו וס= |ההסםוסחס 8 60ח0אם 0 | מש ] :10 וסוס [- 6סקה הפוזם סטחחו(ח13י] :לסנוסזק 2.40 | : ססוזק מוח 0 | וי חווס6פו 5 "0 |++| תו 5% ]| 4 ]ו ]ו |<1ם] = | ה החוס= 6!כח58 הרוה ווס= |ההסםוסחס חא 11460 ן [250 ו | זסטזס ] * 6|ססה בפוזום סטחזןח13י] :סק 2.10+ | : ססוזם מוח להנו :חוס0ספום 5 0 |+*| תו שו ]| 4 ]4 ]ו תרשים 5.6: עיצוב מותנה שולט במראה השדות 66וק 0060060 ו-)חטס6פום בטופס שלפניך הערה: מפתחים לא מנוסים נותנים לעיתים שמות זהים לשדות ולפקדים. הרגל זה עלול לבלבל ולגרום לשגיאות (אשף הטפסים האוטומטיים לוקה אף הוא בחיסרון זה). מומלץ להוסיף תחיליות לשמות פקדים כדי להבדילם משמות השדות ברקע שלהם. לדוגמה, שמו של פקד תיבת טקסט שמאוגד עם שדה ששמו ש6שסחקאחע יהיה 66וזלס וח אס. 8 הח 2000 406655 כדי להחיל עיצוב מותנה על פקד, בחר את הפקד ובחר באפשרות עיצוב מותנה (0חו8 וח זס=] |ההסטו0חס6) מתפריט עיצוב (ח0ו65כ), כדי לפתותח את תיבת הדו-שית עיצוב מותנה, המוצגת בתרשים 5.7. לכל פקד בעל עיצוב מותנה יש שני עיצוביס לפחות - עיצוב ברירת מחדל ועיצוב מיוחד שחל כאשר מתקיים תנאי מוגדר. באפשרותך לעצב את הפקד בהתאס לערך השדה של הפקד, לערך הביטוי או לעיתוי קבלת המיקוד. בעת טיפול בערך השדה של פקד, באפשרותך לבחור מתוך רשימת אופרטוריס של השוואה, כגון שווה ל (=), גדול מ (<) וקטן מ (>). התנאי של השדה סוס שבתרשים 5.7 הוא ערך שדה הינו שווה ל 0 (0 0ז |60₪8 15 6טופע 60ות). אפשרות העיצוב שנבחרה לתנאי זה מבטלת את זמינות הפקד כאשר ערך ההנחה טחט500ו0) הוא 0. |<]?) טחו!זבּחוזס-] |הּחסוווטחס:) בַחול 6 חחזזס=] ]08 -ן | | 2 סח זו 56 56 ||או )החחזס] פוחד =|-1|8.|4 5 5 == 1 סוחס ₪ |+ סל 5] 5 שטווב/ ב|סו- 6 0 )החחזס] ]0 ושושישוק 5! הסוחס6 השח | 68 | וכ | << 800 תרשים 5.7: תיבת הדו-שיח עיצוב מותנה אס תחיל עיצוב מותנה על שדה מחושב, כגון ₪66 060ח66, עליך לכתוב ביטוי באמצעות אופרטורים תקנייס של %88/. התנאי עבור השדה 066ק 060ח₪606 הוא (04./8]06<500א6? 15 חסו655זקאם) (4)אד הוא הפקד שמציג את הערך המחושב). כשערך השדה גדול מ-500, התוכן שבתיבת הטקסט יובלט בעזרת הדגשה והטיה. באפשרותך להחיל על פקד תנאי נוסף ועיצוב מיוחד. כל שעליך לעשות לשס כך הוא ללחו על לחצן הוסף (400) בתיבת הדו-שיח עיצוב מותנה (0חו8זס= |החס ו ה ס6) ולציין את התנאי החדש ואת נתוני העיצוב שלו. טפסי משנה טופס משנה (50010), המספק את אחת הדרכיס המקובלות ביותר להצגת נתוניס ב-460655, הוא טופס המוטבע בטופס ראשי. הטופס הראשי מכיל מידע כללי אודות אובייקט (כגון האגמנה או שס של מטופל). פרט היררכי קשור אחד או יותר (כגון שורות פריט בהזמנה או ביקורי המטופל) מופיע בטופס משנה אחד או יותר של הטופס הראשי. שדה משותף אחד לפחות חייב לקשור יחדיו את מקור הרשומות של הטופס הראשי וכל אחד מטפסי המשנה. השדה המשותף מאפשר לטופס המשנה להציג רק את הרשומות שתואמות לרשומה הנוכחית בטופס הראשי. כשהמשתמש עובר לרשומה חדשה בטופס הראשי, טופס המשנה מציג קבוצת רשומות חדשה שקשורה בצורה ייחודית לרשומה החדשה בטופס הראשי. פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 279 תרשיס 5.8 מציג מסך ראשי, 065זסץ, המכיל טופס משנה מוטבע ששמו 5 וסזסעוא. הטופס 0675זסץא מקשר את השאילתה 0675זסץא אל השאילתה 5 בהתאס לשדה המשותף 0706710160 (שאילתות אלו וטבלאות הרקע שלהן לקוחות ממסד הנתוניס 6חואוחז+זסא). בעת יצירת הטופס הראשי וטופס המשנה, לא יצרתי קשרי גומלין בין שתי השאילתות בחלון קשרי גומלין (5קוח5חסט8ּ|₪6) או על ידי שימוש בגליונות נתוניס משנייסם (עיין בפרק 4 לקבלת מידע נוסף על גליונות נתוניס משניים). <1ם)] - | יו 17 סז וסוס [ = 670601 הסח = 360050866 ה] 5001 06-18-98 ] 6 זסזס 0000007 ,6066 חסעחב6 6בח5ס!30ח] פוחבו! קוח ה תקסןףי] 2617 פפשזטטמ קוחב | פטזשטסטפוה] שו קוח5 07 וא חסוחָפת קוחפ 10 1 6 |00558 קוחפ 8 ץזחטוס= קותפ חזס50 6815 זשםזכיעוי] 0 מטזץ5 5880וחה 11077 חוח56350 חטן63 5'חסזח3 81ת) 11077 5 0 |+?| | | ]| 4 | 0 0 ז [++| זו 30 ]| 4 ]4 0 תרשים 5.8: טופס המכיל טופס משנה כדי ליצור טופס משנה, פתח את הטופס הראשי בתצוגת עיצוב, ודא שהלחצן אשפי בקרה (28705) |סשח60) שבארגז הכלים (אסטוססד) לחוצ, ולאחר מכן גרור טבלה, שאילתה או טופס מתוך חלון מסד הנתוניס ושחרר אותו בטופס הראשי. טופס המשנה יוצג בתור פקד בטופס הראשי. כדי לסנכרן את הטופס הראשי עס טופס המשנה, עליך להקצות שדה משותף אחד לפחות. בחר את מכולת טופס המשנה והגדר את המאפייניס קישור שדות צאצא (0וח6 אחו1) וקישור שדות מראשי (ז0ז135/ %חו1) בתור השדה המשותף. בשאילתות 0675ז1/0! ו-5ו689ז6וסץו, השדה המשותף הוא סזזסוס. טופס ראשי יכול להכיל טפסי משנה רביס. הדרישה היחידה היא שמקור הרשומות של כל טופס משנה יחלוק שדה משותף אחד לפחות עס מקור הרשומות של הטופס הראשי. לדוגמה, אס המסך הראשי שבתרשים 5.8 היה מכיל את השדה סזספץסוקוחם, הטופס היה יכול לכלול טופס משנה נוסף המבוסס על הטבלה 665ץסומוחש. 0 א 2000 06055 אס אתה מגדיר קשרי גומלין בין טבלאות ושאילתות בחלון קשרי הגומלין, או על ידי שימוש במאפייני גיליון משני, באפשרותך ליצור מסך ראשי עם טופס משנה מוטבע באותה קלות בה תיצור טופס מאוגד פשוט. בחלון מסד נתונים, בחר את הטבלה או את השאילתה שעליה יתבסס הטופס הראשי, ולאחר מכן לח על הלחצן אובייקט חדש: טופס אוטומטלי (זס-סזט:00[600 צוסא). אשף הטפסיס האוטומטיים יבנה טופס ראשי ובו טופס משנה מוטבע. טופס המשנה מנצל את המידע שבחלונות קשרי הגומלין או בגיליון הנתוניס המשני. באפשרותך לגרור טבלאות, שאילתות או טפסיס נוספים באופןו ידני אל הטופס הראשי בתצוגת העיצוב כדי ליצור טפסי משנה נוספים. בדיקת מידע והצגת נתונים טופס בדיקת מידע דומה לשאילתת פרמטר בעלת ממשק קדמי מותאם אישית; הטופס אוסף קלט שמפעיל שאילתה. בעת שימוש בטפסים וב-84/, באפשרותך לפעול בצורה גמישה בכל הנוגע לאופן איסוף המידע וגם באשר לסוג המידע שתוכל להתזיר למשתמשי חיישום. יצירת טופס בדיקת מידע הדרך הקלה ביותר למימוש טופס שמבצע בדיקת מידע היא לתת למשתמש להקליד את פרטי בדיקת המידע בתיבת טקסט וללחוץ על לחצן כדי להתחיל בחיפוש. תיבת הטקסט חייבת להיות בלתי מאוגדת, מכיון שהיא אינה מכניסה מידע למסד הנתונים; כל שהיא עושה הוא לקבל נתוני חיפוש מהמשתמש. המידע שבתיבת הטקסט ינוצל על ידי שאילתה למציאת המידע המבוקש. תרשים 5.9 מציג טופס שפותח את השאילתה א680א6 זוחסזץזסספוהזכף כשהמשתמש מקליד קוד זיהוי בתיבת הטקסט ולוחי על הלחצן קט 16 100%. השאילתה מוצאת את הכמות הכוללת שהוזמנה מכל מוצר שקנה הלקותח. <ן) = ה ד ה ו רו ו ם- ץרו ו |בסכס שרט רו סט כ( 1% 00% | 66% סחה ]1 זר 0ס5 6 3 זבסה= רס ו שרט עים לרוס וסט 65 זכ 680 01 60 וסוס 5 זפ :10 6560067 | סט לו 1.00% פרק 5: בניית ממשק משתמש באמצעות טפסים 281 5 אמטה | מאלטעמאקחקה --|- ]35 ו ₪ |+ 6308 ה ו ו מז 8880וח 530060 פבחטוטזפם || פָחוח58850 הטן[03 5'ח0זח3/ 681 סטבחטומזפם | = | זט 530087 5בחטואָזפם || > 530087 פבחטואָזפם || וד 530087 פבחטואָזפם ₪ סע 530087 פבחטואָזפם || חסזוטו סו[ 530087 פבחטואזפם 7 0 [+:1ו] משות ]| . ₪ 0 תרשים 5.9: טופס שמבצע בדיקת מידע פשוטה תרשים 5.10 מציג את השאילתה א80א8 זוחסזוץזסזפוהזוכף בתצוגת עיצוב. שים לב כי מדובר בשאילתה פשוטה שמסכמת את השדות 08008 בטבלה 2619158 ז06זס עבור כל אחד מהמוצריס שהלקוח רכש (הפסוקית =אפח/ בעמודה האחרונה מגבילה את השאילתה לשורות שהשדה 60וח0ס5%ט6 שלהן מתאיס לערך שבתיבת הטקסט של הטופס). |<1ם)- | עזסט 0 561601 : א80)א6 ז[חוסזועז0ו15]זק בק 01061 5 הבוחה וס > 500 06 0/6610!קוחם = 053007066 [= 6ובסוסטזס 50 חבט :עסחה סד טסו בוחה הס = | + 55 וסוס 5 זסטזס | 5 | 1 8 סז תרשים 5.10: השאילתה א680 דוחסזץזס9%והזקס בתצוגת עיצוב האלמנט האחרון בטופס הוא שגרת אירוע %88 המופעלת כשהמשתמש לוחצ על לחצן 05 1 1006. השיגרה כוללת שורה יחידה הפותחת את השאילתה 60% רחס ס15%רוקט : ()66ו61 קטאסס 601 50 ס6אהּעוזוק "600% סז סוכ" סט הסקס. וחספ סט5 0ח= 2 הא 2000 06055 שימוש בתיבה משולבת עבור קלט משתמש הטופס שבתרשיס 5.11 מעוצב טוב יותר מזה שתרשיס 5.9. במקוס לאלצ את המשתמש לנחש את קוד זיהוי הלקוח, הוא מאפשר לו לבחור את הלקוח מתוך תיבה משולבת. שגרת האירוע 00866 6 של התיבה המשולבת פותחת את השאילתה 80%זא6 דוחסז/ז560וזקם שמשתמשת בנתוני הלקוח שבחר המשתמש. לכן, לחצן הפקודה אינו נחוצ יותר. |<וםן-. ו ו זכ 686 01 60 וס טרפו |בסכס שר סח כ ז6רחכס05 61 8 506661 רחס וס שר עים סרוסוסם : 6החב1] ששחב קוחס-) 6 45| 5 עץ 603005 זבקוח= כוווןטוז בחה טסה ד סתפזפוי] סוחסלחגה חזסו] 6ח: טחנוסזם 80א300ח5 5בחשוהַזס₪ ח2]|>360556 588 זסטבום 5 66 6זסכ |הבחסום 5 35בוחחס > 61030 תרשים 5.11: עיצוב משופר של טופס בדיקת מידע הערה: טפסי בדיקת מידע המכילים תיבה משולבת עלולים לפגוע בביצועים ככל שעולה מספר פריטי בדיקת המידע. במצב זה עומדות לרשותך שתי אפשרויות. הראשונה, לחזור אל טופס בדיקת המידע בעל תיבת הטקסט שתואר לעיל. לחילופין, תוכל ליצור מערכת מרובדת שתאפשר למשתמשים לבחור אפשרויות שיגבילו את טווח הפריטים הזמינים בתיבה המשולבת. כדי להעניק תפקודיות זו לפקד תיבה משולבת, פעל כך: 1. הגדר את המאפיין סוג מקור שורה (6קץד 66זט50 עוסם) של הפקד בתור טבלה/שאילתה (ץז6ט0/וטגּד) (ברירת המחדל). 2. הגדר את המאפיין מקור שורה (ש6זט0ס5 ווסף) של הפקד בתור מחרוות .501 שמחוירה את השדות המבוקשים (מחרוות ‏ 501 של הדוגמה היא ז60ם|55 וס ד605 |ואסח סזמשויס ד605). פרק 5: בניית ממשק משתמש באמצעות טפסים | 283 3. תן למאפיין מונה עמודות חטס6 חוחט!ס0) של הפקד את הערך 2. 4. הגדר את רוחבי העמודות והפרד אותן בפסיקיס (הערך הראשון חייב לחיות 0). אס תעדיף, אשף התיבות המשולבות יכול ליצור את הפקד עבורך. כל שעליך לעשות הוא לוודא שלחצן אשפי בקרה (05ז28ו/ |סשח60) שבארגז הכלים (אסטוססז), במצב לחוץ, ולאחר מכן הוסף את התיבה המשולבת לטופס. עקוב אחר הוראות האשף. הצגת תוצאות בתיבת הודעה הדוגמאות שהיצגנו לוקות בשתי חולשות. ראשית, הן מעבירות ערכיס לשאילתות וגס חושפות ערכיס הלקוחיס משאילתות. משמעות הדבר, שמשתמשים עלולים לשבש בשוגג את עיצוב השאילתה. שנית, משתמש יכול גס לשנות את הנתוניס שברקע השאילתה. הטופס המדגמי לבדיקת מידע שבחלקו העליון של תרשים 5.12 מתגבר על שני החסרונות הללו על ידי שימוש ב-84/ וב- 001606 08% א6ע860 (ססם). טופס הקלט דומה במראהו ובתפקודו לטופס שבתרשיס 5.11. קבוצות ההחזרה של השאילתות שפותחיסם שני הטפסים זהות, אך הן מוצגות בדרכיס שונות. הדוגמה שבתרשים 5.12 מציגה את קבוצת ההחזרה בתיבות הודעה במקוס בחלון שאילתה בתצוגת גיליון נתונים (הדוגמה עושה שימוש במספר תיבות הודעה הדרוש כדי להציג את קבוצת ההתחזרה שלה). באופן וה נתוני הרקע מוגניס מפני שיבוש שלא במתכוון על ידי המשתמש. <1ם) -. ד ו יבד ו ו ו - וסוכ ר!6860 )0 60זס טרופ ו ובס שר שחו כ ז6רחכס5 61 8 56/66 זסרחו 500 ₪ שר עפ זרוסטוספ 311 | :ורחב ]רוב חח > 4 הח 2000 466655 וול 0 , קטוזע 5 וחב , קספ 3ח5 5טחטופזס ם 5 ,4631 0730 ה0ז₪05 , קספ 3ח5 5בחגווטזס ם 5 ,וטו +זטפות6וחב-) , קס א 53 5תוו!םזס ם 5 ,31 ,ק50300%0 הגוז ם 1 ,300 , שס0אפ3ח5 5בחווםזס ם 6 ,615 486ו6זוז13]- , 5030080 5חגוםזס ם 2 ,חוח56350 חן 5'הסזחב. ]= , קסאפפ3ח5 פבתגווםזס ם 5 ,36| 06 616 , ק300%0ח5 הגוז ם 5 ,א ס!ו= , 5360 פבתוווםזס ם 2 ,9081ע680ז8|=] ,ק30%0ח5 גוז ם 8 ,35103:חב "] ב חבזבגוב) , סאפ 3ח5 5טחוווםזס ם 5 ,43|3003/ ב|גו3 , ספ 3ח5 5טחטוחזסם 0 ,הזב פורחחחו ב זה פוחגוג) , קספ פ3ח5 5בחגווסזס ם 2 , בזגו6] , 50300 5בחוגווזס ם 0 ,01!]86כ) סכ[ , קספ 53 5בחגוחזס ם 0 ,זפטוסת-) הח3!- בהובופח= 6% 5'אסב 1 , םס אפפ 3ח5 5טתגווםזס ם 5 ,גוסחס.א , 53000 5בחו|םז6 ם 1 ,וזססא!!3 366 ] ,503000 גוז ם 0 ,סוסב ] 8הסקז3 4350 , 53 פתוווםזס ם 5 ,36!וא3 4 , סא 53 5טחגווםזס ם 0 ,חוז6 365 4 +05ו-בזס1 , ספ 53 פבתוגווםזס ם 0 ,8וסחוחס 316 , קס30%0ח5 הגוז ם 2 ,/ס|שיב , ק3060ח5 פבתו!םזס ם 0 ,חסזוו4] ססו|ם. ,קס>פפבת5 0105 ₪ (1 | אס 855306 זס!!סחב חן פזסוח 566 סז 08 אסוום) 0 %*20065 ]/050זו₪1 [ חוחוחוהּ זטסז 5 ,]וב הזוס 06ו6וסב ‏ , קספ 3ח5 5בתגווטזס ם 1 , זטופזפ)03| גובזסחסר!4 , קספ 3ח5 5בחגווטזס ם 5 ,זבועיב. בס , מס אפפ 53 5חוווסזט ם 0 ,זוה זזטוב 5 055|6 , קספב ח5 5טחוטזט ם 8 ,306!בחזזב | 5'עפהטס! זו5 ,סאפ 3ח5 פבתגווםזס ם 8 ,51006 51661606 , קסאפפ3 5 5בחוגווםזס ם 5 ,219010055 0]316סם]- 6חזוזה6 [ , קספ 53 הגוז ם 0 ,זוואה זם1051 זסטהוזגוח ד , אפפ 53 5טחוםזס ם 6 ,וס 1 , םס 3ח5 5חווחזס ם 6 ,שזסו!זוס 1 , סאפ 3ח5 5טחוווםזס ם 8 ,6016-501680/ , פס 30 ח5 5בחוווםזס ם 1 ,6066 233056 , מס אפפ 53 5טחוטזס ם 2 ,351185 /] 76 , 503000 5ב הוגוםזס ם (. | תרשים 5.12: הטופס הראשון מציג את קבוצת התוצאות שלו בתיבות הודעה כך שהמשתמשים יכולים להציג את קבוצת התוצאות, אך לא לשנות נתוני הרקע שלה פרק 5: בניית ממשק משתמש באמצעות טפסים | 285 השיגרה שלפניך מופעלת בתגובה לאירוע 00806 01 של התיבה המשולבת בתרשים 2. השיגרה מבצעת פקודה בהתבסס על שאילתה, כדי לפתח קבוצת החזרה. לאחר מכן היא מקצה את קבוצת ההתזרה מהפקודה אל ערכת רשומות ומציגה את ערכת הרשומות באמצעות תיבת הודעה אחת או יותר. ()67(008%6א1ה קטאסס 6001 500 ס6אהּעווק |סח0ס6 ₪5 601 חחוס סח וח 60 5 601 וחוס 59 5 571 ,06070560 ₪5 561 חזוס .(6000 600710080 0+ 61676006] 66% ' ("קטאסס ₪6.00007015)"6001] = 601 560 .חר 60 6ח061 80 076876 ' .60 ז0ס? ח501 .5001 חו 6ט|אצ אספסטו 60 56 בוו 5.60 סכ ג צוס = 601 56% 01 הסו\ 660 חח 66060.6 = 6600 תה 666 8" ,36 ו 5.00 050 56|666" = 6% הו 60. 8 " ,6ח63ו0סזק.0665סזק" ₪ " ש חט0!סס ד 35 (שסתהטס.[5!ו6%9כ ז06זס])וחט5" 6 " 00675 חוס? ז6חח1 0675 0ש5ט6)) הוס? זסחח1 665טססזק וחסז-" 8 " (10ז06ל070675.605 = 6₪5%065.005006710 צזס" = 8 " אס [88ו9ז6 ז0706] חהוסנ זסהחז" 8 " (6%915[.070610כ ז06זס] = 06770ז5.0זססזס" = 6 " סשס6טססזק.[5וו6%9כ ז0706] = סטס6טססזק.66טססזק אס" 8 "" 8 61./8]06 8 "' = 06710 560675.005%0ט6 6זסח/" ";6 0 סזק. 0065 ,6הוהאץ חקו .6050065 ץצ קנוסחס" 0% = 06ץ ו 60. 6 הז%ו 0חם= .5018 .5001 וחסז] 56% חזס6ז חס 28560 760070566 076866 ' שא = 561 56% 6 000 301 66560 30006 , ,601 ה561.006ז (65)א20 7655806 ח! /0150|8 %0 56% חזס6ז חסטסזח+ קססן' .5 "0 87800075ו!6 925 01 10665 חו' 501.50 וטח ספ (6]05)2. 561 8 " ," 86 (16105)1-.75%1 8 " ," 8 (5%1.₪16!05)0] 8 5071 = 501 ]זט 8 5771 = 5071 6 הח 2000 406655 חסחד 925 < (571)ח6 | +1 "00% 655806 ז6ח0%חה חן סרח 566 0 06 6166" 8 1 הסטע 8 501 = 5071 "2000 66655 1670508 הרותה זפסזק" ,הסוסהוחזס)חה1פט ,501 15400 1 + 0חם +אס םסוא 561 קסס | = ,הסהוזס)ח1פט ,5071 א00 150 "2000 266655 11670500 חוווחהוטסזק" סט 0ח= בשיגרה זו, לא יכולתי לנצל את קוד 501 מחלון שאילתה בתצוגת עיצוב, מכיון שמחרוזת ‏ 501 של אובייקט מסוג חַחאחוח0ס6 אינה תומכת בשדות בדיקת מידע. לכן, הוספתי את הטבלה 66ט00זק לעיצוב השאילתה כך שיכולתי לדווח על כל שס של מוצר בקבוצת ההתחזרה במקוס על קוד המוצר בלבד, כפי שהגיע מהטבלה ]0706 65. הטבלה הנוספת מסבכת את לוגיקת הצירוף של השאילתה (עיין בפרק 4 במבוא לתחביר של משפטי 501). לולאת 00 עוברת בצורה סדרתית על ערכת הרשומות וכותבת את תכניה במחרוזת. בסוף כל רשומה, היא מכניסה תו החזרת גררה (0₪) והזנת שורה ₪)6. אס אורך המחרוזת עולה על 925 תווים, השיגרה מכניסה שורה ריקה והוראה להצגת המשך היסטוריית המכירות של הלקוח בקטע ההודעה הבא. תיבת הודעה יכולה להכיל קצת יותר מ-1,000 תוויס (השיגרה א%65/055900 במסד הנתוניס המדגמי בפרק זה מסייעת לקבוע את מספר התוויס המקסימלי שתיבת הודעה יכולה להכיל; כל אחת מ-19 השורות העליונות כוללת שני תוויס שאינס מודפסים). הגבלת הוספת תוויס לתיבת ההודעה הנוכחית ל-925 תוויס, מאפשרת לתיבה להתמלא מבלי לקצצ תו כלשהו. הצגת מידע דינמית באפשרותך להציג נתונים, כגון רשומה, בטופס, ואף לעצב טופס שיאפשר למשתמשים להציג את הרשומה, אך לא לערוך אותה. תרשים 5.13 מציג זוג טפסים שמאפשריס יחד למשתמש לעיין ברשומת לקות. המשתמש בוחר לקות מתוך הטופס קטאסס | וח0ס5%ותז? ולוחץ על הלחצן וחזס ה1 ז6וה560ט6 שוסח5 כדי לפתוח את הטופס 5 ס, אשר מציג את רשומת הלקוח שנבחר (המאפיינים אפשר עריכה (וסו|ג 65), אפשר מחיקות (5ח6!600כ צוסו|ה) ואפשר תוספות (5ח00ו₪00 צוסו|ה) מקבליס את הערך לא, ולכן המשתמש מנוע מלשנות את הנתוניס). המשתמש יכול ללחוצ על הלתצן ה זס"] קטסס ] זו 0ש605 סד חז₪6 כדי להעביר את השליטה חזרה אל טופס בדיקת המידע ההתחלתי. באפשרותו גם להפעיל בדיקת מידע נוספת, או לצאת מהיישוס דרך הטופס הנוכתי. פרק 5: בניית ממשק משתמש באמצעות טפסים | 287 חזזס-] : קטטאסס |זסהוסז5נו-)חוז] אסם ססח 60 ₪6 חן זת 60550 8 +56|66 ]8 חזזס] 8 הסקס 0 ה זס-] ח] זסח 61500 אוסח5 >6ו61 סח 6500 [56!66100 6 זס) 6זס66ז ₪6 1501855 | - 5 65 שזסם (06חסו] הברה קחזס > | חזס=] כ סט 1 0550067 056|) <1) = וסוט 83 החסה ז6ר00ל9ו ץ| הס-₪680 בו 0 56061 0000000007 ₪ שק שנחסם] 6ב עההקוחס-) ו 0000 אשם6 6 6ף6060ז=ן שבי 60536 77 הבחב! הַחמשאומו] 08 ה 000000000 66שם695 566וק ,24] 5 0זנו0פ5₪35] וס חסוטשת 0 8 |058ק 0 הסשת קטאסס.] 087ס:5-) 66חבז=] חס הת 0 6חסחם 2 אב תרשים 5.13: טפסים אלה מאפשרים למשתמש לבחור ולהציג רשומה של הלקוח שגרת האירוע הפשוטה והאלגנטית שלפניך היא הקוד שמאחורי הלחצן הס חן 605% עשסח5. ()6|166 ז6וח5%0 50/0 60 50 6זהטוזק קז דר 50/6500 0 ד60 זסזזם הס 509 5 501150 ,8חו50 5 6ט|50/3 חזוס 002.86 16.007] = 50/8|06 = ,"605600675וח1" וחזס- ה0.06ה6ספ "" 8 8507/8106 "' = 10ז6וח65%0", ,|הוחזסוסהּ אק ד 500 סח סטפ זואם 8 הח 2000 406655 :קז ד 500 סח חסחד 94 = זססוחטא.זזם +[ = 8 " אסם 0000 06 חן 6500067 3 561666" 150% ,".החזס? ז6ר6₪5%0 6+ השקס 50 חַחוקח306 76וסו6ס" "2000 66655 0500זסו1] פחורחרח הטסוק" , הסוטהוחה !סא סע 6 8 " 680560" .8 זססוחטא.זזם 8 " :זססרתטח זסזזם" = 50750 הססק 656כ.זום 8 + !טע 8 ":5! הססק 06567 165 .6זטווב?" "2000 66655( 0506זסו] פחורחחחה סק" , הסוטהוחה !סא פע ,507150 אס 15 + 0חם זא רת 505% 6הה65 50 06ח= יצירת תרשים מקבוצות משנה של נתונים האובייקט 60871 של 2000 ח80ז6 670506 מאפשר ליצור תרשימיס בעלי מראה מקצועי, בצורה קלה ופשוטה. האובייקט, המשולב בטופס כפקד אובייקט בלתי מאוגד, יכול להיות מאוגד לטבלאות ושאילתות של 866655. באפשרותך לבחור מתוך מיגוון רחב של סוגי תרשימים ואפשרויות עיצוב (לחצ לחיצה כפולה על האובייקט בטופס בתצוגת העיצוב כדי לחשוף את התפריט המותאס אישית של האובייקט. כשתסייס להשתמש בתפריט האובייקט זַּהּח6, לח על הטופס מחוץ לאובייקט כדי לשחזר את תפריט עיצוב הטפסים הרגיל של 160655). יצירת תרשים באמצעות אשף הטפסים באפשרותך להוסיף אובייקט א8ח6 באופן ידני, אך קל יותר לעשות ואת בעזרת אשף התרשימים. כל שעליך לעשות הוא לפעול כך: 1. לח על האובייקט טפסים (פוחזס") בחלון מסד נתונים (89856ז08) ולאחר מכן לח על חדש (שוסא). 2. בחר את אשף התרשימים (2870!/ +ו8ח6) ואת הטבלה או השאילתה עליה ברצונך לבסס את התרשים. לאחר מכן לחצ על אישוד. בחר את השדות שיופיעו בגיליון נתוני התרשים ולאחר מכן לחץ על הבא (0א6א). בחר את סוג התרשים ולח על הבא. גרור ושחרר את לחצני השדה המבוקשיס אל התרשים ולת על הבא. ₪ = ₪ ש בחר באפשרות לשנות עיצוב של טופס או של תרשלם (פחד 01 6518 שד עוסו₪ + 6חד זז וחזס=) ולת על סיוס(ח5וחות). פרק 5: בניית ממשק משתמש באמצעות טפסים 289 באפשרותך להוסיף פונקציות צבירה ועיצוב על ידי שינוי מחרוזת ‏ 501 במאפיין מקור שורה (66זט50 צוסם) של פקד האובייקט הבלתי מאוגד המכיל את האובייקט 608% (האשף יוצר עבורך משפט זה). הצגת התרשים באמצעות קוד תרשים 5.14 מציג שני טפסיס המאפשריס למשתמש להתוות את המכירות בחודש שנבחר. הטופס העליון מאפשר למשתמש לבחור שנה כלשהי מתוך הטבלה 5ז08ז0. האירוע 0806ק 801 של התיבה המשולבת פותח את הטופס התחתון המנצל את האובייקט 6087 של 2000 חק8זס ‏ 11070504 כדי להציג את סך כל המכירות לפי חודשיס בשנה שנבחרה. |<11) - | הזז -] : זב63 והוז 83 חוחסחז עכ 58!65 +זהח6 0) וחהצו וסץ ה6וחצו זס] זה68ץ שר <6ו |<11) - | הזז ] : זזבּת:)חוז) 83 רחסו עֶ 98|65 0 7" וו 7 זקת 7 הו 70 2500 2000 1500 1000 500 עו זפחלסחה או זב תרשים 5.14: טפסים אלה מאפשרים למשתמש להציג נתוני מכירות חודשיים בשנה שנבחרה 0 הח 2000 406655 התרשיס שבתרשיסם 5.14 מבוסס על שאילתה שמאחזרת את כל ההזמנות של השנה שצוינה. השאילתה מתרגמת כל תאריך הזמנה לאחד בחודש (מבלי לשנות את נתוני הרקע). פעולה זו מאפשרת לצבור את כמות המכירות לפי חודש בצורה קלה ופשוטה, ועל ידי כך מאפשרת גס להתוות את המכירות לפי חודש (אשף התרשימים מסכס אוטומטית את כמות המכירות לפי חודש במקור רשומות כמו זה הנוכתי). שלוש שגרות האירוע שלפניך שולטות באינטראקציה בין שני טפסים. השיגרה 6 זז 60016 טוענת את הטופס עס ציור התרשים וממזערת את הטופס שהמשתמש בוחר בו את השנה (עליך למזער את הטופס ולא לסגור אותו, מכיון ששאילתת התרשיס קובעת את השנה שבחר המשתמש באמצעות התיבה המשולבת של הטופס הראשון). ()67(008%6א הס ץא6וק 600 500 ס6אהעוזוק 6ורחוחו. וחספ "+זה הוח" וחזס- ה0.06ה6סכ סט 0ח= ()6|166 600!056 500 סזהטוזק "זה /א6וק וז" ,רחזס-36 6|056. ספ סכ 50 06ח= ()6|166 ]63 א6וק 6 0 50 6זפטוזק "זה א6וקוחז?" וחזס- ה60.06סכ "+והחה6חז)" ,וחזס-86 6|056. ספ סט5 0חם טיפול בקבצים באמצעות 84 בסעיף וה נתאר טכניקות אחדות למיכון השימוש בטפסים. נמחיש כיצד ממספריס טפסיס ופקדים, כיצד מציגיס ומסתירים טפסיס באמצעות קוד וגסם שיטות להצגת טופס בפרויקט אחר. מספור טפסים ופקדים האוסף פחזס=||, ששייך לאובייקט 6[סזקזח6זוט6, מכיל פריט לכל טופס בפרויקט. יישוס יכול למספר את האובייקטיס מסוג 46665500[66 באוסף פוחזס=!| כדי למצוא את כל הטפסים בפרויקט. המאפייניס 86 ו-15|08060 של האובייקט 0665500[1606 נוחיסם במיוחד לשימוש: המאפיין 86 מייצג את השס של כל טופס בפרויקט, והמאפיין 15108060 מציין אס הטופס פתות. פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 291 ו 1 השיגרה שלפניך מנצלת את המאפיין +חטס6 של האוסף פוחזס=!|א כדי לקבוע את מספר הטפסיס שבפרויקט הנוכחי. לאחר מכן היא מדפיסה את השס ואת מצב הטעינה של כל טופס בפרויקט (האוסף פוחזס=!| מאורגן כך שאינדקס החבר הראשון שלו הוא 0; לכן, הלולאה זס=] עוברת על טפסי הפרויקט החל ב-0 ועד אחד לפני אחרון). ()פוחזס=|!|56! 1 5 זז 5 61חו וחוס זז 06 חן 5זזס? +0 זססההטח 6חש %חוזק ' %חטס5.6וחזס= || .66%[סזקח6זט6 זחוזק. פטטסס +חוזק. פטטסס 6ח+ חן וחזס1 6868 866 זסרתטחם ' 1 - %הט60.פוזס-]||.66%[סזק+חה6זזט6 סד 0 = 1שחו זס= 6ח ה . ( 61| )156 פרתזס= ||/.66%[סזק%ה6טוש זחוזק. פטטסס 0 ]. ( 61| )166 5רחזס= ||/.66%[סזק%ה6זטוש זחוזק. פטטסס +חוזק. פטטסס 1צחו )אסא סט5 0חם האוסף פוחזס=ת!|4 מכיל את קבוצת כל הטפסים הפתותחיסם בפרויקט והאוסף 5!|סשחס6 מכיל את קבוצת פקדי הטופס. היישומים שתיצור יכוליס לנצל אוספים אלה כדי למצוא טופס מוגדר ופקד בודד בטופס זה. השיגרה שלפניך ממספרת את כל הטפסים הפתוחים בפרויקט. היא מציגה את הפקדים של כל טופס פתוח לפי שם ולפי סוג. המאפיין 6מץדוסחס6 של האובייקט (₪0חס6 מציין את סוג הפקד. באפשרותך להשתמש במילת המפתח )60סץד בדרך דומה. ()5חזס- 06 1500701500 1 50 [0ח60 ₪5 601 ,וחזס- 5 1חז? חחוס .5ז0? ה6כס ||8 866זסרתטחם ד 5זס- ח1 1וחז1 ה86ם זס= ס6וחהּ). 1 רז חוזק. פטס .וחזס+ ה6קס 5060116 8 חס |ס 60 680 806 סוחס ' 1.5 ה[ 601 ₪86 זס= 8 "," א 6ה3א.601 8 "|" סחוזק.פטטסס ("!306! %סח" ,"]806!" ,100 = 6סץדוס%חה60₪1.60)זז 1 אסא 1חז 6% 50 0ח= שיס לב שהשיגרה מפענחת את ערך המאפין 6סץזוסזחס6. כשערך וה הוא 100, הפקד הוא תווית. בתהליך הפענוח המעשי סביר יותר שתשתמש במשפט 6856 566% במקום בפונקציה )1 11601866 שבדוגמה הקודמת. הפונקציה 1 806ו60וחוח1, לעומת ואת, פועלת היטב בפענוח ערך יחיד (באפשרותך לנצל את +56ש0ז8 02[160% (סורק האובייקטיס) כדי למצוא את ערכי 6סץדוסשחס6). 2 הח 2000 406655 הסתרה והצגה של טפסים באפשרותך להשתמש ב-84/ ובאוסף פחחס=!|| יחד עס אובייקטיס נוספים כדי להסתיר את הטפסים בחלון מסד הנתוניס. אס תהפוך את הטופס לבלתי נראה גס ביישוס, המשתמש עלול לחשוב שסילקת את הטופס לחלוטין. טפסים מוסתרים יכולים עדיין לחשוף ערכיס לשימוש באמצעות אובייקטיס אחרים ביישוס. זוג השגרות שלפניך מסתיר ומבטל את הסתרת טופס של 66055 : (8חו7ז5 5 6ההּוחז1)וחזס- 3106 50 .1006 26 ח08ס %| %8% 50 הסשקס 5! שו ₪1 הזזס? 01056 ' הסח ד 6ט ד = 03060 |15. (6רחהּרחז+)5רחזס= || 66%[סק+חה6זוט6 +[ 6ח הוחו ,וח'זס-36 6|056. חספ + 0 הווח וסח5 0% 60 6חה ע+וסקסז ה006ו 5'חזס 56% ' .וססחוש 28580856 חן 6005[טס ' 6טז ד ,6רחה ות ,והזס-30 6זטס 6 566100. הס 8סו!כ סה 6 ,"001600 ה11006 צוסח5" ח5600000. הסספסוומסה סט5 0חם (8ח571 5 6וחהּ )וס 6 0והח 50 .הז0ס+ ה6כס 0חה 8|56= 0+ ע+וסקסזכן הוח 5'וחזס 56% ,ה06סוח 15 החזס+ זך ' הסח ד 6טזד = (6וה ות , והזס-86 )76 ה0661006. הסספסו!ססה + 6 ,רהוז ,והזס-36 6לטס ו 6 566100. הס הסוסה 6ח האר וחזס- ה6כ0. 0ח6סכ + 0חם סט5 0ח= השיטה 066ט0ו4077ח56011006 מסמנת או מנקה את המאפיין (ח41006) מחלון מסד הנתונים, של אובייקטי מסד נתונים, כגון טפסיס, דוחות ושאילתות. שיטה זו קולטת שני ארגומנטים, אובייקט מסוג ‏ 86065500[606 וארגומנט בוליאני שמציין אס יש להסתיר את האובייקט. קריאה לשיטה באמצעות אובייקט ובצירוף הערך שטזד והה לקביעת המאפיין מוסתר (ח006ו) של האובייקט בחלון מסד הנתוניס. השיטה 00066ח560711006 לבדה רק מעמעמת את האובייקט; המשתמשים יכוליס עדייו לבחור אותו ולהשתמש בו. כדי להציג שאובייקטיס מוסתרים יהיו בלתי נראיס למשתמשים, בחר את אפשרולות (5חסטקס) מתפריט כלים (100!5), לחצ על אובייקטים מוסתרים (00[6609 ח006ו3) ולאחר מכן לת על אישוד. בטרס תפעיל את השיטה 6זטפו07ח006ו5617, עליך לבדוק את המאפיין 15108060 של האובייקט 46665500[60. אס האובייקט טעון, עליך לסגור אותו בטרס תנסה להפעיל את 06טפ00771ח006ו5617 ; קריאה לשיטה כשהאובייקט פתוח גורמת לשגיאה. פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 293 ו 1 מספור טפסים בפרויקט אחר 8 אינו מגביל לטיפול באובייקטיס של מסד נתוניס בפרויקט הנוכחי בלבד. לדוגמה, באפשרותך לבדוק קיוס של טפסיס ביישוס אחר של 860655. אחד השלבים התיונייס בתהליך וה הוא להשוות את המאפיין 6וחּא (שס) של כל חברי האוסף פחזס;ו|ה לשס טופס היעד. קיימת תחבולה נוספת שעליך ללמוד: פותחים מופע חדש של טופס חסטהסו!כק של 860655 כשהוא כולל את מסד נתוני היעד ולאחר מכן משתמשיס בפרויקט הנוכחי של מופע וה בתור המקור עבור האוסף פוחחזס=!|4. שיפור עדין וה מאפשר לטפל באובייקטי מסד נתוניס השייכיס לקובצ מסד נתוניס אחר. שתי השגרות שלפניך מממשות את הרעיון באמצעות 84/. השיגרה זס]אסס | דוחזוס= מגדירה את נתיב מסד הנתוניסם אל קוב מסד הנתוניס האחר וקולטת את השס של טופס היעד. השיגרה השנייה, 08ח01פואשוחזס", מחפשת טופס יעד. באפשרותך לקרוא לטופס השני מתוך הטופס הראשון. ()זס אסס !0 דוחזס= 5 9חו5₪ 5 50708 חזוס 58 5 6והּ\וזוס-507 וחזוס .6 סחוחוצשולזס! 6 חן 5וחזס+ זס+ 56876 ' "סח ו חוצח+ז סא 65| 58 7166 10166 16050 65!ו= ותהזפסזק:6" = 508 ₪56 6 סז זס ה56876 60 הזס] 6ח% 01 6החהח %6 06% ' = ," :107 568700 60 וחזס? 6ח% 01 6וחהח 6+ זס+ח=")א0סס+טקח1 = שאו וס- 50 ("2000 60655/ 1670508 חור ותהזטסזק" .5 והחז0? 6+ ז6ה6%ח/צ 666% 0 08 ח5051ואם ו זס= ||08 ' 6וחהּ ו זס- 507 ,5008 8כח5%51ואם ותיוס- 50 6ח= (0חוז50 5 ס6וחהּאותזס- 507 ,8חו50 45 08 08)507ח501ואםותזס= סט5 זז 5 61חו , הס 63!|קק .66655 5 60055/מק3 הזוס ח0ו680ו!ק 406655 167050 60 61676006 חזטסק ' חס ה6ו|ק .66655 /וס] = 600055כק3 56% ח680ו!0ק3 ז06ז0 06 חן 08%80856 8 חסמס ' 58 608680856 חק 66655.0 קסבּ .5 10 6ץ זסת6% הצ 066% ' (1 - +הטוס6.פוחזס=]|.0[66%ס קזח 6 66655 קקה) סד 0 = 1טחו זס= | 86 . (%1חו)רח166. 5רחזס= || 0[66% קת 66 . 66655 כקבּ) + הסח ד (סההּ\ותזס- 50 = = 8 570 8 " 6 חו 681565 ".8 6ההּ\וזס- 50 .8 " הזס-" ₪150 "2000 06655( 5016סז6ו!] פחווחותהּזססזק" ,הסטאוזס+חה1סע ".0850356 " ואםותזס=] 3070 + 0חם 1חו %אס)] 4 ה 2000 406655 0% 6065 חס 8% +זס0ק6ק ד = " 6 ח! 615% 0%ח 0065 ".8 6חזהאוזס- 50 8 " הזזסת" א0סף5!₪ ".08580856 " .8 5028 8 .ח0ו630ו1קק8 460655 ז06ז0 0|056 ' :א 155אם תוס 6 66655.0056 קה ָחוחזס] = 66655כק4 56% סט 0ח= השיגרה הראשונה נותנת ל-508 ערך טיפוסי של נתיב אל מסד הנתוניס סחושוחזזסו. אס קייס עותק של 6חואוחזזסא במקוס אחר כלשהו, עליך לעדכן את הנתיב. פונקציה מסוג אספזטוקח1 מנחה את המשתמש להזין את שס הטופס שיש לחפש, ולאחר מכן השיגרה הראשונה קוראת לשיגרה השנייה. השיגרה השנייה קובעת ופותחת הפניה אל המופע החדש של היישוס של 460655 ולאחר מכן מגיעה ללולאה שבודקת אס טופס כלשהו במסד הנתונים החדש תואס לשס טופס היעד. השיגרה מדווחת אס מצאה את טופס היעד ומשחררת את המשאביס שהוקצו למסד הנתונים החדש לפני חזרתה. שימוש במחלקות טופס טופס כלשהו של 2000 866655 בעל מודול מאחוריו הוא מחלקת טופס; באפשרותך ליצור מופעיס חדשיס של המחלקה בעזרת מילת המפתח צוסא בדיוק כפי שהיית נוהג עס מחלקה כללית (גנרית) כלשהי של 466655. אחד היתרונות של מחלקות טופס הוא שהן כוללות את כל השיטות ומאפייני הטופס התקניים וגס את התוספות המותאמות אישית שַהמְפַתח מוסיף להן. הצגת מאפיינים ושיטות של מחלקת טופס באפשרותך להציג את המאפייניס והשיטות של מחלקות טופס באמצעות 0016 ז56ש0ז₪ (סורק האובייקטים). בחר בשס הפרויקט בתיבת הרשימה הנפתחת ץְזהזס! 60%/1[סזק (פרויקט/ספריה) ובחר שס של מחלקת טופס כדי להציג את המאפיינים והשיטות שלו. סורק האובייקטיס שבתרשים 5.15 מציג קבוצת משנה של חברים במחלקה 0ז ופ חהססלטם תז) וחזסת. כזכור, טופס זה מנווט אל שלושה טפסיס אחריםס באמצעות שגרות אירוע. שגרות האירוע הן שיטות מחלקה, כגון 616% 60060676. הלחצנים, כגון 670607616, הס מאפייני מחלקה. פרק 5: בניית ממשק משתמש באמצעות טפסים | 295 <1ם)- | זז )ס6ןפ 0 םש |?+ | | | , | 4 |- 5 | |א [- ו ז סח 6זואים ה סחטום רז הזז ז' זט זט טרפו 5 | | סז סם ופ |= <0|5וָ> 9 ₪ חסו31 ₪5 הסוב31 ד 5-015+0ווווה סוחס הזוס ₪ 00 058! ₪9 הסה 15+0- קוו סוחס החזזסז ג 68 ₪5 ות החזס] ₪ 4 זוע 0 60 הצוח הוזסז ₪ רפח 60 ₪5 06 )םוז הזזסז 4 וו וד סו | וול ₪ 8 6 ₪5 +והו)ודז הזס] 4 ו 6זו 0/0071 %>: נקנואסס ואססטווס)וז1 זט 4% |[ אסם|פז1ח0 = ₪5 ₪ וס וסטווס)ו הזז 44 וז ץע הס+ום 1 החזזס] 61355 6זבּוזק 5 01 זסמחוטו/] תרשים 5.15: שיטות ומאפיינים של מחלקת טופס טיפול במחלקות טופס השיגרה שלפניך מפנה למודולי מחלקה ב- 2000 8466655. השיגרה כוללת כמה מקטעי קוד שמטפלים במחלקת הטופס הבסיסית בדרכים מתוחכמות ומתקדמות יותר. הטיפול במחלקות טופס ובמופעיס שלהן דומה לטיפול בעוגיות באמצעות חותך עוגיות. מכשיר החיתוך הוא מחלקת הטופס והעוגיות הן מופעים שלו. שינוי בעוגיה אינו משפיע על מכשיר החיתוך. לעומת זאת, שינוייס במכשיר החיתוך משפיעים על כל העוגיות לאחר ביצוע השינוי. ()6500776|355+ 5 וחזזס=] 45 1וח וחוס 56% 6006 ל5זו= ' .1חז חון 6|855 וחזס 8 01 66ח5%8ח! 0+ 66ח6/676] 5865 ' .6 67676006 זס 61355 616061 )וש 66676066 ח08 ' 5 לחז וס = 1ותז1 56% "סס)" = הסוזק63. 1 וחז1 5.68 ס5% רדווס 50% 150 סו 63. 1 וז 80% 50 סח 1 וח ,וחזס-36 6|056. ספ 6 הח 2000 466655 560 6006 560000 ' .חח וחזס+ %|06180 5ח026 8006 3|6675 ץ||68וסה הרחהזטסזק ' .56| %0 60676006 56% 0% 0065 ד .6 0 151016/ !560 0 06ח5%8ח! 5ז0|68 ' "סס)" = 615.682%07ו65607ח ‏ וחזס=] 6זך = 0!6ן15/. 65 65%0רח) ‏ וח'זוס- סו 5.68 ס5%רחז וזס= אס 150 = ,0650 ,"?58066חו וחזס1 61056 60 לחפעט טסץ סס")א80 פוא זז חס ך 65פץ = ("2000 266655 167050 הווה וחהזטסזק" 6 = 1510!6/. 65 5%0חח ‏ הזוס + 0 560 6006 6זוחד ' .וז 6855 1001 60 וסוט חףו65כ חו הזזס+ השס ' .6 עשסוע חף!65 01 ז86קחו 566 0+ צוסוע החזס= חו הסקס ' 00ו86065 ,"ות 0ס5%ט6ותז)" וחזס- ה6קס0. 6וח6סס "00" = ה0וז680. ("5זס ו 0ל65וחזז" )פרחזס=] סו 65.08 5% טרח הזוס 50% 150 5 ,"61050016" ,רח'זס-36 6|056. ספ 6זך = 0!6ן15/. 65 65%0רח) ‏ וח'זוס- סו 5.68 ס5% רהוס 150% 560 6006 ת+וטס- ' .סז ח0ו680 6|855 65%076ק ד ו36065 ,"רת 0ס5%טוחז)" וחזסת ה6קס0. וחספ 5 לוח וחזס-] = 1ותז1 56% "656005" = חה0 1.68 וח 5 ,6. 1 הח , רח'וס-36 6|056. חספ 6זך = 15106 65 65%0ח ‏ וח'וס= הס 505.68 6+ וחזס=] אס 150 50 06ח= מקטע הקוד הראשון מקצה מחלקת טופס להפניה. הוא יוצר מופע של המחלקה 5 60500ח וחזס= ומקצה אותו ל-₪1. באפשרותך לטפל במופע באמצעות שס המחלקה או שסם ההפניה; התוצאות הוהות שמתקבלות משתי תיבות ההודעה מאשרות זאת. שינוי המופע של מחלקת טופס אינו משנה את המחלקה עצמה. אין צורך בהפניות כדי לציין או לשנות את המאפייניסם של מופעי מחלקת הטופס. המקטע השני מבצע משימה וזהה למשימה הראשונה מבלי ליצור מצביע אל מחלקת הטופס. מקטע וה כולל גם הנחיה ששואלת את המשתמש אם ברצונו לסגור את מופע הטופס (מופע מתקייס לאורך חיי השיגרה שיוצרת אותו, אלא אס הקוד מסייס אותו קודם לכן). פרק 5: בניית ממשק משתמש באמצעות טפסים | 297 מקטע הקוד השלישי פותח את הטופס בתצוגת העיצוב ומטפל במאפייניו. בניגוד למקרה בו משניס את מאפייני הטופס באמצעות קוד בתצוגת טופס (וחזסם), שינויי מאפייניס שנערכו בתצוגת העיצוב ממשיכיס להתקייס גם לאחר שמירת הטופס. שתי השורות האחרונות של המקטע השלישי פותחות מופע של מחלקת הטופס בתצוגת טופס. בפעס הראשונה בשיגרה, הטופס נפתח עס הכיתוב ססז. מקטע הקוד הרביעי מחזיר את כיתוב מחלקת הטופס לערכו המקורי, "5ז6וס56ט6'י. הפניות למופעי מחלקת טופס דוגמת מחלקת הטופס שלפניך יורדת לעומקן של מחלקות טופס. באפשרותך לבדוק בקלות את התנהגות השיגרה על ידי שימוש בטופס 5|סשחס6חשו/9זו= וח1, הכולל לתחצן שמפעיל את השיגרה 0560706|8552?. שיגרה זו מטפלת במופעים רבים של מחלקת טופס. ()%65%107016|3552+ 505 80 %6500|35521 0 601 זסזום חס וחזס-] 5 1 חז? חחוס 5 150 וחזס=] צו6] 5 2חז? וחוס זז 5 61חו וחוס . ץ+זס6קסזק 06 601000 061016 2וחז )0 הסק08 צוסחפ ' > ,2.0800 8 " 15 הס 63 ]061930 2וחז=" 80% ₪50 "2000 66655( 0500זסו] פחורחרת סק" , הסטפווס+חה1סצ .5 00500007*5וחז) 60 61676006 8 85 1ותז] 66% ' 5 05 וחזס-] = 1ותז1 56% "5%66ח 1 ההסז? ה0 68" = הסק1.63 חח .חן 2ז? זס? הס0וק68 656% ' "5%66ח! 2 והסז? הס0ק68" = ה00ק2.68חחז .2 800 11 ץ2 616760660 5580665ח! 6|855 6 +0 680005 66 שוסחס ' 5. 1 וח 5". 2 רז "2000 66655 167050 ₪ הררה זט סזק" , הסוהותזס+ח1ש , הסו63. 1 זז אס 150 "2000 66655 1167050 ₪ הררה זט סזק" , הסוטהו ?1 , הסוס 63. 2חזז אס 150 .5 6+ עס 5%80665ח1 וחזס1 01056 ' 5. 1 וח 6-כ 5. 2 וח 6-כ :א 65%50|3552+ 0 6+ואם= 8 הח 2000 406655 :קז %05%0|35527 הפחד 2467 = זססוחטא.זזם +[ .החזס? 6!0560 זס+ הס0 630 לחוז 0 306% קפוד ' ,"0+ 60560 01 הסוס 68 6חוזכן 086%" אס8 ₪150 "2000 466655 16705016 שחווחותהוססזק" , הסו8ווס+ה1ס + 0506 6 הססק6567כ.זז= ,זספותטא. זחם זחוזק. פטטסס 1650613552 6506 + 0חם 50 06ח= נוח מאוד להשתמש בהפניות אל מופעי מחלקת טופס בעת שמטפלים ביותר ממופע אחד. הדוגמה לעיל מנצלת את המופעים 1101 ו-112. לאחר ההצהרה על 11 בתור מחלקת טופס כללית, הקוד מקצה לו בהמשך הפניה אל מופע של המחלקה חזס- 5 50ז). משפט ההצהרה על ₪02 יוצר הפניה אל מופע של אותה מחלקת טופס, ולכן 1חז1 ו-2וחז1 הס שני מופעים נפרדים של מחלקת טופס זהה. משפט חחופ השני יוצר מופע המבוסס על מחלקת טופס, באמצעות מילת המפתח 6 (עליך להתייחס אל מחלקת טופס בעלת התחילית חחזס" בעת שימוש במילת המפתח 6 ליצירת מופע). לאחר יצירת ההפניות תוכל להפעיל שיטות ומאפייני טופס רגיליס של אובייקטיס שאליהס מתייחסיס המשתנים. לדוגמה, השיגרה מגדירה את המאפיין ח00ק68 של 112 ולאחר מכן מעבירה את המיקוד ראשית אל ₪1 ולאחר מכן אל 2ז. על ידי כך נפתחיס שני הטפסים וה על גבי זה במסך של 06655. באפשרותך לסגור מופע של טופס על ידי העברת המיקוד אליו ולאחר מכן להפעיל את השיטה 01056 של האובייקט 6חסספ. פרק 5: בניית ממשק משתמש באמצעות טפסים ‏ 299 6 יצירת דוחות הידע שרכשת בפרק הקודס בנושא טפסים, יהיה לך לעזר רב כשתרצה לשלב דוחות ביישומיס שתיצור. למרות שדוחות אינס תומכיס בפקדים אינטראקטיביים, תוכל לאכלס דוחות בפקדים שמציגיס נתונים, כגוו תיבות טקסט ותיבות סימון. דוחות יכולים להכיל גם תמונות גרפיות מאוגדות ובלתי מאוגדות ופקדי 606% לתצוגות מיוחדות, כגון תרשימים. ב- 2000 466655 667050 היכולת ליצור תרשיםס בדות פועלת בצורה דומה מאוד ליכולת המקבילה בטפסים. בפרק זה נעסוק בהיבטים מעשיים של עיצוב ותצוגה בדוח. נעסוק בתכנות להצגת תוכן דינמי, וגס במספור ובטיפול בדוחות ובפקדים. הפרק מציג מקרה לדוגמה של ספר אורחים ב-806קזחסזק המיועד לעסק קטן שלו צרכים מחלקתיים שבדרך כלל ניתניס לטיפול ב-860655. שני סעיפים בפרק דניס בעיצוב דוחות. סעיף אחר עוסק בהצגת דוחות באמצעות תבנית קוב תמונה טסח5קְ8ח5) של 866655. תבנית זו מאפשרת לשתף דוחות 460655 באמצעות דואר אלקטרוני באינטרנט, גס בתחנות עבודה שאין בהן 8668655. שלושת הסעיפים האחרונים מציגיס דוגמאות בנושאי תכנות ספציפיים. שני הסעיפים הראשוניס עוסקיס בתוכן דינמי בדותח. הסעיף האחרון מתעמק בטיפול באמצעות קוד בדוחות ובפקדים. סעיף זה מציג טכניקות לטיפול בסוגים רבים של האובייקט ‏ 26005500[66, כגון חבריס באוספים 5זוסק6או|ה ו-8וחזזסח||. פרק 6: יצירת דוחות 301 כיצד ליצור דוח תוכל ליצור דוח בשלוש דרכים: > שימוש באשף הדוחות האוטומטייס (0ז28) אסקפחססטה). וו הדרך הפשוטה ביותר, שאינה דורשת יותר מלחיצות אחדות בעכבר. > שימוש באשפיס אחרים. אשף הדוחות (0ז28ו) +זסס6ח) חוסך זמן ואילו אשף התוויות (2870/ |6)8868) ואשף התרשימיס (0ז28ו/ 60814) מסייעים להתמודד עס בעיות עיצוב מיוחדות. > שימוש בתצוגת עיצוב (חַ/65). יצירת דוחות ידנית בתצוגת עיצוב מאפשרת גמישות מירבית בכל הנוגע לפריסה, עיצוב, מיון וקיבוץ. שימוש באשף הדוחות האוטומטיים דוח אוטומטי המופעל מסרגל הכליס שבחלון מסד הנתוניס, הוא דוח ערוך בטוריס. שדות טקסט ושדות מספריים מוצגיס בתיבות טקסט, נתוניס מסוג כן/לא (0א/65ץ) מוצגיס בתיבות סימון ונתוניס מסוג אובייקט 01 051600 = 01) (כגון תמונות מסוג קחחם.*) מוצגיס במסגרות אובייקטים מאוגדים. הרשומות מוצגות בוו אחר זו בתבנית זורמת, החל ברשומה הראשונה וכלה באחרונה. תוכל גס לבחור דוח טבלאי בתיבת הדו-שיח דוח חדש (זסק₪6 אוסא). משיקולי מהירות ונוחיות, מפתחים מתקדמים וכאלה בעלי ניסיון ממוצע יעדיפו ליצור דוח משנה באופן זה. שימוש באשפים נוספים 5 כולל אשף דוחות כללי וגס אשפים מיוחדיס ליצירת תוויות ותרשימיס. האשפיס מאפשרים ליצור דוחות וסוגי אובייקטיס נוספיס של מסד נתוניס. אשפים מסוגליס להאיץ את תהליך הפיתוח ולהנהיג סטנדרטיזציה שמפשטת את התחזוקה. אשף הדוחות (2870ו/ +וסק6ח) מאפשר להגדיר דוח בצורה דומה מאוד לזו שבה אשף השאילתות הפשוטות מסייע בעיצוב שאילתה (ראה פרק 4). האשף חוסך את הזמן והמאמצ בעיצוב השאילתה כשלב מקדמי להכנת דוח. בנוסף, הוא מפשט פעולות כגון קביעת סדר מיון, קיבוצ ועיצוב דוחות מותאמים אישית. אשף התוויות ואשף התרשימים מבצעים פעולות מיוחדות. המקרה לדוגמה של ספר האורחים שיוצג בהמשך הפרק, מציג דוגמת פלט של אשף התוויות. אשף התרשימיס של דוחות דומה בפעולתו לאשף התרשימים של טפסים. תרשיס 6.1 מציג דוח תרשיס במצב הצג לפני הדפסה (כדי לרענן את זיכרונך בנושא אובייקט 0081 של 2000 חק8ז6 ס6סיסווא, עייו בפרק 5 בקטע העוסק בהעברת קבוצת משנה של נתוניס לתרשים). 2 הח 2000 406655 חן 0 ] סח טכ ופ אש 6 | .4-0 -א ₪9|: 95| ₪ ₪ ₪כ|₪8.או ו | ה | ₪ | -שאו 6 ₪ | | > >| רחוס +87 2) 6!קרח68 עו 0 608955 0011 זו הו ההרחזססזק 7 חו ח+חסו עס 53|65 07 7' וטנ 7' זקה 7' 43 2000 2000 2000 0 00 1500 חס 58105 [4 [מ] ו ]|4 ]4 סב / | ו ה 0 ב תרשים 6.1: תרשים זה הוכן באמצעות אשף התרשימים של דוחות יצירה ידנית של דוח בתצוגת עיצוב תוכל ליצור דוח בצורה ידנית על ידי לחיצה כפולה על האפשרות יצירת דוח בתצוגת עיצוב (שסו/ חטו65כ ח1 זוסק6ח 6076806) בחלון מסד הנתוניס (תחילה בחר את דוחות (%5ז0ק₪6) מהאוסף אובייקטים). ייפתח דוח ריק שמאפייני הבסיס שלו משקפים את הערך שבתיבת הטקסט תבנית דוח (שזה|קוחפד +וסק56) בכרטיסיה טפסים/דוחות (0115ק5/6וזס-]) של תיבת הדו-שיח אפשרויות (פ5חסטקס) (פותחים את תיבת הדו-שיח באמצעות הפקודה כלים (1005), אפשרויות). ברירת המחדל היא רגלל (|חחזסא), והיא מציגה דף לבן פשוט ללא צבעיס או גופניס מיוחדיס. אס יש לך דוח שברצונך לנצל את הגדרות המאפייניס שלו כתבנית לכל שאר הדוחות בפרויקט 06655, תוכל להכניס את שס הדוח לתיבת הטקסט תבנית דוח. הגדרות דוח ה תהיינה הגדרות ברירת המחדל של כל הדוחות החדשים. דוחות קיימים יישארו ללא שינוי. תוכל לנצל את התבנית כדי לקבוע את מספר המקטעים שיוצגו בהתחלה בדות וגם את הגדרות ברירת המחדל של מאפייני מקטע והפקדים. הערה: תיבת הטקסט תבנית טופס (80!קח6ד וחזס?) משמשת ליצירת טפסים חדשים כפי שתבנית דוח משמשת ליצירת דוחות. פרק 6: יצירת דוחות 303 לאחר שתפתח מופע דוח חדש המבוסס על תבנית, תוכל לאכלס אותו בפקדים. חשוב להבין כי דוחות 406655 ערוכיס במקטעים. בתבנית הרגילה למשל, המקטע פירוט ((ו2603) מוצג בין אוג מקטעי העמוד. כל תוכן הכלול במקטע העליון והמקטע התחתון מופיע בחלק העליון והתחתון בכל עמוד בדוח. המקטע פירוט חוזר על עצמו אחת לכל רשומה בעמוד, וגוזר ערכיס עוקביס מתוך מקור הרשומות של הדוח. זוג מקטעיס נוסף שיכול לתחוס מקטע פירוט בדוח הס המקטעים כותרת עליונה של דוח (ז16806 +וס0ס56) וכותרת תחתונה של דוח (ז6זסס= +01ק₪6). מקטעים אלה מופיעים פע אחת בלבד בתחילת הדות ובסופו. מפעיליםס ומכביס את המקטעים דוח ועמוד התוחמיס את המקטע המרכזי פירוט, באמצעות תפריט תצוגה (צוסו/). באפשרותך לשנות את גודלו של מקטע דוח כלשהו על ידי גרירה של גבולותיו. לדוגמה, כדי להציג מקטע כותרת עליונה של דוח מבלי להציג את מקטע הכותרת התחתונה שלו, צמצס את המקטע לאפס, על ידי גרירת את הגבול התחתון של מקטע הכותרת התחתונה עד שיישק לגבול העליון שלו. הדוח שבתרשיס 6.1 מכיל את המקטע כותרת עליונה של עמוד (7ז6806 806ק) ואת המקטע פירוט. המקטע כותרת עליונה של עמוד מכיל שתי כותרות : +68 53006 עו וחסז) ו- 2000 60655( ₪15 פחוהזות8זפַסזק. מסגרת האובייקט הבלתי מאוגד מוצגת מתוך המקטע פירוט של הדות. פקד המסגרת אינו מאוגד למקור הרשומות, ולכן הוא מופיע פעס אחת בלבד. פקדי דוח דוחות של 4660055 מכילים באופן טיפוסי תמהיל של תיבות טקסט ותוויות. תיבות הטקסט משקפות את ערכי השדות של מקור הרשומות שברקע, והתוויות מזהות את השמות של תיבות הטקסט ושל פקדים נוספים. פקדים נוספים שמציגים ערכי שדות בדוח כולליס תיבות סימון ומסגרות אובייקטיס מאוגדים. המסגרות הן אמצעי הולס לשמירת תמונות גרפיות בטבלה. פקדי תמונה משמשיס לשמירת תמונות בלתי מאוגדות שאינןו ערכי שדות בטבלה. דוח ראשי יכול לשמש גס בתור מארח של דוח משנה אחד או יותר שמופיעים כפקדים בדוח הראשי. הדוח 6806001 8 58!65 במסד הנתונים 6חוצווזזסא (תרשיס 6.2) מכיל דוח משנה שמציג מכירות לפי מוצר. הדוח הראשי מציג נתוניס והיס אך בצורה גרפית. דוח המשנה מופיע לשמאלו בצורת טבלה. התרשים מנצל את האובייקט +68 של 2000 ח80ז 167050 במסגרת בלתי מאוגדת. דוח המשנה והתרשיס מופיעיס שניהס במקטע הכותרת העליונה 6007/%8₪6ז68, מה שגורס לדוח המשנה ולתרשיס לבחור את המוצריס השייכיס לשס הקטגוריה המופיע בכותרת המקטע בכל דף. כל דוח יכול להכיל מקטעי קבוצה מקוננים, כגון מחוזות במדינות או סוגי מוצריס בחטיבות של חברה. 4 הח 2000 466655 [<1ם)-| 58 )4:00 ב | אס ו אטח סד אפ 36 ו | .| ₪]-א 69| 9% ₪ ₪ 28 8.-אן 0 7 ספ 0 ו 25 דה 0 1505 060 3605 סא 076-021 ו 1 078 הסזפסם בי 8 סזוסם 08 90370015 8% 8 ווום בס3וחו סח 013 מח3ופח אופ] 80168 טס 318509100 ₪ 061)-זסו! זו 6 90808 6 טפט וא 64 6 פה 8 ו450 4000 3500 3000 2500 2000 1500 1000 5000 0 [+ [₪] 8 ]|4|4 שס תרשים 6.2: דוח משנה ותרשים בדף הדוח /07ף68%6 /8 58!65. המוצרים משתנים בכל בכל כותרת של קטגוריה. קוד ברקע של דוחות יישומיס מותאמיס אישית דורשיס בדרך כלל דוחות ידנייס המעוצביס באופן שהולס תכנים מוגדרים. 866855 מציע מיגווו רחב של אפשרויות עיצוב באמצעות קוד, אך קרוב לוודאי שתנצל רק חלק קטן מהן: 4 הדפסה או הצגה מקדימה אוטומטית של דוח על ידי הפעלת השיטה 600סם +וסס6 הסקס, או יצירת היפר-קישור לדוח (סעיף ייטופס מסך ניווטיי בפרק 5 מציג דוגמאות שניתן לאמצ בדוחות). 4 הפיכת הדוח לדינמי. ניתן לעדכן מאפיין אחד או יותר של האובייקט +וסק6ח. לדוגמה, באפשרותך לשנות את מאפיין מקור הרשומות של דוח ואת הכיתוב של תווית בדות. > מספור חברי האוסף 600115ח!||ג כדי לקבוע אס דוח קייס ואס הוא פתוח. > יצירת מופעיס רבים של דוחות (דוחות בעלי מודולים הס מודולי מחלקה). מפתחיס מנוסיס וכאלה בעלי ניסיון ממוצע עובדיס לעיתיס קרובות עס אירועי דוח, הרגל שתוכל לאמצ כדי לשלוט בצורה דינמית בתוכן הדוח ובעיצובו. השתמש באירועי הדות המותאמים אישית ח6ק0, 60/8%6, 0|056 ו-6ז686008ס במקוס באירועיס פרק 6: יצירת דוחות | 305 6 ו-6זח!וחז6 ד לכל מופע חדש של מודול המחלקה שקשור אל דוח. בעת הדפסה או הצגה לפני הדפסה של דוח, מתרחשים האירועים )אוחזסת ו-)חוזס כנגד המקטעיס העוקביס שבדוח. שני האירועיס הללו שימושייס לשינוי דינמי של תוכן הדות ועיצובו. הגדרת המאפיין ז086006ד ק66א בתור 6טזד עלולה לגרוס לאירוע ₪6₪68% להתרחש בצורה סלקטיבית. מקטעי דוח מפצליסם רצועות דוח למרכיביס תואמים אך נבדליס זה מזה. לדוגמה, המקטע כותרת עליונה של דות (6806 סק6ם) הוא המקטע הראשון כשהוא מוצג בדוח, והמקטע כותרת תחתונה של דוח (ז0ז00= +וסק6ה) הוא המקטע האחרון כשמקטע זה כלול בדוח. מקרה לדוגמה: ספר האורחים של פִאַ3ּק+חס- 6פפחסז מאפשר ליצור בקלות ספר אורחיס המרכז מידע על מבקרים (כגון שס ופרטי יצירת קשר) בדף 60/ בתבנית ‏ ||אזח. גישה זו אינה מחייבת ידע כלשהו במסדי נתוניס או בחיבורי קישוריות מסד נתוניס פתוחה (0086). מבקרי האתר רואים טופס בעל חזות מקצועית שאליו הס יכולים להוסיף פרטי איש קשר, ומשתמשי 66ַפקסחסז= יכולים ליצור ספר אורחיסם ולהציגו בצורה קלה ופשוטה. השיטה מתפקדת היטב כל עוד מספר המבקריס באתר אינו רב מדי. אס כמות המבקרים באתר גדלה משמעותית, ניתן להעביר את כל נתוני אנשי הקשר לקוב מסד נתונים. גס אס האתר מעביר את הנתוניס להפקדה במסד נתונים, עדיין נותרה הבעיה לשחזר את המידע המקורי המעוצב ב- |ואזח. מקרה זה מדגים גישה אחת לשחזור נתוני טקסט ישניס ומתאר כיצד להפיק תוויות מען וטפסיס המכיליס את המידע לאחר המרתו לתבנית המתאימה. ייבוא נתונים ניתן לנצל את אשף יבוא טקסט כדי להעתיק את קוב ספר האורחיםס הגולמי אל טבלה של 860655. תרשים 6.3 מציג חלקיס ובהם שתי רשומות מתוך קובצ אדו הגולמי (עבור האורחיס 0061 |זהּא ו- 2062 חהּפסם). שים לב למספר העצוס של תגי ]|אדה. הסייר הפנימי של 6סְ8ק)חסזת מנצל תגיס אלה כדי לעצב את תצוגת ספר האורחים, אך התגים אינס מאפשרים ייבוא נתונים ישירות לטבלה של 4600655 להכנת תוויות מען. כל מידע אנשי הקשר מופיע בעמודה ארוכה יחידה. יש שורות שמכילות נתוני קשר, אך שורות אחרות מכילות תוויות תיאוריות או תווי עיצוב כלליים. כללי העיבוד של מסדי נתוניס יחסיים מחייבים להקצות שורה נפרדת לכל אורח שנרשס בספר האורחים. הדבר מחייב לפוּר את המידע של אורח אחד הרשוס בעמודה יחידה, על פני כמה עמודות. 66 הח 2000 406655 ות ו 1 1 <|> <> <8<>/01/> :81813008זו-] הסו3/081/ 119<ם><81> <8<>/01/> :8הח18זו=] חסוזפט|5/8 5118<פ><01> <80<0280>/00> <00<]487|>/00> <01/><ם/> :35108708 | ח0ו3]081/ 5119<ם><81> <8<>/06/> :35114308 | חסוז8ט|8/= 5118<ם><01> <08<0082>/00> <60/> 0081 <00> <)8<>/0/> :1880128100 חסו81ט|9= 5118<פ><01> <0<>/06/> :ח0ו281ח3מָזכ) חסוז8ט|8/ 5119<ם><01> /> ,8.001 85|3ך 8|סאו1;4סטף.8 500 |108ח88<780> <3>/00חוחזו/ 1 6 00<71> <2<>/01/> :517881/4007888 ח0סו31081/ 5119<ם><81> <8<>/01/> :517881/4007885 חסוז8ט|8/ 5119 <ם><01> <9/10>/00 6879|[3 308068 00<7> <0>/00/ ז18פוזז3ם 00<6221> <8<>/01/> :40678882/ חסו81ט|₪9 118 <ם><01> <)8<>/0/> :40078882/ חסו81ט|5/8 5118<ם><01> <08/>,מ8.006 <80> <00/> ,8.005 <00> <0<>/01/> :0117 חסו1ַ8ט]8ש₪ 5118<ם><01> <2<>/06/> :0117 חסו81ט|5116₪/8<פ><01> <00/> 37880 702 <> <00<6-0851808]0>/00> <)2<>/0/> :51818 ח0ו3/081/ 5119<ם><81> <8<>/01/> :51818 חסו81ט|5/8 5118<ם><01> <00<581018>/00> <00208>/00> <0<>/01/> :2100008 חסו1ַ8]08ע₪ 5118<ם><01> <8<>/06/> :2100008 חסו81ט|116₪/8<פ><01> <88<12000>/00> <80<23032>/00> <8<>/01/> :ץז1חט0 חסו1ַ8ט|8ש01<>2<5118₪> <0<>/01/> :צז1ח0 חסו1ַ8ט|5118₪/3<פ><01> >00/>בּ8פַ0ַחָ) <> <00<)/5>/08> <8<>/01/> -4%/=] חסו3/081/ 5169<ם><81> <8<>/06/> :4%/=] חסו81ט|8/ 5118<ם><01> <40/> ₪0<2345678901> <00/> ,]8.008 <80> |= <8<>/01/> :|ו03ח= 3/0810 19ו5<ם><81> = <8<>/01/> :[ו8חח= ח0ו8ט|3/ 5118<ם> <01> 5 וס |%ץ| ו<] + 7749 ]|14|4 ספת 5 )םס |5%| וע | = ל ]| 4 |14 :הספת תרשים 6.3: קטעים מקובץ ספר האורחים של סַחָק)חסז=, שיובא אל טבלה של 06655 בין אם נתקלת בדרישת המרת נתוניס מדויקת זו ובין אם לאו, פיתוח ב-866655 מחייב באופן טיפוסי לטפל בזרימת טקסט. עסקים גדולים נדרשיס לעיתיס קרובות להמיר נתוניס מחלקתייס ישניס לתבנית של מסד נתוניס יחסי באמצעות תהליך דומה. המיגוון העשיר של פונקציות עיבוד מחרוזת והשילוב של פחסטפסו|קכה זס1 8856 |8טפו (88/) ב-860655 מאפשריסם להפוך משימה זו לאוטומטית. המרת מבנה הנתונים המטרה של עיבוד מחרוזת היא להפוך את הנתוניס שבטבלה כגון 1קוח6ד שבתרשיס 3 לטבלת אנשי קשר מקובלת, כגון ו שבתרשיס 6.4. אסטרטגיית הפעולה כוללת שתי ערכות רשומות: אחת עבור טבלת המקור ואחת עבור טבלת היעד. השיגרה עוברת לאורך שורות טבלת המקור כדי לחלץ את נתוני אנשי הקשר ולאחסן את הנתוניס שעברו ניתוח במשתניס. לאחר שסיימה לעבד את כל הנתוניס של איש קשר, השיגרה מוסיפה אותס לשורה חדשה בטבלת היעד. מכיון שלשדות השוניס של איש קשר יש דרישות ייחודיות, חוקי העיבוד משתניס לעיתיס משדה לשדה. השינוי בחוקיס עשוי לנבוע מכך שנתונים גולמיים בשדה גורמיס לבעיות ייחודיות שלא קורות בשדות אחרים. קטע השיגרה הבא הופך את תבנית נתוני הטבלה שבתרשיס 6.3 לתבנית נתוני הטבלה בתרשיס 6.4. הנוסח המלא של השיגרה מופיע בתקליטור המצורף לספר. הגירסה המקוצרת שבפרק מציגה את הקוד שמבצע את המרת שלושת השדות הראשוניס המיוצגיס באמצעות המשתנים 6וַפַח-507, 6וח8ח5071 ו-06ח8ח506. תדפיס הקוד ארוך והנוסח המלא שלו ארוך עוד יותר, אך המרת נתונים היא השלב הראשון הקריטי של פרויקטיס של מסדי נתוניס של 460655. אס לא תצליח לטפל בנושא קריטי זה, פרויקט 5 שלך לא יפעל. פרק 6: יצירת דוחות | 307 4 זפזפוזזם 6221 הוחוחָזו/ זט 6 ור וו |2 סי 0 ]69798 730808 85|3ך 3|סאו14 ₪00 |8סוחתספך חהפסם 3 ופ ץז .1 אוט!וו/ 22 חסו801 הח 88םז8זח= ו 4 0ף8סוח) שור 8ח8ו₪ח| .ב 3823 הסזטח 3118 = סו|910ס הפו 5 ב זם ז%8י9510// ₪62 סח| ח| חזטת 2359811 6 :]וח החטב | ₪ 30053 8ו/* ם-2214 8מ60!8 הט חס 800|6080% 8 7 8 9 צאיח .5 2240 8 81חז8]ה| 0088 ח380- 0 חססוזחת 601 ז8%9 2201 ו 8ַחוז5! | |הזומום ופפ 8 חפ 11/1 05 חונ 71 ₪ 54 סו31 זטאיסי חס 10 - 7 זםםת זט 36 277 שה וא 11 + 4 1 וס [+*| ?| + 1 ]ן | 14 :ספת תרשים 6.4: נתוני ספר האורחים של סָאַק)חסז=] לאחר המרה מתבנית 6דח. ההמרה מסירה את תגי העיצוב ומציבה כל רשומת איש קשר בשורה נפרדת. 108 ()0600 פט5 חס חח 8.00 0 עוסא 5 1 החש וחוס 5 501 חזוס הַחוז50 5 6הההח 5071 ,חַחו7ז5 5 6הההּח- 50 הזוס 58 5 50511 ,0חו567 5 506806 וחוס 9חוזז5 45 50701 ,0חו507 ₪5 507562 וחוס ו 5 |005%9 50 ,0ח71ז5 5 505% וחוס ח8 !00 5ב כוא5ופ ,8חו50 5 ץטהט0ס506 חחוס צוס) 5 502 חזוס .וח6ץ 0+ 616760665 56% 300 6607056065 סט חסכס ' 660 ה 66160.0 = 1החס % צוס) = 91 56% הסוח .660160 = חהסו66 ה ה0ס66ע6ה. 561 3% = 6קץ דס5זט6. 561 6 וק 0600 801 = 6קץ 0607 961.1ז .1וח6 8016 ח! 15 הסוזהוחזס)חו %86%חה60 עשוה ' "1קוח6" ח5%1.076ז הסוח .0160 זל 66 = הס 66 ה 6660 562 = 6קץדזס5זט902.6ז 6 וק 0600 801 = 6קץ 0667 902.1ז .6 156 885601 62/ 6 חן 0זחו +600%86 560זהק 550765 הסחסהּסו!קקהּ סחד ' "15% 08560 60/" ח5%2.006ז .סו ז0?ח! %86%ה60 עה ]0 66070561 6חז הפטסזח% קסס| 8 פופ ' 561.50 וטח ספ 6 = כןו5!ם ו טסץ הסחצו 66070 %86%ח60 צוסח 3 +זבּסס ' ": 36 זו הסוהט|הע51065" שבח |ססבּ| ב' החד 0 <> (":6ר8ס5ז1=] הססהט|ע 5106" (16!05)1=. 561 ,1 )ספת + 6% טס 561 החד "<050;>/00ה >00<8‏ " <> (16|05)1-.561ז + 66655 2000 8 זס טח 66 15 160 6חחהּח זו 6ח% 01 ה9%ח6! סחד ' .סל וחו|06 ">" ה "<" ה6066כ 60870005 ' 1 + ("<" ,(561.=16!05)1ז ,1)ז5ח1 = 6פזוחסחו +זו הו - (">" ,(16|05)1-.5%1ז ,5₪)6ח1 = ח6 סחו (ח6 סח ,5%זו- סח , (16!05)1=. 10)75%1 = 6ההח- 50 .0 סח 35%| 006655 0+ 660705 סצאט סטסון ' 2 6עס]. 561 6 .0 ס6וסחשו 6+ ק591 0+ 130 ה200!68 3 566 ,אחהו0 15 סוחהּח זו שא זך ' סד = קו56!ופ 0חם .1 סרחה 85%| 6655ס0שק ' 1 + ("<" ,(16|05)1ת.5%1ז ,1)פח1 = 6פזו-סחו %פזו הו - (">" ,(16|05)1-.561ז ,50)6ח1 = חס סחו (ח6 שחו 56זו- סח , (605)1ות. 5%1ז)110] = 6הַבּח 501 .0 6 ץח8קוח60 6655סזק ' 2 6עס]. 5%1 החד "<050;>/00ח >00<8‏ " <> (16|05)1-.561ז + 1 + ("<" ,(561.16!05)1 ,1)ז5ח1 = 6פזוסחו +זו הו - (">" ,(16|05)1-.5%1ז ,5₪)6ח1 = ח6 סחו ,0 6 וח ץח8קר 60 66 חו 36| 8חו680! 8 15 סותא זז ' .86| 6+ 307 סהבּח 66 0חו1 ח68 טסץ ]ו 566 ' החד 0 <> (";קפ5פחא" ,(5%1.16105)1 ,2)שח1ז +1 %פזו שחו - (";קפסח.8" ,(16|05)1-.561ז ,5₪6ח1 = ח6 סחו 1 0חם סח 6+ הזוצ וס חהס6 610 6חהח ץ ההקר 60 6 זסז סוט פחופזהק סחד ' . ץה32050700 6וחַחו5 3 ס%ח! ;800% 5'|ח6ח הססס6חט) 601866 הפצ ' ("" ,"שסטף8" , (ח6 שחו ,5%זוה סח , (605)1ות. 1100551 )6366 = 50686 6 .1 6 סז ץח סח 15 676ח+ ז פחהו50 ה0%ח6|-2670 0+ 6חהח ץההקוחסס 56% ' "" = 8006ח5070 0חם הסו ו זס+חו +%86ח 60 6660 ח60 60 ,8156= 15 030 קו59 ההס|ססם + ' .06 15% 285601 60/ 107 66ה6)676ז 15 ה6וחצו ,502 60 ' חס ד 8156 = קןואפום +1 2 תו 0 6ח 50 = ("6 3 5זו ")05 |סו=. שוח 5071 = ("306 350% 05)"1|סו=. 56 = ("6וה ץח הק 60" )05ו6ו=. 1 = ("05)"0076551|סו=. פרק 6: יצירת דוחות 309 2 = ("6!05)"0076552ו=. 5 = ("605)"6ו₪. 5% = ("66חוטסזק 558060" )6|05ו=. |50770569 = ("0500|0006ק")05|סו=. ץ טס 5 = ("ץחהטס6")פסוסוח. 6 הזו 0ח= 0חם + 0חם ה ז5% 300 80!6? 61 חו 66070 +א6ח 60 סטסטן ' .חח 5% זס? |806! פחוסט|סחו 0ז600ז 8 זסז' ]טסו 501 קסס | 50 06ח= כל אחד משלושת השדות המומרים מתבסס על לוגיקת ניתוח שונה במקצת. שאר השדות מטופלים בצורה יותר עקבית. יחד עם זאת, קיימיס כמה הבדלים ברוריס בחוקי הניתוח בין שדות חלופייס. באפשרותך לקרוא את ההערות ולחקור את הקוד כדי להבין טוב יותר פונקציות %88 שימושיות שמעבדות מחרוזות. בתוס תהליך ההמרה, הקוד בודק ומוודא שלא היתה המרת שדה כלשהי שקבעה את דגל הדילוג בתור 6טזד. ערך 89/56 של הדגל מאפשר לשיגרה להוסיף רשומה חדשה לטבלת הקשר היחסית בתבנית המוצגת בתרשיס 6.4. לאחר מכן השיגרה עוברת לרשומה חדשה בטבלת המקור (עותק ספר האורחים של 6ִחַָ88קחסז=). כשטבלת המקור מחזירה את משתנה 50 בתור פטזד, מסתיימת לולאת 00 החיצונית והשיגרה נעצרת. יצירת תוויות מען תרשיס 6.5 מציג את תצוגת העיצוב של דוח תוויות מען וגס קטע מהתצוגה הצג לפני הדפסה (שוסוע6זק) של תוויות המען. התצוגות מבוססות על נתוני אנשי הקשר מהטבלה שבתרשים 6.4. 5 כולל אשף תוויות מען גרפיות שמתאימות למדבקות בשלל גדלים עבור מיגוון דגמי מדפסות לייוזר ואחרות. האשף מאפשר גס להגדיר גדליס חדשים של תבנית תווית. הוא מבטל את הצורך לכתוב ביטוייס לטיפול במחרוזות כדי ליצור את מבנה התוויות. החלון העליון בתרשיס 6.5 מציג את שדות התווית בצורה מוגדלת מהרגיל שמאפשרת להבחין בביטוייס שהס מכילים. האשף מתאים אוטומטית את גודל תיבות הטקסט המכילות את ביטויי המחרוזת שלו, כך שהתוויות מתאימות לטופס. 0 ףח 2000 406655 |<]ם] - | ]וק : 51 35601 6 / 615פה 1 =| ([851/08709/] 8 "" 8 ([6חז8ו [0076551/])חווז ד = מ ו |<11) ב | : 05% 35601 60 / 80615 1 =| 3 פפוווגוב 2 חס 1 וזא חסו6החס6 16156ח = !68 ד 8סוו' 500 סוחתסט ד הוחוטזו זט 16 5 !1 22 0 0918 303088 ד ז6ו5וזהם 6221 3 ל 156 0 55013 , טפס זה2סק 2 !651610 86 5 4 חעסו 6 ץז וחו תח 6 80% 50060 סח! טח] חזוו=] ₪855 הסזגוה = 3 = סווססקם. = 80058 8ו/ פ-2214. ץז 6306 ₪62 6ב 8ח8וח] .5 3823 010380 | 3 285568 , 4, 5 1 9008 5, 0 3 כ | | ]| | של תרשים 6.5: החלון העליון מציג את דוח תוויות המען בתצוגת עיצוב; החלון התחתון מציג קטע מדף התוויות במצב תצוגה לפני הדפסה. יצירת מכתב אחיד שימוש טיפוסי נוסף בטבלת אנשי קשר הוא במכתב אחיד. שילוב של פקדים, קבועים ומשתניס של מחרוזת ופונקציות 8 מותאמות אישית מאפשר ליצור מכתב אחיד, כגון ה שמוצג בתרשים 6.6. המכתב מפגין כמה תכונות ראויות לציון אופייניות לדותח של 160655 : בראש המכתב מופיע לוגו. פרטי מען לשיגור מענה מופיעים בגופן שונה מזה של גוף המכתב. תאריך המכתב מציג את שס החודש. כתובת הדואר היוצא והברכה משתנות מרשומה לרשומה. הפיסקה האחרונה במכתב משתנה אף היא לכל רשומה. / / /‏ / 4 .א דברי הסיוס מלוויס בחתימה. המרת מספר חודש לשמו (כגון המרת הערך 1 לייינואריי) לא היתה מעולס בעיה מיוחדת בתכנות, אך ב- 2000 60655( וב - 6 88/ הדבר פשוט עוד יותר. תיבת הטקסט המציגה את התאריך מגלה את החידוש ודרך אפשרית לניצולו. היא מכילה את מחרוזת הביטוי הבאה: ((28660 )68 ץ 86 " ," 8 (()23%6)ץ3 8 " " .6 ()6הבּתחסופות ד= פרק 6: יצירת דוחות 311 [<1ם); | [4ז0ק6 : ז9וו6 !זט ]ע14ק]] - 460655 !]ס5סזסווו בז |א פ|= אוססחשע. וססד אפוע 06 ₪6 08| -א אש]|- 9% ₪ ₪ ₪כ 8.או לב עפש סחזסטוחו\ 8700 1 סוטטס 2 6%א ,6!!וטפוטוס | 6 . שכר 208 זסס תוסייט 1 | אוחוטזו/ טס 6 ות א ווה 6221 2 ,0651078600 | ₪68 ] זכ 2!6856] .שח סח ומבּס/עיפאתי 1 ]= | 516'5 מפוי זגוס 131 [₪608 .5116 ספוי סח 6 106 פחוזופ אי זסז ופץ אח8ח1 53 510 6467 וד טחוחזווזסז סחה 516 176 טחוזו/י י||8ו1וחו זסז 5ה6350 זח6ו|6כא6 /ח3חז 6זהּ שזסה ד .635 + 0+ הזווזסז ח08 גוסץ כם 151] 65+מסיה = זוגופץץ חו . ח500 חוטב 45 10 חסוז8]היחו והחספ סכ זגוסץ 35 פזסו] סז 3 !| סש . הסט |< |8|=. פג] אוסטחוו פד אפוע 06 ₪6 | .| -א|₪|. ₪9 ₪2 | 80 יי עס 0ז5 . סקוק 818016 סוס סח 50196 חאיי 0+ 15ח3 50517 6!טבח6 1081 פהסוזסתזסיזכן הסופהככיס פחווז 5116 שח , הזוחד (5010//%6 01) זפחחואי 8 גוס 8%6חו 51ון טוטוס יחה הסט זט 0!6856 . פ)השהטחזס0 211(06) 0106 16!+ סח 202655 10 55פגו 6זסחו 6056 ||וי 181 5166 6|סהגוופ/ 8 סו 561 0 פחועם 6זה שער 8 .516 16 1 5ח0ו655זסחזו זגוסץי 115 טחושוט |והחז6 68/6 | . טחוס 876 ששי ששיסח 566 ח8 ח06 אס ב[ .סח החספטסם וה זססו11 0 הסוח 60 ד 161 [4 |א] 1 ]| 34| ומב ו תרשים 6.6: קטע ממכתב אחיד הביטוי מכיל זוג פונקציות מקוננות מוכללות עבור היוס והשנה, אך פונקציה מותאמת אישית (סוחּ תשחסופוחד) מחזירה את שס החודש. לפניך פונקציה מותאמת אישית ב- 6 88/, 6ה8 חזחסו5וח ד, שממירה את מספר החודש בשם המתאים. הפונקציה פוטרת אותך מהצורך לכתוב את המשפט 6856 56/66 בשגרת פונקציה, או להפעיל פונקציה מסוג 670056 כדי לגרוס להצגת שס חודש בדוח. ( )רה ה%חסו5וח ד הסטסחט= ס6וופוק ((28%6 )סו )6 3 חס = 6וחבּא תש הסוחד חססס6חט= 6ח5 2 ₪;ח,/ 2000 466655 ייתכן שתהית מדוע לא ניתן ליישס את הפונקציה 6וחגּאוטחסוא ישירות בתיבת הטקסט בדות. לו עשית זאת, היית גורס לשגיאה מכיון ש-6וחהּאושחסו אינה פונקציה של 5. עליך לקרוא לה בשיגרה ולהחזיר את התוצאה לאובייקט של 655ס6ס, כגון תיבת טקסט בדוח. תרשים 6.7 מציג את תצוגת העיצוב של דוח המכתב האחיד המכיל שילוב של פקדי תווית ותיבת טקסט. אס גוף המכתב אינו מכיל רכיבי התאמה לכל רשומה בנפרד, ניתן להציג את כל הטקסט באמצעות תווית פשוטה. לעומת זאת, מאחר שהפיסקה האחרונה מתחילה בשס הקשר הראשון, הדוח וקוק לדרך לשתזור ערך השדה 86 5זו=. קל לעשות זאת בעזרת ביטוי מחרוזת בתיבת טקסט. החלק התחתון משלב ביו ערך השדה וקבוע המחרוזת. ניתן לראות כי יש לנסות להציב את תיבת הטקסט ביחס לפקד התווית שלפניו. כדי לשפר את ורימת הטקסט בתצוגה המקדימה, עליך לקיים חפיפה בין פקדים בתצוגת העיצוב. ייתכן שיהיה צורך בכמה ניסיונות עד קבלת עיצוב נאות. |<1ם) = [וז0ק6 : ז6וו6 |הזזס ]ע14ק]] - 266658 ))ס5סזסו4ו בז | |5)- ופ טחוש 5!ססך |החזס > ספת ושוע ₪48 ₪6 5 .א ₪ > ₪ 9|6| 9 6 0 5 ₪ -ם : ו -2 | = = =| ] ; 5|. - - קת 101 11865 6זסחז 056כןא6 |ווצ ".56 106 01 5חסו855זמחזו זגוס/י 45 פחויוט |וחזס 6 תרשים 6.7: חלקו התחתון של המכתב מתרשים 6.6, והפעם בתצוגת עיצוב שיס לב לשימוש בגופן 50876 בפקד תווית שנועד לדמות חתימה. זוהי אפשרות בת-קיימא למקריס בהס לא נדרשת חתימה בפועל - לדוגמה, לדואר בתפוצה גדולה, כגון מכתבים אחידים. פרק 6: יצירת דוחות 313 מיון, קיבוץ וחישוב אחד הייתרונות הגדוליס של תצוגת העיצוב הוא יכולתה לקבצ ולמיין רשומות להצגה בדוח. יכולת זו מושתת על שני גורמיס: מקטעי פירוט של הדוח ותיבת הדו-שיח מיון וקיבוץ (פָחוקְטסז6 6חג פַח0ז50). אפשרות הקיבוצ מפשטת את חישוב סכומי הבינייס לפי קבוצה וגס מחשבת את הסכומים הכוללים. תרשיס 6.8 מציג דוח פשוט שמדגים רכיבי מיון, קיבוצ וחישוב בסיסיים בדוח. הדות בן שני העמודים מציג את כותרת הדוח בראש העמוד הראשון בלבד. פקד התווית של כותרת הדוח ממוקס על-כן במקטע כותרת עליונה של דוח (68060 +וסק56). לעומת זאת, שתי כותרות העמודות מופיעות במקטע כותרת עליונה של עמוד (ז6806 6חָ088) מכיון שהן מופיעות בראש העמודות בשני עמודי הדוח. המקטע פירוט (|ו6₪) מכיל זוג תיבות טקסט מאוגדות לשדות של מקור הרשומות של הדוח. שתי תיבות הטקסט בדוח מוצגות פעם אחת לכל רשומה במקור הרשומות שברקע. סדר המיון של שורות אלו יכול להיות בלתי תלוי בסדר הרשומות במקור הרשומות שברקע. יכולת זו משפרת את השימושיות הכוללת במקורות רשומות בעבודה עס דוחות רבים. סופ טוסטחשצ. 5וססד שופוצ מב ₪6 3 סופ טוסטחשצ. סד שוסוע. 386 ₪6 5 |< |5|=. |< |5]=. -.]₪%%‏ ₪055 .]| |9 ₪). ו הו 7-ו .א 7 7 וי ורוב ורוו 22 6 :6+ זס? 5365 25 86| 8 1-7 23 6 34 117 0 :++צשטף זסן 9465 8 7 566 6 :₪ +והט זס1 565 5 106 55 8 31 6 4 8 2 :+1צשטף זסן 9%65 43 8 33 7 :ו זס1 5365 29 7 34 1-8 30 7 14 8 2 :4+צטף זסז 9465 8 :ש+צטף זס 53465 1 עו 2 7 30 7 3 :14ף זסז 53465 31 א ]| 150 פסה ן ==] | - ה / ן | | תרשים 6.8: דוח שמציג קיבוץ לפי תאריך 4 ח,/ 2000 466655 השורות שבתרשים 6.8 מקובציס לפי רבעון. תיבת הדו-שיח מיון וקיבוץ בתצוגת העיצוב משמשת לבחירת שדה אחד או יותר שלפיו מקבצים שורות. קיבוץ לפי שדה מוסיף לדוח את המקטעיסם כותרת עליונה וכותרת תחתונה של דות, לכל קבוצה חדשה. יכולת הקיבוצ המוכללת מתאימה אוטומטית לסוג נתוני השדה שלפיו מקבציס את הדוח. במקרה של שדות תאריך, 866655 תומך בקיבוצ לפי שנה, רבעון, חודש, שבוע, יוס, שעה ודקה. שדות מסוג מספור אוטומטל (זסטוהטאססטה), מטבע (ששח6זזט6) או מספר (זספוחטא) מאפשריס לקבא שורות לפי טווח מותאס אישית. באפשרותך לקבץ מחירי יחידת מוצר בהפרשיס של 55 בדוח אחד, ובהפרשים של 510 בדוח אחר. באפשרותך גס לקבצ שדות טקסט 0א16) בהתאס לתווים המוביליס שלהס. הדבר מאפשר ליצור דוח בסגנון מילון שכל המוצריס מקובצים בו לפי שמס: ראשית מוצריס שמתחיליס באות א', אחריהס מוצרים שמתחילים באות בי וכן הלאה. יכולות הקיבוץ תומכות בחישוב סכומי ביניים. שיס לב שהדוח בתרשים 6.8 מסכס הומנות מכירה לפי חודש ולפי רבעון. ניתן להפעיל פונקציית צבירה, כגון 50%₪, במקטע כותרת תחתונה של קבוצה כדי לחשב את פריטי הקבוצה. קיימות פונקציות צבירה נוספות שיכולות להוסיף ערך לדות: 4/6, דא60, אגא ו-אזא. פונקציית הצבירה של סכוס הבינייס בתרשיס 6.8 מופיעה בתיבת הטקסט במקטע כותרת עליונה של 6ז8 (זסזסס- 6ז8כ). ביטוי מקור פקד (66זטס5 |סשחס6) של תיבת הטקסט הוא ([10ו0+0706+הט60])וח50= ארגומנט הפונקציה מצביע על שדה ברקע של הפקד במקטע פירוט. שימוש ב- 0זז00706ה60ט בתור ארגומנט שמצביע ישירות על פקד תיבת הטקסט גורס לשגיאה. הערה: כללי החישוב של סכומי ביניים נבדלים מאלה של שדות מחושבים אחרים בדוח. שדה מחושב רגיל, כגון כזה שבו מחשבים את הסכום לשורת פריט בהזמנה, מאפשר להפנות לערכי הפקד המסוימים ברשומה הנוכחית. הביטויים שתכתוב יכולים גם להפנות לשדות הרקע של פקדים. בעת חישוב סכומי ביניים, עליך להפנות לערך שדה הרקע. יצירת דוחות מרובי עמודות הדוגמאות שהוצגו עד כה בפרק אינן מציגות דוחות מסד נתוניסם קלאסיים בעלי עמודות רבות שמקורן בטבלת רקע אחת או יותר. באפשרותך ליצור דוח מסוג וה בשתי דרכיס לפחות: באמצעות אשף הדוחות ובטכניקות עיצוב ידניות. פרק 6: יצירת דוחות | 315 שימוש באשף הדוחות אשף הדוחות (0ז28ו) 5זזסק6ם), שהממשק שלו דומה לזאה של אשף השאילתות הפשוטות, מאפשר ליצור דוח מרובה עמודות. תרשים 6.9 מציג דוח שהוכן באמצעות אשף הדוחות. כפי שניתן לראות, האשף מספק אמצעי חישוב רבים. מקור הרשומות שברקע הדוח מונה את מספר המכירות ומסכם את מחירי הסהייכ לפריט בחתך של לקוח. הדוח מסכס גס את כמויות המכירה והמחיריס לפי לקוח ולכלל הלקוחות. לאחר מכן הוא מנצל את התוצאות שהתקבלו כדי לחשב את החלק היחסי מסך המכירות הכולל ואת מחיר הסה'יכ ללקוח. הוא מסכס גס את מספר הרשומות לכל לקוח ומדפיס הודעה בת שורה אחת ובה שס הלקוח ומספר הרשומות שלו. אשף הדוחות יכול להוסיף לדוח מיגוון מצודד של מאפייני עיצוב. תרשים 6.9 מציג אוסף בחירות אפשרי. השימוש בריווח ובקוויס אופקיים מאפשר להבדיל את כותרת הדוח משאר חלקיו. באפשרותך גם לבחור את אפשרות פריסת השדות הרצויה מבין אפשרויות אחדות. פריסת הדות שבתרשיס ממקמת את משתנה הקבוצ, 6וחהּאץחהק וח ס6, בקצה השמאלי-קיצוני של עמודי הדוח. שיס לב כי פריסה זו אינה דורשת כתיבת קוד כלשהו. | |5|=. יוסח טסופו 06 ₪6 ₪ | .3-0 -א ₪|. 95 ₪₪ כ 8.או 115400" 6 חום!11או 100164 ₪ 53105 ודוא | >שז0 ו הזה ו10: סז חזה! חב קחזט-) בו מו 00 1 דוע 1 מנונ 5 19800ו1. 24 1 בו זה 6 וענמו[ 3 1 הו זג שודק סקענוסת 6 9088018 120 1 ד ]ב וכ 0 1 ד 1 סנ 5 זרנסמ ונספל 20 ₪ המזרנמ) 20 1 1 1 1 6 ט6וננתנק 16ננה[ונמנן [מונקתכ) 5 1 ינוס ?) 16116 סמ 04 2 8[ 1 8 1 וטנו 5 09816 טנ פס קט זר (5018 [0%81 11) 4467/0546 -] 1765 = סרוה עו קדהוס<)" זס+ עוהההדחו5 הטפ ]0 שו[ זו 5 16080הקטוניד 1110 [נרניך מ 6 ו ₪ [א), השש הו וי | תרשים 6.9: קטע הדוח שלפניך מציג חלק מאפשרויות החישוב והעיצוב של אשף הדוחות 6 הח 2000 466655 יצירת דוח מותאם אישית כשיש צורך בסידור מיוחד של פקדיס ושל חישובים ייחודייסם בדוח, יש לעצב את הדות בצורה ידנית. תרשיס 6.10 מציג קטעיס מדוח מותאס אישית שרכיביו התפקודייס דומיס לאלה של הדוח שבתרשים 6.9. דוח מותאם אישית וזה מעוצב בצורה פשוטה יותר כדי שיהיה קל יותר להבין את מרכיביו. החלון העליון מציג את המכירות לפי מוצר עבור לקוח יחד עס סכומי הכמויות של ההזמנה, מחיר סהייכ לפריט והאחוזיס מסך כל ההזמנות עבור שני סוגי החישובים. החלון התחתון מציג את המשך הדוח, בו מתחיל הלקוח השני. מקטע הכותרת התחתונה של הדף מציג את תאריך הדוח, עמוד הדוח הנוכחי ומספר העמודיסם הכולל. | ₪]ב. ופט אוסטחו 5ססך אשצ 08ם ₪6 18| .| ]|-א >ש|- 9% ₪₪ כ .א 01164 523165 0 ) 115100 מו 10006 -] סחזה 101-ו 1106 4117008 יז 105 ][נומ/יוננוס?) 1818 טג מנונ5 119660 קר ]ו פנו3 5 58916 56 6וננונק 161ננרונמצ'] [מונגקַבכ) 31100611 1 מ 5 רוטקס 8 ונמנ וג פומ שונקסקננוסם 66 90818019 6 6פנוסנ1נמו) 1 5 ₪6 )גי 4/7045 71 1 ג ) 0 תס | | ]41 |3 פצל 6 |<1ם); | [3163 6121000015 הוס51ט:)עזף] - 400655 ]]ס50סזס:וו [] | || וסט ואוסנחו/ | 055 אס 48 ₪6 | .0 -א ₪8|. 9% ₪ ₪ כ 8.שן 1610000 ץ 0003)שזטוק מ 1110ן4דל1 40 זס] וני נומונס1 3 ]366 8 , 21 ינש נ(וזנ6 טס)1 ,3 13וצוה 53 :ונס 3160 קטונק דנ 0 קסיג פט ד /" | [4 |ואן ות ]|4|4 סב 7 ו המש המשר מ ה ב = תרשים 6.10: קטעים מדוח מותאם אישית מרובה עמודות פרק 6: יצירת דוחות 227 תרשיסם 6.11 מציג את תצוגת העיצוב של הדוח מתרשיס 6.10. כמעט כל פקדי הדוח הס תוויות או תיבות טקסט. עליך להקצות קבועי מחרוזת לתוויות ולהגדיר את מאפיין הכיתוב שלהס בתור קבוע המחרוזת. הטקסט במקטע כותרת הדוח העליונה נמצא בתווית. פקדים שמציגיס שדות מספרייסם או ביטויי מחרוזת לעולס יהיו תיבות טקסט. ביטוי המחרוזת הראשון מופיע במקטע כותרת עליונה של 6וחהּעחבּקוח ס6. הוא נוצר על ידי שרשור של קבוע מחרוזת והשדה 6וחהּאץח8קוח60 במקור הרשומות של הדות. אחריו מופיע המקטע פירוט. כל אחת משלוש תיבות הטקסט שלו מפנה לשדה אחד. פקדיס אלה אינס משלביס את השדה בתוך ביטוי, ולכן אין בורך לקדס אותס בסימון שוויון (=), או להציב את שס השדה בסוגריים מרובעים. |= |8|=. קפ טחוש 105 זט > זספתך שוסוע ₪38 ₪6 שן |-9- ₪990 | ₪ אפ 6 95| ₪ 0 | ב 5 ₪|-ם 2-4 | = = == ק 7 מן: - בב | 630 וסקס 4 ז15106-) ל 53164 700161 63 סַהָבק 4 תרשים 6.11: תצוגת עיצוב של הדוח מתרשים 6.10 ארבעת הפקדים בצד ימין של המקטע כותרת תחתונה של 6וחבּאץה הקוח 60 מכיליס ביטוייס לחישוב סכוס הזמנות המכירות והסה'יכ ללקוח, יחד עס חלקו היחסי של כל לקוח בסהייכ מספר היחידות והמחיר של הפריטיס. הטבלה שלפניך מציגה את שמות הפקדים והביטוייס שהס מכילים. ביטויי חישוב האחוזיס מבוססים על שני 06055 2000 ₪ 8 פקדיס שמופיעים במקטעי הכותרת התתתונה של הדות, 007065ה06078 ן- 6 ט. פקדים אלה מחשבים את סהייכ כמות המכירות וסהייכ מחירי הפריטיס של כל הלקוחות. ביטויים לחישוב סכומים ואחוזים של תרשים 6.11 || שפפקד | | 0 בש 00| )אס [66וק+א 0 ח%78א0] /[ 106ק+א+%015א] = הא [00706175] )5 = אחא [166זק+אם ] )וח 5 = הסכומיס של לקוחות יחידיס והסכוס הכולל מתייחסים ישירות לערכי שדות הרקע, 5 |ו-06סןק)אם. חישובי האחוזיס של לקוחות בודדיס מתייחסיס לשמות הפקדיס אשר תלוייס בערכי השדות. הערה: כברירת מחדל, 460655 נותן לפקד תיבת טקסט שם הזהה לזה של השדה שאליו הוא מאוגד. כדי להימנע מבלבול, תוכל לתת לשדות שמות שונים. לדוגמה, אם שם השדה הוא 5ז0706, באפשרותך לשנות את שם פקד תיבת הטקסט שמפנה אליו ל-65ז0ט. הדבר יקל עליך לקרוא ביטויים ולקבוע אם הם מתייחסים לערך של שדה או לפקד. שיס לב בתרשיס 6.10 כי תאריך הדוח מודפס בתחתית הדף, אך לפניו בא קבוע מחרוזת. אס ברצונך להחיל עליו תבנית, כגון התבנית ס6ז08 פַח10 (תאריך ארוך), עליך לבודד את הפונקציה שסא בתיבת טקסט ללא רכיביס נוספים. תרשיס 6.11 מציג שתי תיבות טקסט צמודות המכילות את מחרוזת הטקסט המובילה ואת הערך המעוצב של הפונקציה אוסא הבא אחריה. צידו הימני של הדוח המוצג בתרשיס 6.11 מנצל שתי מילות מפתח, 806 וְ-פסחָ08, שמזהות את מספר דף הדות הנוכחי ואת מספר הדפים הכולל בדות (מילות המפתח אינן מופיעות בתרשים). שיס לב כי באפשרותך לכלול מילות מפתח אלו בביטויי מחרוזת. פרק 6: יצירת דוחות 319 הפצת דוחות באמצעות תמונות ניתן להפוך דוחות של 466655 לזמיניס למשתמשים אחרים ב-ו\צש או בדואר אלקטרוני באמצעות קבצי תמונה (65!₪ 80500%ח5). כדי שתחנת עבודה תוכל להציג תמונה של דוח של 60655, יש להתקין בה מציג תמונות, אותו ניתן לקבל ללא תשלוס בתור יישוס נפרד, וגס פקד 466% לשימוש בדפדפן 65/ש. תוכנת המציג מאפשרת לחוג משתמשיס רחב לנצל את הדוחות שלך, כאלה ש-460655 לא הותקן במחשביס שלהם, וגם כאלה שאינס מחובריס לרשת המקומית שלך. הדפדפן 6050806 אינו תומך בפקדי 6%שו86, אך יש באפשרותו לטעון קבצי תמונה דרך חיבור כ₪ח. משתמשי 6 יכוליס להשתמש בגירסה העצמאית של מציג התמונות כדי להציג את קוב התמונה השמור בכונן הקשיח שלהם. יצירת תמונה באפשרותך ליצור תמונה 805000ח5) של דוח על ידי בחירת הדוח בחלון מסד הנתוניס ובחירה באפשרות יצא זסקאם) מתפריט קוב (6!ו=). הדבר מכניס את שס הדוח בתור שס קוב התמונה בתיבת הדו-שיח יצא קוב 6₪!ו זוססאם) (תרשיס 6.12). בתיבת הרשימה הנפתחת שמור כסוג (45 6ש58), בחר +הוחזס-] +0חַ5כְ3ח5. בתיבת הרשימה הנפתחת שמור ב (ח] 58%6), הקצה מיקוס עבור קובצ התמונה. תרשיס 6.12 שומר את הדות מתרשים 6.9 בספריה וירטואלית (שנקראת 2000 0/6006 688) ברשת אינטרא-נט ארגונית. לחיצה על שמול (58/8) בתיבת הדו-שיח שבתרשים 6.12 פותחת תיבת דו-שיח התקדמות ופותחת את הקוב לאחר שמירתו, במציג התמונות (הכלול ב-406055). הקובצ מאוחסן בשרת, והתבנית שלו סח5.*. הצגת תמונה (יַסחַ5כְִ3ח5) תחנת עבודה שמותקניס בה הדפדפן זפזסו|קאם 6%ח67ח1 מגירסה 3 ואילך ומציג תמונות (6שו16/ 80500%ח5), יכולה לפתוח קוב תמונה. תרשים 6.13 מציג את הדות ב- 4 ז6זס|קא= %6706%ח1. המציג נראה כאילו הוא חלק מהדפדפן, אך לאמיתו של דבר, הוא משתלט עליו. פקדי ניווט מיוחדיסם בשורה התחתונה של פקד 606% מאפשרים לנווט בין דפי הדוח. שורת הניווט כוללת גס לחצן הדפסה (מכיון שהפקד מבטל את רכיב ההדפסה המקומי של הדפדפן). שיס לב להתאמה הקרובה בין תמונת הדפדפן שבתרשים 6.13 לבין תמונת הדות המקורי בתרשיס 6.9. רמת התאמה זו אינה מתקיימת כשמייצאיס את הדוח למסמך בתבנית 1אז4. בנוסף, ייצוא ל- |ואז אינו מספק את תפקודיות הניווט המוכללת שמציע פקד מציג התמונות. 0 הח 2000 406655 8 ))050זס:4! ב] וס טחוש 1005 ספת אופוע 48 ₪ | |- 3 | | ₪ | - ₪ | - מ )| כ | ₪ םר ₪ | > 3 ₪ | ₪ ש סן |< |ום)=. 6 :-: 1616ק3ח:) פא 8-ב | ל | 8 פס שופ אושוי חהָופסכ חו ז'וסקטז 6808 5 = בזבקוו סחופט צם זססטז 76866 2 - 5 "זסחזס)5טו-) חוח]ואי וסטוסז?] עפ 53!65' וזסק6 וזסקא=] 56 5 א * 1006 ₪ = % 6 ₪ ₪ :חן 586 זזס ויז 3 זזס קז סקסה 7 בו כ | וט 5 ו [ מבייין ץזספו . בו :58|950זקז ו קז בו ונטב -1] מביי: 5לחטוחוסס עהי] ח0ס5נושסקז ₪ ] עס 58/65 פס ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ | בוו 0 זט 55 ₪] [+ 01550 הותפוואי 6טוסזם עים 58165 :הח שו ן | |66ח > - וס 50| :6קעש 35 58/6 | || ב | | | ב | || תרשים 6.12: יצירת קובץ תמונה באופן ידני פקד מציג התמונות מאפשר להטביע דוח של 406055 בדף ס6/ המכיל תוכן נוסף. קטע קוד |ואז שלפניך מציג גוף דף 69/ ובו תגי ₪3 ו-44 לפני הפניית האובייקט לפקד מציג התמונות. קטעי הטקסט הבאים לפני הפקד מסבירים כיצד לטעון את המציג אס הדוח אינו מופיע ומציגים היפר-קישור לאתר אינטרנט ממנו יכול המשתמש לטעון את הפקד. ההוראות מסבירות גם כיצד להציג את הדוח באמצעות זסטְהּחָוה8! 06156806. באופן טיפוסי תרצה לעדכן את הגדרת הערך החפזבּק, ה40500%28ח5, לפי כתובת ה- !אש בה נמצא קוב התמונה שברצונך להציג. <ץ000> <0806>/3 58016 80500%ח3<5ר]ן> ,שס|6 +וסק6 6+ 566 0%חחה63 6טכ זספאוסזם +3 15 חב שטבּח טסץ )[<4> 6 ||5%3ח1 0ח3 סבסוחץוסם < ".| 8 ח5/ 0+חו0 0 86665506 / רוח 501.60 סזסורח. שצצשצו/ :קש ת"=61וח 8> חס ך .<ה/> ז6/וסו/ 82500%ח5 066655 506סחסווו + 6+ 566 ה6ע6 ססח ||ואו 565 6056826 .0806 6+ ה61705ז סקז %6 הסקס ח68 ץ6 זט ,5ז50שסז זופח% חו ופחהוה)חסס ו חח זסעסוע 530500 5876 606 פחופט זספשסזט זו6ח+ 6סופ6טס רחס 1116 0%ח05הח5 6+ 080!הצוס0 630 5675 6056806] .סטססבּ <4]/>. חס ו5%9א'וסע זו6ח% ס+ |6060סזק קה זפטס זס/507 טטצ ה 0 5167 640=ר דפ1/ "זס הפקה ה5"=כ1 ז56נ089> <"510:=0542060-3686-1100-4081-004009006809 ו6"= 551 61 פרק 6: יצירת דוחות 321 <"16722"=ם! | "אסח66אם "=םוה ההק> <"11774"=ם! |/ "חס6אם "=םוג ההק> <"65536"=ם! |ה/ "חסופז6/ "=םוהא₪ אהחהק> "ח0%78%ח5קה ח5"=ם\ןה | הק> <"סח5. 66| 2000/58 07806 6302200/680//:קאח"=םט | <"0"=ם! |ה/ "ההסס2"=םוזה וזההק> <"1-"=ם() | "טחס1א66חס0עטסו|ה"=ם וזה ואההק> <"1-"=ם! |ה/ "הסט הסוס השועה'וסת5"= םוה וזהחהק> <ז08150/> <ץ000/> ...16 10705011 - קח01.5הו510ו-/20 7000152010 %20ע3165%200 2000/5 ₪06 ם6302200/63//:קווח 4 צו 6 1005 פפאסופת | 50 אשצ 0 6ם | ח86ז50!ות | 8!ססד ל ₪ 6 די 5 בת | עזסופו] | 65סצב] | 56800 סוחס ₪5וש ה קסופ ווק מ .201-0810001 ₪ חור]ו20 %+0גו00ז%20ע365%200 20005 שסוווס 6302200/630//:קוות [6 חן = 101 1510?) ת1111 א 001064 2 516% 8- 0608 זו 50 זה 018 סז ווה ץח קז 0+ [ - >המשטת פסהם] 0 1 ד זה נומיל 9668 24 1 דזע זג 6 6פנופנ1צמו[) 3 1 דוח ןת שונפסקננוסם ₪65 818019נפ 10 1 דות ןת 1 0 1 ו פנקן 5 זרננסמונ ספודכו12 5 צנמ ) 20 1 כ 111001 1 1+ 1 ןג 6 ט6ונונק ע16נגו[נמנן [ונגְקַתכ) 5 1 ד ןג ]ופ /יאנוננוס?) 618[סמת 04 2 ד זג ]וטנו 5 [8פסת 8 1 דח זה 8 8 1 1 ב פנספ-6816 זר (6:075/ |16481 11) 4546 זט4א-] 1516ה = רחוב ועו קקרחוס:%* זט עובההדהונו% 3 12 וחט5 . 1% 1% 6 שה ₪ 4 | [א] 5 ]ןי | / פס הזחו וסס.! שת | | 802ס//:ק!! סַחַבק טהוחסקט 45| תרשים 6.13: הצגת הדוח בדפדפן 4 זסזס|קא= 6חז%6ח1 שימושים נוספים בתמונות קבצי תמונה בדוחות של 66655 משמשיס למטרות נוספות לאלו שהוצגו. לדוגמה, ניתן לשגר תמונה בדואר אלקטרוני בתור מסמך מצורף טחסוחח886ז8) להודעת דואר אלקטרוני על ידי לחיצה ימנית על הדוח בחלון מסד נתונים (80856ז8כ) ובחירת 2 הח 2000 466655 שלח אל (סד 0ח56) ולאחר מכן בחירה בנמען דואר (0ח6וכ₪66 |ו8) מתפריט הקיצור. זכור לכלול בהודעת הדואר שלך קישור אל אתר האינטרנט ממנו ניתן להוריד את מציג התמונות, עבור נמעניס שעדיין לא התקינו את המציג במחשב שלהם. באפשרותך לנצל גס את השיטות סחטטססטס 600סכ ו-000[60ח56 כדי למכן את ההמרה וההעתקה של קבצי תמונה לאתר שרת ס6/ ברשת אינטרא-נט ארגונית או לנמעני דואר אלקטרוני. הסעיף האחרון בפרק כולל דוגמה שמנצלת קוד כדי לשגר קבציס רביס בדואר אלקטרוני אל נמען אחד או יותר. המשפט שלפניך מפרסם דוח מתוך מסד הנתוניס סחוצוח+סא באתר מקומי ברשת האינטרא-נט שלי: ,"5ז06סזק +0 115% |06068החכ|ה" ,+וסק6זטק3600% ס הטססטס. וחספ = ,"ז8וחזסת 80500%ח5" ד ,"850.5 ח5ץו 2000 00666 680פט60חו68022006\" הפיכת דוח לדינמי שלושה אירועי מקטע של דות - )א זסת, ₪6768% ו-זחוזק - מאפשרים לבנות עיצוב ותוכן דינמייס לתוך דותח. 6אָ8ק, 08ססא, 0|056 ו-ח06ק0 הס אירועי דות נוספיס שיכולים לסייע בבניית דוחות נבוניס. אירועיס אלה יכולים גס לסייע לנהל את תפקוד היישוס לפני פתיחת הדוח, במהלכה ואחריה. באפשרותך להשתמש בצירופים של אירועי דוח כדי ליצור עיצוב דוחות ואפקטים מיוחדים. האירוע ח76ק0 משמש להגדרת מאפייני דוחות ופקדיהס באמצעות קוד. וה האירוע הראשון של דוח. אס היישום יכול לקיים יותר מדוח פתוח אחד בו-זמנית, באפשרותך לנצל את האירועיס 4600/8066 (-8%6/ו06860 כדי לנטר את העברת המיקוד אל הדות וממנו. השתמש באירוע 61056 כדי לבצע פעולות מיוחדות סמוך לסגירת דוח, כגון פתיחת טופס או הצגת תיבת הודעה. האירוע הפסא משמש לזיהוי דוח שמקור הרשומות שלו אינו מכיל נתוניס כלשהס. אירוע זה מתרחש לאחר ש-400055 מעצב דוח לצורך הדפסה. היישוס יכול לנצל ואת כדי לבטל דוח העומד לפני הדפסה ואינו מכיל נתוניס. באפשרותך גם לתכנת שגרות אירוע שמנחות את המשתמש לספק נתונים על ידי הזנת רשומות או באמצעות מעבר למקור רשומות אחר עבור הדוח. עיצוב והוספת תוכן דוגמאות הקוד שלפניך מעצבות ומוסיפות תוכן לדות באופן דינמי באמצעות האירועים +חוזק ו-זאוחזס=. תרשים 6.14 מציג דוח שמנצל את האירוע זחוזק בשלושה מקטעיס כדי להוסיף מלבנים אדומיס סביב מקטעי כותרת הדוח העליונה וכותרת העמוד התחתונה. שיס לב להבדלי עובי הגבולות בין המלבניס. המקטע פירוט (|ו9ז6ס) מציג אליפסה סביב כל הסכומיס הכולליס החודשיים הגדוליסם או שוויס ל-30. פרק 6: יצירת דוחות 323 בעוד שהאירוע 6חוזם של כותרת הדוח העליונה קורה פעם אחת ויחידה בדוח, והאירוע +חוזק של כותרת העמוד התחתונה קורה רק פעם אחת בדף, האירוע זחוזק של המקטע פירוט מתרחש אחת לכל שורה בדף. משמעות הדבר שהדף שבתרשים 6.14 כולל 16 אירועי )חוזס במקטע פירוט. כל אחד מהאירועיס מאפשר ליישוס לבדוק את ערכי הפקד עבור הרשומה הנוכחית. פירושו של דבר שבאפשרותך להציג בצורה סלקטיבית אליפסות סביב סכומי הזמנות חודשיות מסוימות. |<|ם) = | [ח)חס )אע 166758 00עז] - 266655 ))50סזס:4) ] |= |8)=. קוו טחוש וסט וסור | ₪6 םן | ₪75 2₪|₪-ש וב 6 ורוב הזורב ו 2006 6 9-6 16 6 26 7 27 7 7 7 7 7--22% 7 7-ו 17 |2 10 6מַב? 1% 12:12:42 1/03/1998 1:חס 6זבּקפזכ הסקפה וחד , 4 || 1 | מו בי ץהסת] 255 כ 2 29 כ כ כ כ כ תרשים 6.14: האירוע חוזק בדוח זה מצייר מלבנים סביב מקטעי הכותרת העליונה של הדוח והכותרת התחתונה של העמוד. אירוע נוסף מצייר אליפסות בצורה סלקטיבית סביב סכומי הזמנות חודשיות בדוח שלוש שגרות האירוע שלפניך הן הקוד שברקע הדוח של תרשיס 6.14. היישוס יכול להחיל את השיטה 6חו! (כמו עבור שגרות האירוע של כותרת הדוח העליונה וכותרת העמוד התחתונה) כדי לצייר מלבן סביב מקטע הדוח. ארבעה משתנים מסוג 6ופַחו5 מקבליס את הערכים עליון, שמאלי, רוחב וגובה של המקטע. משתנה מסוג 1008 מקבל את מספר הצבע של המלבן (אדוס בדוגמה). רגע לפני הפעלת השיטה 6חו! כדי לצייר את המלבן, השיגרה לחוז 68067זסק₪9 מגדירה את רוחב הגבול כ-25 פיקסלים. שני זוגות קואורדינטות מציינות נקודות עבור השיטה 6חו1. הערך שב-זסוס6פָח1 מצייו את 4 חח 2000 466655 צבע הגבול. הארגומנט האחרון של השיטה 6ח1ו1, 8, מורה לשיטה לצייר מלבן, או תיבה, תוך התייחסות לשתי הקואורדינטות בתור נקודות קצה הנמצאות בשני קדקודים מנוגדיס. (ז0%606ח1 45 +הט600חוזק ,156067 5 |66ח608 )חק 6800 סק 500 6זפטוזק 6 5 66 81ַח5 ,ְ6ופַחו5 5 קס דפַח5 הזוס 56 5 816100%ח5 ,8!6חו5 5 חלסו/פַח5 הזוס הח ] 35 זסוס6פַח! חחוס .וח 8 ,הסוא ,66| ,קס+ 56% ' .6 = קסדפח5 6% = 50166 0 /16.568|6] = 50/1000 .6 = 00%ו6רח5 600 56% ' (0 ,0 ,₪68)255 = זס|460ח! .00% 8 35 6חו! שאזס ' 5 = הססו/אוםזכ. 6 8 ,זס|ס86ח! , 5861000 ,הז0ו//חַח5)-(610 1פַח5 ,קס ד8ח5) שחו ]6.1 סט5 0חם (ז%606ח1 5 %הטס6שחוזק ,%6067ח1 5 |66ח68)חוזק הס660פזס6סס- חק 500 סזפטוזק 6 5 66 81ַח5 ,6ופַחו5 5 קס ד8ַח5 הזוס 56 5 816100%ח5 ,8!6חו5 5 חשסו//פַח5 הזוס פס ] 85 זסוס6פַח! חחוס .וח 8 ,ה0%ו ,660! ,קס+ 56% ' .6 = קסדפח5 6% = 500166 0 /16.568|6] = 50/1000 .6 = 600% 5 ' 56% 600. (0 ,0 ,₪05)255 = זס|460ח! .00% 8 35 6חו! שפזס ' 8 ,זס|ס86ח! ,5861000 ,הז0ו//חַח5)-(610 1פַח5 ,קס ד8ח5) שחו !6.1 סט5 0חם (ז0606ח1 5 +הטס60לחוזק ,156067 5 [66ח608)חוזק |[ו3ז6 500 ס6זפטוזק 6 5 60/ח5 ,6חַחו5 5 6תַפח5 הזוס 6 5 830105 0ח5 הזוס .6 526 0ח3 חסטופסק ' 0 - (2 / הז0ו/16.568|6]) = 006ח5 0 - (2 / %ח0ו6.568|676]) = 0/6₪ח5 5 / 16.568!676100%] = 50880105 פרק 6: יצירת דוחות | 325 .0 350606 5605 %ה37006 35%! ;6166 צוהזס ץ|וההסטוסחס6 ' הפחד 30 =< 6ט|8/. 710ו06ו0+0+הטס6.6ו + 5 ,, , ,5080105 ,(8/60ח5 ,60 8ח5) 66זו6.6וו + 0חם סט5 0חם ההבדל היחיד בין השגרות %חחק :01676800ק₪6 ו-%חחק הסטַסספזסְססמפָגק הוא השורה שמגדירה את רוחב גבול המלבן. המקטע כותרת עליונה של דוח (וסק6ח מגדיר רוחב של 25 פיקסלים, אך המקטע כותרת תחתונה של עמוד (ס80ק ז0ס=) מצייר מלבן ברוחב ברירת מחדל של פיקסל אחד. שתי השגרות מציירות מלבן בשכבה שבקדמת שכבת הדות הרגיל. ניתן לדעת ואת משוס שהגבול האדוס של השיטה 6ח1] מופיע על גבי צללית הרקע של כותרת הדוח הראשית. שגרת האירוע של המקטע פירוט (וו6₪כ) מציירת את האליפסה סביב סכומי ההזמנות באמצעות השיטה 66זו6 לכל שורה במקטע פירוט. עליך לקבוע באופן ניסיוני את המרכזיס האנכי והאופקי וגם את רדיוס העיגול. ארגומנט יחס רוחב-גובה (850660 00ז) של השיטה 66זו₪ משמש להמרת עיגול לאליפסה ארוכה או צרה. בדומה לשיטה 6ו], השיטה 6166 מציגה את הפלט שלה בשכבה שבקדמת שכבת הדות הרגיל. הטבעת השיטה 66ז1ו6 במשפט חסחד...)1 מאפשרת לשיגרה לצייר בצורה מותנית את האליפסה סביב חלק מערכי השדה 8ז08ז0, אך לא כולם. סיכום ערכי דף אס הדוח כולל דרישה להצגת סכוס הערכים בדף הדוח, עליך לתכנת את סכומי הדף באמצעות שגרות אירוע, מכיון ש-806055 אינו כולל אפשרויות מוכללות לביצוע משימה זו. הדוגמה של הספר למשימה זו מנצלת תיבת טקסט שהמאפיין סכומים מצטברים (וחט5 פחוחחגוח) שלה הוגדר בתור מעל הכל (ן|4 זפוס). הדבר גורס לתיבת הטקסט לסכסם את השדה 06ז50 |0ח60 לאורך כל הדוח. תרשים 6.15 מציג את הדף הראשון והשני בדות בעל עמודה נוספת לחישוב סכוס מצטבר. העמודה הימנית-קיצונית גלויה למטרות למידה, אך בפועל מגדירים את המאפיין גלול (6!פ151/) של פקד הסכוס המצטבר בתור לא. באפשרותך לחשב סכומי דף בעזרת לא יותר משתי שגרות אירוע (שמוצגות בעמוד הבא). שגרת האירוע %הזס= חסחַסספזסְזסס-6ְפָק תופסת שתי שורות קוד בלבד. ראשית, היא מעתיקה את ערך הפקד בעל הסכוס המצטבר (חטפסאָ8ק) אל הה%50חה6ז7ט0פח!. לאחר מכן היא מגדירה תיבת טקסט נוספת במקטע כותרת הדף התחתונה (6030650) בתור ההפרש בין הטפ שח6זזט6פח! ו-ו550 ופָחו. הערך ההתחלתי של הט85:ח6ז7ט0פח! הוא 0. בתוס העיצוב של כל דף, אירוע הדוח 806ק מפעיל שיגרה שמעתיקה את הערך הנוכחי של הט₪5ח6זוט0טח! אל ((ט85%05 ופחו, כך שההפרש הט50זח6זו96ח! ו-וה35050 ופח! בשגרת האירוע 806ק אסק6ח הוא סכוס הדף של הדף הנוכתי. 6 הח 2000 406655 |<1ם) - | [ח1חס אע 58ז46ז0עזף] - 260655 ])ס5סזסוו בז |<]ם] = | [ח]חס )אע 4650 0עזף] - 406655 ))ס5סזסווו ב] | |8|=. סוס אוסטחוש !סד אפוע 48 ₪5 ₪ | |< |8|=. וס אוסטחוש. !סד פע 6 ₪6 ₪ | ₪₪שכ 8. או -]₪800 ?*‏ 7 ₪ ₪ 8.או וב 6 ורוב חור א 17 17 בי ו ורוה הוור א 08 2 2 6 228 47 5 מ 8 0 23 6-ו 28 6 66 116 8 12 25 16 12 31 16 15 3 17 24 29 27 244 30 7 25 31 7 37 32 7 337 0 7 370 3 7 43 3 ו 4410 37 7 458 38 17 2 :זב חב 5וח+ חס 5זפזם 8 :6זב פִהָבּק 015+ חס 5זפז 40 1:09:02 1/03/1998 1:חס 60זבּקפחכ אהסספח >וחד - 1:07:48 1998 103 :חס 60זבּקפחק סקפ וחד ב 4 ]₪ ]|| פססק ₪ |[ |4 |א|*תר ]|+|) מסבק ו ה / | ל תרשים 6.15: הדוח מנצל שתי שגרות אירוע ותיבת טקסט במקטע פירוט שהמאפיין סכומים מצטברים שלה מוגדר בתור מעל הכל, כדי לחשב את סכום ההזמנות בדף חס ] 5 והט%55ח6זוט6ח! ,חס | 35 וחט35%%5 1פַח! סווטטוק טח | 45 החטפחִ6סהַבּספח! 6ווסגוק (%6061ח1 5 +ח8600 וס ,1006067 45 |66ח68) +הוחזס-] ה0 306-00%6075660ק 50 סזפּטוזק ההט16.03065] = וה%50ח6זוט96חו וט35%05 01ח! - והט%5ח066ח! = ( 0080650 שו 50 0ח= ()806ק ₪606 560 סזבּעוזק רה טח 86 ח! = ט35%05 וח 50 0ח= שיס לב ששגרת האירוע )חס חסוְסס5סְְסְסהִסְפָהק שבדוגמה מחשבת ומציגה סכומי דפים על ידי כתיבת ערך לתיבת טקסט במקטע כותרת הדף התחתונה. שגרת האירוע זחוזק אינה מאפשרת פעולה מסוג זה, מכיון שהאירוע )חוזס מופעל רק לאחר שהדוח עבר את תהליך העיצוב. האירוע +8חזזסז מופעל במהלך עיצוב הדוח באמצעות חיישוס. פרק 6: יצירת דוחות | 327 עדכון דוח באופן דינמי ניתן להשתמש ב-84/ כדי להוסיף מאפיין מקור רשומות חדש לדוח. בעת שהיישוס משנה את תוכן הדוח, אפשר לעדכן את כותרת הדוח הראשית כך שזו תשקף את התוכן החדש. אס תציג את תוצאות השאילתה הפרמטרית בדוח, תוכל גם לעצב את התוצאות באמצעות אפשרויות עיצוב רבות. תרשים 6.16 מציג טופס ודוח. המשתמש יכול לטפל בטופס כדי לשנות את תוכן הדוח. הטופס מכיל תיבת טקסט, קבוצת אפשרויות ובה חמש תיבות סימון ולחצן פקודה. לאחר הקלדת מספר בתיבת הטקסט ובחירת סוג השוואה, המשתמש יכול ללחוץ על לחצן הפקודה כדי לפתוח את הדוח שמימין בתצוגת עיצוב. תצוגה זו נחוצה כדי להוסיף מאפיין של מקור רשומות חדש וכדי להגדיר את המאפיין ח0ו6800 של התוויות שמציג את כותרת הדוח הראשית. לאחר עדכון שני מאפייני הדוח באמצעות קוד, פותח היישוס את התוצאות במצב הצג לפני הדפסה כדי להציג את תוצאות מקור הרשומות החדש. ההוראות הבאות לאחר הכותרת מסבירות כיצד לסגור את הטופס. . 6וזוח( | 50 46ם₪6!8 665וסזק זו 1 5 -=> 171160 11811 ג: 14!1או 0161%וד - ו ו יי 301 סקס חס5וזבקוחס6 שסוזק חח 76800 -7] הו ו 1 0 6008 זס הברל 616860 | -] 6 6 ו -] 49 שנטנום נום ונב 0 6008 זס חבט 1655 ש] חפל 1655 -] 3 5 1398 כנמצגןנמז/ת 5 ][נופ/י ענו ) 6106 סמ 5 לחוז 4-2 ]52 ]|4))ו סק תרשים 6.16: הטופס שמשמאל מאפשר למשתמשים להקצות מקור רשומות וכותרת מתאימה לדוח שמימין. שגרת האירוע 616% החפ 60 של לחצן הפקודה (בהמשך הסעיף) מבצעת שלוש משימות. ראשית, היא מרכיבה מחרוזת ‏ 501 בהתאם לבחירות שנעשו בטופס. השיגרה מוסיפה פסוקיות באופן סדרתי לחלקו הראשון של משפט ה-501 שמציג את רשימת המוצרים ומחיריהםס מתוך הטבלה פ5סטססזק. תחילה היא מוסיפה פסוקית =חשה/ למשפט הבסיסי בהתאם לתיבות הסימון שנבחרו ולכמות שהוקלדה בתיבת הטקסט. לאחר הוספת הפסוקית =חםרו/ו, השיגרה מוסיפה פסוקית ץם מפסא0 שממיינת את קבוצת ההחזרה של מחרוזת ה-501, לפי מחיר היחידה. אס המשתמש בוחר באופרטור גדול מ (<) או באופרטור גדול או שווה ל (=<), השיגרה תקבע סדר מיון יורד. אחרת - קבוצת ההחזרה תמוין לפי מחיר היחידה בהתאם לברירת המחדל של סדר המיון. 06055 2000 ₪ 8 הרכיב השני של השיגרה 616% החפ הוזקסוח6 מעדכן באמצעות קוד את מקור הרשומות ואת כיתוב התווית בדוח. לאחר פתיחת הדוח בתצוגת עיצוב, הרכיב מבצע משפט חטו\ 6חם...וזוא המבוסס על הדות. כדי למנוע ערבוביה של מסכים, הרכיב השני מפעיל את השיטה 0ח6ם עס ארגומנט שערכו 8156=. הדבר מעכב את ריענון המסך עד שהמשפט השני מפעיל את השיטה סח560 עס ארגומנט שערכו 6טזד. בתוך קטע הקוד חזו/ סחם...חזו\, השיגרה מגדירה את המאפיין 66זט₪6607050 (מקור רשומה) של הדוח בתור מחרוזת 501 שנוצרה בחלק הראשון של השיגרה. לאחר מכן היא משנה את כיתוב התווית שמציגה את כותרת הדוח הראשית. משימה זו מתאפשרת הודות לביטוי מחרוזת שמציג את הערך מקבוצת האפשרויות ואת הכמות מתיבת טקסט. הרכיב השלישי מבצע שני תפקידים: פותח את הדוח בתצוגת הצג לפני הדפסה, כך שהמשתמשים יכולים לראות אותו. לאחר מכן, הפקודה האחרונה משתזרת את הפונקציה 0ח₪6 אשר מציגה את הדוח. כיבוי הפונקציה 560 והפעלתה מחדש מביאה למעבר מסכים חד וברור. ()א6|16 הסח דזהוזק 6 500 6זפטוזק 58 35 זס8%6ז6ק 500 ,סחוט5 45 50501 חחוס 58 35 6זסח/\50 וחזוס .6 60006 +60 זס) %ה5590606 .5001 קט 56% ' "001665 170 66[זק6וח( ,86 6%ט00סזק 56166" = .50501 (">" ,"=>" ,"=" ,"=<" ,"<" ,600056)0060|6 = זס8%ז50006 +הטסו ב 8 ]50706800 .8 "66וזססוח() 6זסח//" = 6זסח/50 "וקזוח 5 0007 " 8 6זסחה/ 50 8 " " 8 57501 = 50501 חח ד 2 => 6|טמזקס + "656 " 8 507501 = 507501 + 0חם 1 זטסץ 8חו060000 זס+ 6% וח ח 60 5 +ה6 5906 6 06000 6660 חר 60 שד ' הסו 605 %ה55066 .5001 6 6ַפַח8ח6 טסץ הסחצו +ה6רח ו 60 6+ 6עסרח6 ;50856606 1 פחוזק. פַטס6ק ‏ ' 6 66000 6005 6ח% 56% 0ל אוסוע חחופסכ חו +זסק6ז הסמס ' .חסו630 306|'5! ו סחהּ 6 סח6ם. חספ 5 36/6 , "וס ו 50ז6ט0סזק6סז" +60 הסקס. וחספ ("החזס-]ח0ז605 לס" )5 ₪60 וטו 6 = 0|6ופ!/. = ₪66070500766. = = הסססה6"(.6םודופ!")5וס ה ס6. + טסו .8 "% " 8 זס8%ז6 5070 .8 " 6סוזק 6וח( 3 חזוצו 665טססזק" הז%ו 0ח= זט 06 60 וחזס? 66 צוסח5 אוסא ' וק 36 , "וס רת 060510 סזק6קז" +60 הסקס. וחספ סד סח6ם. חספ טפ 0ח= פרק 6: יצירת דוחות 329 טיפול בדוחות ובפקדי דוח באמצעות קוד 5 כולל שתי רמות הזנת נתוניס בדוחות, בטפסים ובאובייקטים חשובים נוספים של מסד נתוניס. בפרק 5 למדנו על האוסף פוחזסח!|. 466655 כולל אוספים נוספים : 65 חו|ה, 5 דו|ה, טסוה 5 פווסו/!|ה, 5 ססוו|ה, , 5‏ 2886605508065]] | ו-פח8זחַ8וכמזהכ!!ה. | תבר בכל אחד מהאוספים הללו הוא אובייקט מסוג 46065500[60 (סוג אובייקט חדש ב- 00655 0). באפשרותך להפנות לחבר %8זסק6ח!|ה באחת הצורות הבאות: (0) 15וסס6חו|ה ("6הההח") %5+זסכ6חו|ה [6וחה8ח]!5+סק6חו|ה מספור דוחות הקוד שתיצור יכול למספר אובייקטים מסוג 4606550916 באוסף ||4 כלשהו, כדי לקבוע אס האובייקטים נמצאים בחיבור של מסד נתונים. אין זה משנה אם האובייקט פתוח או סגור. באפשרותך גם לקבוע אס האובייקט טעון. כאשר אובייקט מסוג 6% טעון או פתוח, היישום יכול לעבוד עס מרחב אוסף מקבילי. אוספיס כאלה הינס כולסם רכיבים פתוחים, כגון דוחות וטפסים במסד נתוניס של 06655. חברי האוסף 8600765 הס דוחות בודדיס פתוחים ביישוס. אובייקטי ₪900 פתוחיס אלה חושפיס את כל המאפיינים הזמינים באמצעות 84 במקוס הקבוצה המוגבלת יותר באוסף 5זסק₪6!|א. באפשרותך לנצל את המאפיין 6וח8 של 65וסכ6חו|ה ושל 5ווסקסח כדי לעבור בין שני האוספיס המקבילים. השימוש במאפיין 15108060 באוסף 5 מאפשר לוודא אס יש לפתות דוח, טרס הניסיון לטפל במאפייניו ובשיטותיו. השיגרה %5ז600ח!||5 | שלפניך ממספרת את חברי האוסף 6זסססאו|ג תוך הצגת שמס ומצב הטעינה שלהס. חברי האוסף 5 0סס56|| שייכים ל-66[סזק)ח6זוטס או ל-6006770[6060, שהסם חבריס באובייקט חסטפּסו|פקה. עליך להפנות לאחד מהס כדי לחשוף את חברי האוסף 8ווסק6חו|ה. לכן, השיגרה 655ז00ס₪6!|ג1155 מתחילה בהגדרת הפניה אל החבר ‏ 0[606זקזח6זזטוש של האובייקט חסטפסוופקה. תודקק להפניה זו כדי לגשת לחברי האוסף 5זסכ6ם!||א. שיס לב שהלולאה ח86ם...זסז] עוברת על כל אובייקט 6% (00[1ס) באוסף 15סס6ם!|ה, אך הנתיב אל 8זזסק6חו|ה מתחיל בהפניה אל סז ו. הסספסווקקה. ()5+ז0ק56||]46! | 5 58 01ק3 2/6665500[660 5 1[סס וחוס .סח 0[66%זק %חה6ט6 606 0+ 761676006 8 076806 ' ז תס הסוספסו!קקה = 1קקה 56% 0 הח 2000 406655 30 הסוהסו!קק3 6 חו +וסק6ז ה686 1156 ' 0 08060| 85 0650106 ' 5 ||ה. סקסה חז 1[טס 586 זס= החד שטיוד = 1.15108060[סס +1 ".8060ס! 15 " 8 6חחהּ\.1[סס לחוזק. פטססס 6 ".8060ס! %סח 15 " 8 6חוהּ].1[סס זחוזק. פטססס + 50 1 6% סט 0ח= האוספיס %5ז5600!! ו-פוחזס=||ג דומים וה לאה בתפקידם. אינך מוגבל לבדיקת חבריס מסוג | 066550066 | בפרויקט | הפעיל. | השגרות | 6זס6חאו56|ספוחסת!| 50( = ו- 5566 סכ150||₪6| שלפניך מראות כיצד לתכנת את שני האוספיס כשהס מצביעים על פרויקט אחר. שיס לב לדמיון הקוד בין האוספים וגס לדמיון הקוד בין הפרויקט הנוכחי לפרויקט האחר. השגרה 6ז06ש5!56חזס=!|150 1 שלפניך מדפיסה את מספר השמות הכולל של כל חברי האוסף פוחזס=!|4 שבקובצ 00ח.פזסזכהח6. הקובצ נמצא בתקליטור המצורף לספר. השיגרה מבוססת על ההנחה שהעתקת את הקוב מהתקליטור אל התיקיה 5 חשחווותבזטסזק. היא ממספרת את החברים (האובייקטיס 6%(פ4666550) בקובצ מסד נתוניס אחר. ( )66 156 פוחזס=|| 156 1 5 הסוס !66655.0 5 600551מק3 הזוס 6% 8 1[סס חחוס .6 080980856 3000067 0+ 761676706 8 68%6ז0 ' הסו68ו|קס. 60655( שוס] = 606551כק3 566 8 "66655 הוה רז סזק:6" 08%82856+חה6ז טי חהסקס. 666551 מס "ססר. פזס+ה ת6 5 6800" .6 6 חו 105 01 זסטוחטח |0%9ף 6 %חוחק ' + 5.60 זס-||.0[60%זק+ח6ז6. 666551 //כקה זחוזק. פטטסס 5חזס= || .066% ק+ח6 זז ו6. 066551 קה ח1 1[פס ח86ם זס= סוה . 1[טס זחוזק. פטטסס 1 6% סט5 0חם השיגרה 6ז6ח1156|!₪600755156 שלפניך מעוצבת בצורה זהה לקודמתה, למרות שהיא מטפלת באוסף 5וסק6חו|4 ולא באוסף פוחזס=!| ומנצלת את מסד הנתוניס ססוח. 6הושה+זס במקוס את 675.00ז80ח6. עיצוב השגרות כמעט זהה, למעט השימוש במשתני מחרוזת להגדרת שס מסד הנתונים. שינוי ּה הוכנס משיקולי נוחות וכלליות גרידא - אין כלל ב-460655 או ב-84 שמכתיב שימוש במחרוזות. פרק 6: יצירת דוחות | 331 ()6 סח 50| סק 6 || 5 | 5 חסו 68| .66655// 5 600551 קק3 הזוס 6% 8 1[סס חחוס 58 5 036 507 ,8חו50 5 6 50 ,חו50 ₪5 הז8קזו5 הזוס .6 080980856 3000067 0+ 66ה61676] 8 076806 ' חסו68ו|ס. 60655 שוס] = 606551כק3 56% ]סרח 01166610658 050ז6ו]65!ו= ותהזטסזק:6" = ה6הק50 "ססר סהועצורזזסא" = 506 56 8 ה8%ק507 = 6וחהּא סכ 5 506 %03%80856ח6זזט חס ק0. 666551 קסבּ .6 סמפחץ חן 62065 +0 זסטוחטח |0%8+ 6+ זחוזק ' 05.00% 60ה]||ה.ז60[סזק+ח6זנו6. 666551 קה זחוזק. פטססס .ןקז ט6. 666551קק3 ח1 1[טס ה₪86 זס= סוה . 1[טס זחוזק. פטטסס 1 6% סט5 0חם שינוי מאפייני פקד דוח קוד היישוס שכתבת יכול לנצל את האוסף 0655ס4|!₪60 בתור נתיב לדוחות פתוחיס ספציפיים ולפקדיס שהס מכילים. לאחר שתעבור בנתיב זה, היישום יוכל לקרוא ולשנות את המאפיינים של דוחות פתוחים. השיגרה 0!5188₪600765ח60 ניגשת דרך חברי האוסף 5 600א!| אל מאפייני תיבות הטקסט והתווית בדוחות פתוחיס ספציפיים. ()6015 ה070!51חהס6 פט5 6000 5 601 26665500[660 5 1[סס וס 5 .ןק חטש ח1 1[טס ה₪86 זס= החד שטד = 11.15108060[סס +1 (6החה. 5)00(1ז0ק6 ח1 601 ה86ם זס= החד 100 = 6סץ דוס חה0ס601.6 זז חסוט 61.63 ,6חחבּא. 601 זחוזק. פטוססס חסחד 109 = 6כץדו0:חה601.60 515611 36 /. 601 ,6חב. 601 זחוזק. פטטסס 6 ".אסכ 66% 8 זס |306! 8 %סח 15 " 8 שחחבּא. 601 שחוזק. פטוססס + 0חם 1 >אסא + 50 1 6% סט5 0חם 2 הח 2000 406655 השיגרה 0!5180₪600765והס6 פותחת בלולאת ה86ם...זס] שעוברת על חברי האוסף 5זסק6!|ה. אס היא מזהה חבר פתוח (המאפיין 15108060 שלו מכיל ערך 6טזז), הקוד נכנס ללולאת ח80ם...זס] מקוננת כדי למספר את פקדי הדות. באפשרותך לנצל את המאפיין 6קץד|סשח60 כדי לקבוע את סוג הפקד. חשוב לוהות את סוג הפקד, מכיון שהסוג קובע את המאפייניס שחושף הפקד. לדוגמה, פקד תווית מציג את המאפיין ח630 שלו, אך פקד תיבת טקסט מנצל את המאפיין 6ט|3 כדי לתאר מה הוא מציג. באפשרותך לנצל את סורק האובייקטיס (96ש0ז8 09[166%) ב-85/ כדי להציג את הקודיס המספריים של סוגי פקדיס אחרים שברצונך לערוך או לבדוק. משלוח תמונות הדוגמה שלפניך ממספרת דוחות כדי לקבוע אס הס מסומניס לשיגור בדיוור בתור קבצי תמונה. הדוגמה מתבססת על שתי שגרות. השיגרה הראשונה, 06ח805ח05ח56 ממספרת את חברי האוסף 8סספ6חו|ה. מאחר שהקוד בודק אס המאפיין פַפּד (תג) של הדוח הוא ישו |ופוח'י, על הדוח להיות פתוח. המאפיין פַ39ד אינו זמיו באמצעות האוסף 5 !||ה, אלא באמצעות האוסף %5וסק₪6 בלבד. השיגרה 80500%5ח05ח56 בודקת את המצב 15108060 של כל אחד מחברי האוסף 5זזסק₪6!||ה. אס 15108060 מכיל ערך 6פו88=, השיגרה תפתח את הדות לפני שתקרא לשיגרה השנייה. שגרת הדוגמה אינה קוראת לשיטה 0ו56 עס הפרמטר 8|566=, ולכן המשתמש יכול לקבל בקלות משוב ברגע שהשיגרה השנייה נכנסת לפעולה. הדבר מתאים במיוחד לדוחות ארוכיס בהס יצירה ושיגור של קובצ תמונה עלולים להימשך זמן רב. ()80500%5ח05ח56 5 8 301 26665500[660 5 1[סס וחוס .חח 0[66%זק %חה6זט6 606 0+ 761676706 8 076806 ' קז 6. הסוס הסו|קקה = 1סק3 56% .0 וזו וזש 0+ 5+וסק56!|ה חן זסס רחסו ה686 806זסותטחם ' .30 81!107]א6066 8ַחו||68 6זס6 הסשקס ,3060סו %סח ]זז ' 5 ||ה. 1קקה חז 1[סס ה86ם זס= החד שטד = 11.15108060[סס +1 סח 1[סס 36 666831110 6 וק 30/1 ,6וחה. 1[פס +60 הסקס. 0וה6סס 6וחהז. 1[סס 30 ט1וו13]א666 3658/6] ,6חחהּ. 1[טס ,36₪6001% 6056. 0ח6סס + 0חם 1 6% סט 0ח= פרק 6: יצירת דוחות 333 (806ח30)00[1 107|ו6668ה6 סט5 ₪5 1קסז וחוס חח 5+ !| ס% 8הו0חה0ק65 60 רסוח 5+סק₪6 60 60676066 66% ' (806ח5)00[1+וסק₪6 = 601 56% || חב 6!ו 80500%ח5 8 676866 "6 |והחח" 58/5 ץשזסקסזק פד זז' חסחך "6 |והוח" = 601.788 זז ,36-0708050 ,186 [סס )סקט 360 166[ 00ח56. סכ 6 ,".וס0ק6ז 06 15 1676" ,"+וזס0ק6 זסהפקהתפ" , , ,"6%ח.6חו ₪63 הוחוסזוצ" + 0חם סט 0ח= השיגרה 6806081080 קולטת את שס הדות שהועבר אליה באמצעות 5 היא מנצלת שם זה כדי ליצור הפניה אל חבר האוסף 5ווסספח ששמו זהה לשס שהועבר אליה. לאחר מכן היא בודקת את המאפיין 38ד של הדוח כדי לקבוע אס הערך שהוא מכיל הוא ישו ווגחח'י. אס כן, השיגרה מפעילה את השיטה ‏ 560000160 של 0006 כדי ליצור קובצ תמונה ולשלות אותו לכתובת דואר אלקטרוני 60ח.862680106וחופזוע, במקרה שלנו). באפשרותך להחליף את קבוע המחרוזת של הכתובת בכתובת כלשהי או בסדרת כתובות כפי שדורש היישוס. חשוב שהארגומנט הבא לאחר גוף ההודעה יקבל ערך 8!56]. ערך ברירת המחדל 6טזד יגרוס לשיגרה לעצור אם ההודעה פתוחה ולהמתין שהמשתמש יערוך את ההודעה. הגדרת ערך הארגומנט בתור 8|56] מאפשר לשיגרה לעבור בלולאה על כל הדוחות, ללא צורך כלשהו בהתערבות משתמש. 4 ח/ 2000 406655 7 מודולי מחלקה, טופס ודוח כדי לכתוב קוד ב- 200655 1167050 בצורה יעילה, עליך לנהל את משאבי התכנות שלך כך שיהיה קל לעבוד איתס ולעשות בהם שימוש חוזר. ערך הקוד עולה ביחס ישר למה שניתן להפיק ממנו. מודולי מחלקה מאחסניס קוד באופן שמאפשר לעשות בו שימוש חוזר. מודול המחלקה פועל כמו מכולה שחושפת את הקוד והמשתניס הנבחריס שבתוכה בצורה מוכרת למפתחים בסביבת פחסטהסו|סק זסז 8516 |8טפו/ (88/). עקרונית, מפעיליס שגרות מחלקה ומציביס ערכיס במשתניס באמצעות תחביר והה לזאה המשמש לביצוע פעולות על מאפייניס ושיטות של אובייקטיס מוכלליס של 460655. כדי לנצל את הקוד במודול מחלקה, אין צורך לדעת דבר על אופן פעולתו. כמו-כן, מאחר שמודולי מחלקה חושפים מאפיינים, שיטות ואירועיס כפי שאובייקטיסם אחריס עושים זאת, גס מפתחיס מתחילים בסביבת 884/ יכוליס להשתמש בהם. בפרק זה נציג תחילה מודולי מחלקה עצמאיים וגס מודולי מחלקת טופס ודוח. לאחר מכן נדגיס דרכיס פשוטות לבניית מחלקות ביישומי 860655 ולפיתות שיטות ומאפייניס מותאמיס אישית. בהמשך נציג מקרה לדוגמה המשתמש בשלושה טפסים, בפונקציות מותאמות אישית אחדות מהסוגים 660 שזסקסזק ו- 16% שהסססזק ובטכניקות המבוססות על אובייקטי נתוניסם 466% - 400 (09[660 808 6%ע60ה) כדי להתחיל ליצור יישוסם. הסעיף שלאחר מקרה הדוגמה מציג את התחתביר שבאמצעותו מתכנתים אירועיס לתוך המחלקות המותאמות אישית ובו נפגוש במילת המפתח פסחסעםחםו/. בשלב הבא נתמקד במכולות של מודולי המחלקה, הטופס והדוח בעת שנבחן את אוספי ||4 החדשיס ב- 2000 266655. פגשנו באוספיס פוחזס-]!|ג ו-5סס6חו|ה ; בפרק זה נכיר את האוסף 65וטססואו|8 (לאמיתו של דבר, קיימיס בסך הכל עשרה אוספי ון). הפרק מסייס בהסבר כיצד לשלב את האוסף 65!ט4סוזו| עס האוסף 11060165 כדי לנהל את הקוד ביישום. פרק 7: מודולי מחלקה, טופס ודוח ‏ 335 סוגי מודולים קיימים שלושה סוגי מודולים : > מודולים סטנדרטיים (000|65 50800870). מודוליס אלה מאחסניס שגרות משנה ושגרות פונקציה שברצונך להפוך לזמינות בכל חלקי קוב מסד הנתוניס. מודוליס סטנדרטייס יכולים להכיל גם משתניס שהוגדרו באמצעות ההצהרה שו|פטק (ציבורי) שברצונך להפוך לזמיניס עבור שגרות במודולים אחריס. > מודולי מחלקה עצמאלים (000!65 6|855 6ח08|0ח508). מודוליסם אלה מאפשרים ליצור אובייקטיס מותאמיס אישית. תוכל להגדיר מאפיינים, שיטות ואירועיס עבור אובייקטיס אלה, ותוכל גס לנצל את מילת המפתח שפא כדי ליצור מופעיס של אובייקטי הטופס. 4 מודולי מחלקה של טפסים ודוחות (070ק6ז] 800 5זס? זס? 00|65סח. 6|855) (נקראים גס מודולי טופס ודוח). כברירת מחדל, טפסים ודוחות מבוססים על מודוליס (הגדרת ברירת המחדל של המאפיין 8510006 שלהס היא 6טזד). תוכל להשתמש במילת המפתח 16 בהתייחסות למודול שנמצא מאחורי טופס או דוח. מודולי מחלקה מודולי מחלקה עצמאיים שוניס ממודולי מחלקת טופס ודוח בכמה מובניס. ראשית, בניגוד למודולי מחלקה של טופס ודוח, מודולי מחלקה עצמאיים אינס כולליס ממשק משתמש מוכלל. תכונה זו עושה אותס מתאימיס יותר למשימות שאינן מחייבות ממשק, כגון חישוביס, בדיקת מידע או ביצוע שינוי במסד נתונים. מודולי טופס או דוח שצריכיס לבצע משימות עתירות חישוב, יכולים לקרוא למודולי מחלקה סטנדרטיים. שנית, מודולי מחלקה עצמאיים כוללים את האירועים 08|26וח1 ו-6זהחווחזד שמאפשריס פעולות שצריכות להתבצע בעת פתיחה וסגירה של מופע של מחלקה. מודולי דוח וטופס אינס כוללים אירועים כאלה, אך באפשרותך לבצע דבריס דומיס באמצעות האירועים 1080 ו-6|056. שלישית, עליך להשתמש במילת המפתת א6 כדי ליצור מופעים של מודולים עצמאיים. מודולי מחלקת דוח וטופס מאפשרים ליצור מופעיס גם באמצעות השיטות החזס" הק 066 ו-ז סקס הסקס וגס על ידי הפניה אל המאפייניס או השיטות של מחלקת הדות או מחלקת הטופס. לדוגמה, 560-0605. וחזס עו וחזס פותחת את הטופס חחזסחץ. באפשרותך ליצור מודול מחלקה עצמאי מתוך התפריט %ו1856 (הוספה) של 85/ (תפריט וה כולל גס פקודות לבניית מודול או שיגרה סטנדרטייסם). לאחר בניית מעטפת מודול מחלקה, ניתן לאכלס אותה בשגרות ובהצהרות ועל ידי כך לצייד אותה בשגרות ובמאפיינים מותאמים אישית. 406655 2000 /,; 6 פונקציות מאפיין ושיטות מותאמות אישית פונקציות מאפיין מיוחדות מאפשרות לפתח בצורה קלה ופשוטה שילוב כלשהו של מאפייניס מסוג קריאה-בלבד, כתיבה-בלבד וקריאה/כתיבה עבור מחלקות. אס היישוס שאתה כותב מרשה זאת, תוכל להגדיר מאפייניסם באופן פשוט על ידי הגדרת משתניס ציבוריים. מאפיין שמוגדר על ידי מודול מחלקה באמצעות משתנה ציבורי, יהיה מסוג קריאה/כתיבה. היכולת להצהיר על מאפיינים מותאמים אישית מאפשרת להרחיב את מיגוון הרכיביס התפקודיים של 866655 לטפסים ודוחות. בנוסף, פונקציות מאפיין אלו מאפשרות ליצור מחלקות עצמאיות רבות עוצמה. היישוס יכול גם לבנות שיטות מותאמות אישית לתוך מחלקות. ניתן לנצל שגרות משנה או שגרות פונקציה כדי לבצע זואת. חשיפה סלקטיבית של משתנים ושגרות באמצעות מילת המפתחת סו|פטש מאפשרת להגדיר בצורה ממוקדת את השיטות והמאפייניס שייחשפו. הדבר מאפשר ליישומיס להגדיר ממשקים בינס לבין אובייקטי מחלקה שפועליס בדרכיס מוגדרות ביותר. יצירת מופעים של מחלקות השיטות והשגרות הציבוריות תומכות בגישה באמצעות קוד של שגרות חיצוניות למחלקה. עליך ליצור תחילה מופע של המחלקה בשיגרה מארחת במודול אחר באמצעות מילת המפתחת 6 (מילת מפתח זו משמשת גס ליצירת אובייקטים מתוך מחלקות אחרות, כגון האובייקטים 600060000 ו-₪66070560 של סכג. לאמיתו של דבר, היישומיס שתיצור יכוליס ליצור עותקיס רביס של מחלקה מותאמת אישית בעת ובעונה אחת - בדיוק כמו המחלקות של 0פג). לאחר יצירת מופע של מחלקה, קוד השיגרה המארחת מטפל במופע המחלקה, לא במחלקה עצמה. באפשרותך לשנות מאפיין של מופע אחד של טופס, אך כשתיצור מופע נוסף של הטופס, המאפיין שלו יקבל את ערך ברירת המחדל. מחלקות ואירועים מותאמים אישית למרות ש-%84 מאפשר ליצור מחלקות מותאמות אישית בעלות שיטות ומאפייניס נפרדים, לא ניתן לבנות אירועיס מותאמיס אישית בתוך מחלקות אלו. ניתן, לעומת זאת, לעצב מחלקה שמתחברת למחלקה מוכללת או ספריית סוגיס שמצרפים אליה. לדוגמה, באפשרותך לבנות מודול מחלקה שמפעיל קוד 88/ בתגובה לאירועיס 0 ו-0/60וח6 16 של האוסף 665ח₪6/676 (הפניות). אוסף זה עוקב אחר קישוריסם אל ספריות סוג חיצוניות ופקדי 6%ע860. לאחר הפעלת הפניה אל ספריה, כגון 2.1 00[60) ₪8%8 6%ע460 ₪107050%, באפשרותך לבנות אירועים מותאמים אישית שמבוססיס על אירועיס של סג עבור האובייקטים ח6600חח60 ו-₪66070560. אירועיס אלה יכולים להעניק גישה אסינכרונית לנתונים, גישה שמאפשרת ליישוס להגיב לפעולות המשתמשים, גם כשהיא מוכנה להגיב לחיבור מושלס או לזמינות של קבוצת ערכות רשומות שהובאה. פרק 7: מודולי מחלקה, טופס ודוח | 337 משתמשיס במילת המפתח הסעטםוש בהצהרה סוו|פטש כדי להצביע על הפניה לאובייקט שמנטר אירועיס ומודיע עליהס מתוך פקד 8460/6%. מילת מפתח זו חוקית במודולי מחלקה בלבד. באפשרותך להגדיר משתניס רביס במודול באמצעות מילת המפתח פזח6עםוטו/, אך לא תוכל ליצור מערכיס בעזרתה. בנוסף, הצהרה אינה יכולה לכלול בו-זמנית את מילות המפתח 6ח6עםוטו\ ו-שוסא]. שיטות ומאפיינים מותאמים אישית בעת השימוש במודולי מחלקה, לא מן הנמנע שתעבוד עס שני מודולים נפרדים. מודול המחלקה חושף מאפייניס ושיטות וגם מפיץ אירועים. מודול שני מפנה אל מודול המחלקה; הוא מציב וקורא ערכים במאפייניס וגם מפעיל שיטות. מודול זה יכול ליּום פעולות שגורמות לאירועים, ואירועים אלה, יכוליס להפעיל שגרות אירוע המשויכות להן במודול המחלקה. חשיפת מאפיינים באמצעות משתנה ציבורי הדוגמאות שלפניך מציגות שני תדפיסי קוד. האחד לקוח מהמודול 65001855 דץו!ז. זהו מודול מחלקה שמתחיל בהצהרות על זוג משתניס - אחד עבור הדוגמה הנוכחית והאחר עבור הדוגמה הבאה. השיגרה שנקראת 52 מחשבת את מחיר סהייכ לפריט מתוך שלושה ארגומנטיס שמועברים אליה: וחט, 6סוזם ו-%חט560ו0. השיגרה שומרת את תוצאות הביטוי שלה במשתנה שנקרא 0600607766א5. הצהרה באזור הכללי של המודול מגדירה את 060006ח06א₪ בתור משתנה ציבורי. הגדרתו כציבורי מאפשרת לשיגרה מארחת שנמצאת במודול אחר העובדת עס המופע של האובייקט 5 ו, לקרוא את ערך המשתנה. (0|6סרח 6!355 8) 6|טססח 65%6|355 דש סא הז 5 06וק 060חססאם ס6וופטוק הז 5 6סזק 60לטקר סו 6סהעוזק (0!6חו5 5 %הט015600 ,ץ6ח6זזו6 5 6סוזכ ,פחס] 5 אוחט)קם פטפ ש6ווסטק .הפע 6ו|טטכ ח! 650|6ז הזו קוח 00 ' 01500000 - 1) * 6סוזק * 65וחט = 7166 060ח66אם סט5 0חם (0|6סוח 5580870 3) 61וטססו סח ()166ק 60 חא טק וס פט5 .06 6|855 +0 558006ח! ש6ח 076866 ' 5 אוס] 45 זסזטקו 600סוזקץו חחוס . וקסיס 6סוזק 060ח06אם 6חוזכ חב ,61355 זסז 600 קם 6אסטחך ' 2 , ,5 קם.זססטוק ו ס6ס6וזק ץז 6 חא סוס 660וזק ץז +חוזק. פטטסס סט5 0חם 8 הח 2000 06655 השיגרה המארחת, 6600607006 6ז0קה60, נמצאת במודול סטנדרטי שנקרא 1. השיגרה יוצרת מופע של אובייקט, המבוסס על המחלקה שהוגדרה באמצעות האובייקט 6516355 דץוז. בשלב הבא, היא מפעילה את השיטה <קם של האובייקט. לבסוף, היא מדפיסה את המאפיין 1166ק060ח₪6 של האובייקט. השיגרה שבדוגמה פשוטה ביותר, אך היא מדגימה מספר נקודות חשובות הקשורות לשימוש במודולי מחלקח: > מודולי מחלקה הס בחירה הולמת לחישוב ביטויים קריטיים לעסקים. מודולי מחלקה משמשים בדרך כלל לאריות פעולות מתוחכמות יותר מאלה הדרושות לחישוב סה'יכ לפריט. > השיגרה השנייה שנמצאת במודול הסטנדרטי, מתחילה בהפניה אל מודול המחלקה, 6506855 דץ1ז. מילת המפתח צוסא יוצרת מופע של אובייקט שמבוסס על המחלקה. בדוגמה שלנו, המשתנה שנקרא ז6זטסו600סוזקץו] מפנה אל המחלקה. > ניתן לנצל את הפניית האובייקט אל מופע המחלקה כדי להפעיל שיטות ולהגדיר או לקרוא ערכי מאפיין. מפניס אל השיטה 52 של המחלקה באמצעות סימון הנקודה המקובל. מציגיס את הארגומנטיס אחרי שס השיטה ומפניס אל מאפיינים בעזרת כללי הסימון הבסיסייס. > יצירת מאפיין של מחלקה יכולה להיות פעולה פשוטה בדיוק כמו הצהרה של משתנה ציבורי במודול המחלקה. חשיפת מאפיינים באמצעות פונקציית מאפיין הראשון בתדפיסי הקוד שלפניך מציג גישה שונה למשימה. הגישה מבוססת על מאפיין שהוגדר באמצעות הפונקציה 6% /זזסססזק. השיטה 602 והחה כמעט בכל פרטיה לשיטה קם מהדוגמה הקודמת. ההבדל היחיד בין השתיים הוא ש-602 מפקידה את תוצאת הביטוי שלה במשתנה פרטי, 66וזק60פטסוח 60 (עיין בהצהרת המשתנה הפרטי בדוגמה הקודמת). זה כשלעצמו אומר שמופעי המחלקה אינס חושפים את תוצאת הביטוי. הפונקציה 060 ץזזסקסזס היא זו שחושפת משתנה פרטי. מאחר שלא הוגדרה פונקציית מאפיין כלשהי עבור 166ק60פטוח0ס6, המאפיין הוא לקריאה בלבד. לו היתה פונקציה מסוג 16% זסקסזק בשס והה, המאפיין היה קריאה/כתיבה. השימוש במאפייניס מסוג קריאה בלבד יכול לסייע לאבטח את ערכי המאפייניס ביישום, או לפחות לספק דרכיס להגדיר אותס. (0|!6סרח 6!355 8) 6|טססוח 65%6|355 דש סח (9!6חו5 45 %חט01560 ,שְסחה6זזט6 5 6סוזכ ,חס | 5 6וחט)602 פטפ 6ווסטק 6 ;180!6זה/ ס6העוזכן חן %|650ז הזוצו קוח 00 ' .ח60חט] 66% ₪זסקסזק חש טסזחף זוטפסז ' 015600000 - 1) * 6סוזכ * 65וחט = 66וק 0ססטקו 0ס6ץו סט 0ח= פרק 7: מודולי מחלקה, טופס ודוח 339 (66)0ק קוח 60 06% עשוסקסזק .ץזסקסזק ץ|הס-680ז 8 חזטס6ז ס+ אוסת 15 פוחד ' 6 לקו סע = 66ק60טקו 60 ץזסקסזק 0חם (0|6סוח 5580870 3) 61וטססו סח ()7166ק 061600660 5 5 אס 45 זסזטקו600סוזקץו חחזוס 586 6+ 5אסס! ץ+זסקסזכן 3 עס 068060 סטופצ 8 פחופט ' .6 סו|טטכק 8 חהזוצו 660ח067 6חס 35 ' 2 ,5 ,5 602.ז6סטוק וח ס6ס6וזק ץז 6 קר .סט סו 660וק ץז +חוזק. פטטסס סט5 0חם משתנים ציבוריים לעומת פונקציות מאפיין תחביר הפעלת השיטה והדפסת ערך המאפיין והיס בשתי הדוגמאות, למרות השוני בחשיפת המאפיין. הדבר מאשש את הקביעה שמאפיינים מתנהגיס בצורה זהה בין אס מגדיריס אותס באמצעות הצהרה ציבורית, או בעזרת פונקציית מאפיין אחת או יותר. ייתכן שפשוט יותר ליישם מאפיינים במודולי מחלקה בעזרת משתנים ציבוריים, אך פונקציות מאפיין מצטיינות בגמישותן בחשיפת המאפיינים. השתמש בפונקציה 6% וקסוק לבדה לטיפול במשתנה מסוג קריאה בלבד, ובפונקציה 16% עזוסקסזק לבדה לטיפול במשתנה מסוג כתיבה בלבד. לטיפול במאפיין מסוג קריאה/כתיבה, השתמש בשתי פונקציות המאפיין. אם המאפיין מפנה אל אובייקט ולא אל משתנה סקלרי, ניתן להשתמש בפונקציה 56% ששוסקסזק במקוס בפונקציה 166 ץזזסקסזס. הפונקציה 660 שזסססזס משמשת להחזרת מאפייני אובייקט בין אס מטפליס במשתנה סקלרי או באובייקט. מודולי מחלקה ומקורות נתונים מודולי מחלקה מהוויס אמצעי יעיל לאריזת קוד מסוג כלשהו. הס מכילים ערכיס מיוחדים שעשוייס להיות מועיליס למקריס בהס יש צורך להפוך מקור נתוניס לזמין לצורך עדכון או הצגה, אך בה בעת נדרש לאבטח את מקור הנתונים מפני נזק לא מכוון או רשלני. עדכון נתונים באמצעות מחרוזת ‏ 5091 הדוגמה שלפניך מנצלת מודול מחלקה כדי לעדכן את השדה 5180550066זוח בטבלה %5, בהתאם לשדה סשסטססזס והכמות שהוזמנה. שיגרה בת שתי שורות מעבירה שני ארגומנטים לשגרת המשנה במודול המחלקה. דוגמה זו עושה שימוש במודול מחלקה שונה מאלה שהופיעו בדוגמאות החישוב של מחיר סה"כ לפריט 0 ח,/ 2000 06655 (65%6!8552 זע במקוס 6500|355דש4). בפועל, מחלקים את הפונקציות וההצהרות לאוספיס אחידיס של שגרות שיטה ומאפייניס שמייצגיס מחלקות אובייקט נבדלות זו מזו. המשתנה 070678 מייצג את המודול 65%0|8552דץ!₪. המודול מכיל פונקציה שנקראת 01ק. הפונקציה קולטת שני ארגומנטים, אחד עבור פשסטססזס ואחד נוסף עבור היחידות שהוזמנו. ()7ז0706ץ1 פט5 5 ו עס 5 00671 וחוס 0 0.01 סט 0ח= השיגרה השנייה, 501, מעדכנת את מסד הנתוניס פסט4סזק. במפורש, היא מפחיתה מהשדה 6618050066וח( את מספר היחידות שהוזמנו. שיגרה זו נמצאת במודול המחלקה (65%0|8552 ד/ץו). שיס לב לעיצוב השיגרה: היא מנצלת אובייקט מסוג 60800 עס מחרוזת ‏ !501 שמגדירה את שאילתת העדכון. למרות שהשיגרה קולטת שני ארגומנטיס, היא אינה מיישמת שאילתת פרמטר. תחת זאת, היא מנצלת את הארגומנטיס שהועברו בתור משתניס בביטוי המחרוזת שמגדיר את מחרוזת ‏ 501. עיצוב זה מניב שיגרה מרוכוּת שקל יחסית לקרוא אותה. 6 8 חח הקט זסז 600 ג ' ()וחט ,סטס6ט0סזק)01ק פטפ 6וופטק סח 60 5 601 וחוס 54 45 .50501 הזוס .וח 60 30 6676006 חר 60 6 ה5516א ' וו 8.00 20 צוסא = 001 56% הסוח 660.00[ ק 66 = 660 ה ה 6060 . 1 חס 6 ;0חו7ז5 5001 6ח) 6816 * .65 זה 285560 01 חסוז56חו 66 ' 8 " 0060₪סזק ם ד כק" = 50501 = 8 " = א65185%066וח( 5" = ₪ " " 8 )וחט 8 "-65185%06%וח(" סשטסטססזק 8 "=סטסטססזק =חפרן//" חטז 0 80 60 6+ 0ף חַחו507 501 6+ חף551 ' 1 = 6% 80 600. 601 30% = 006 ו 601.60 6 סט5 0חם עדכון נתונים באמצעות שאילתת פרמטר מפתחיס רביס מעדיפים לאמצ גישה מקובלת יותר שמתבססת על שאילתת פרמטר. השיגרה 02 שלפניך מנצלת שאילתת פרמטר כדי לבצע את המשימה שביצעה 01ם, והפעס באמצעות מחרוות .501. שאילתת פרמטר מאפשרת להצהיר על סוגי נתוניס בעזרת כללי %84 מקובלים. שיס לב שהקבוע 3010606 של 800 מייצג את סוג פרק 7: מודולי מחלקה, טופס ודוח | 341 הנתונים פַחס!, והקבוע +ח1ו|03ח005 מקצה את סוג הנתונים ז9696ח1. עליך ליצור את הפרמטרים באמצעות השיטה ‏ 67680078/806%0 באותו סדר בו הצהרת עליהס בפסוקית 6065ו8780ק במשפט השאילתה. אס לא תקפיד לעשות זאת, תקבל שגיאת זמן ריצה (מסזום שוחודחטת). 7 הערה: בדוק את המידע שמציגה העזרה המקוונת של 460655 על המאפיין 6שְץד של האובייקט זסוסוחגּזהק של סכה, שם תמצא מיגוון סוגי נתונים עבור הצהרות של משתנים. (ז5606ח1 35 וח ,סַחס | 85 סטס6טססזק)02ק פטפ 6וופטק סח 60 5 601 וחוס 50 45 50501 חחוס ההק 08 0 5 2חזק ,לסו הּזבק. טס סכה 5 1חזק וס .הסוח 60 3006 61676006 סח ר60 6ח+ חף551א ' וח 0.60 0כה צוסא = 60001 56% הסוח .סז ק 66 = 660 חח 660 1 חס .1 50 355]00 .8 5ז6+6רחה הכ הוצ +ה06ח50006 .5001 %טס בטוז/ ' ץח ,חח | כזק 5ז6ז6ותהזהק" = .507501 = 8 " ססטססזק םדהסקט" = 8 " = א65185%066וח( 5" 8 " שְחַחַהט0-א6185006טוח()" ";10ק= כטסטטסזק = שה" 1 = 6% 80 60. 601 3% = 06ץ חר 601.00 .ח0ו066|38 85 0067 586 8/6 5% ;60675רת8זהק 6ז66|3ס *' (ס 303 ,%ח08|!1ח305 , "קזק" )6836 67. 601 = 1וזק 56% סזסטססזק = 6טוה/. 1 חזזק 1חזס 0הסקכה. 5זס6 רחב זהק. 601 ( הזזה 30 ,ז%606ה301 , "ץז ")66 601 = 2וזק 56% = 6ט|3/. 2חזזס 2חזק 0ה6ככה.675רח הזה ק. 601 .ץזסטף 6ז08קט חטה ' 1.6 50 6ח= 2 הח 2000 406655 משימת העדכון שמבצעת שאילתת הפרמטר מורכבת מארבעה שלבים עיקריים: > הצהרה על משתניס והצבת הפניות. > הגדרת מחרוזת 501 עבור שאילתת העדכון והצבתה במאפיין פקודה. > יצירה והצבה של ערכיס בפרמטריס שהוצהרו בשלב 2 לעיל. > הפעלת הפקודה לעדכון מסד הנתוניס. מקרה לדוגמה: תכנות ממשק כניסה בסיסי המקרה שלפניך מדגים גישה אפשרית לתכנות ממשק כניסה (חופָס|) בעזרת 60655. השיגרה מתבססת על מודולי מחלקה עצמאיים וגס על מודולי מחלקת טופס. תהליך הכניסה ותוכן מודול המחלקה מנצלים טכניקות תכנות שמתאימות לכל משימה המתייבת שימוש בנתונים עס טפסים לא מאוגדים. כדי להבליט את תפקידס של מודולי מחלקה ולשמור על שקיפות התהליך, שגרת הדוגמה אינה עושה שימוש ברכיב האבטחה המוכלל של 806655. במקוס ואת, היא מתבססת על זוג טבלאות ועל שלושה טפסים. הטבלה 05זסוו2855 כוללת שני שדות בלבד: 6610ץסוקוחם ו-0זסצו855ק. הטבלה 665עסוקוחם מיובאת ישירות ממסד הנתוניס 0חואוחצזסא. השדה 6610ץס!קוחם הוא המפתת הראשי שלה, והיא מכילה, בין היתר, נתוניס עסקיים, אישיים ופרטי קשר של עובדים. שלושת הטפסים מתייחסים לתוכן הטבלאות כדי לנהל את תהליך הכניסה. הערה: מקרה הדוגמה מוותר על לכידת שגיאות, פעולה שאי אפשר בלעדיה במערכת מעשית. לכידת שגיאות היא מרכיב חיוני במיוחד במערכת שתלויה בקלט משתמש. לאחר שתכיר את המרכיבים הבסיסיים של מודולי מחלקה בפרק זה, כדאי שתרענן את ידיעותיך אודות לוגיקת לכידת שגיאות המתוארת בפרק 1. טופס הכניסה הראשון תרשים 7.1 מציג את הטופס הראשון יחד עס שתי תיבות ההודעה שביכולתו ליצור. תרחיש הכניסה נראה כך: המשתמש מקליד את שס המשתמש וסיסמתו בשתי תיבות הטקסט של הטופס ולוח על הלחצן ח1 ₪16 16%. אס הסיסמה מתאימה לערך השמור עבור השדה 6610ץס!מחם, היישוס מציג תיבת הודעת פתיחה. אס אין התאמה בין הסיסמה השמורה לבין קוד זיהוי העובד, המשתמש יכול לנסות שנית, או להקליד ערך שונה. פרק 7: מודולי מחלקה, טופס ודוח 343 1 = ו ב וב ם- וחזס-] הסוז68ו ה6חזט 66ץסוקוח= ח :10 6פעיס|קוחם +] ו | ואס | 355 6הַחְבּ6 0 2006₪5% ]/050ז6ו ה חוחוחוהּ זטסז כוי ו ן (צ 0 2006₪5% ]/050ז6ו [ חוחוחוהּ זטסז .2355 הבח זס חובח3 עזד ‏ זפעש355ק בוובשח! | א, תרשים 7.1: טופס הכניסה הראשון ובו שתי הודעות תגובה אפשריות מסכת הקלט של הסיסמה נוסף לקוד ברקע של הטופס ומודול המחלקה שהופעל באמצעות הטופס, עליך לבדוק בהקפדה את תיבת הטקסט 285506. התיבה כוללת מסכת קלט של סיסמה שמציגה כוכבית כנגד כל תו שמקלידיס בתיבה. מקציס את מסכת הקלט לתיבת הטקסט מתוך הכרטיסיה נתונים (פּ88כ) של תיבת הדו-שיח מאפיינים (₪65ז6ססזק). לחץ על לחצן בניה (8010) הסמוך למאפיין מסכת קלט (85%!! +טסח1) כדי לפתוח תיבת דו-שיח שמאפשרת לבחור בה. הקוד שברקע הטופס המודול שברקע הטופס, המוצג להלן, מכיל שלוש שגרות אירוע - שיגרה אחת לכל לחצן. לחצן וא סוגר את הטופס ותו-לא. לחצן 06 ש355ק 03046 פותת טופס נוסף ומעתיק אליו את ערך השדה מתוך הטופס הנוכתי. השיגרה שפותחת את הטופס הסחי גס מעבירה את המיקוד אל תיבת טקסט ריקה. לאחר מכן היא סוגרת את הטופס הנוכתי. 4 הח 2000 466655 לחצן ח1 6 18% מפעיל מודול מחלקה עצמאי (65%6!8553דץ1!). שיס לב כי השיגרה מעבירה את תוכן שתי תיבות הטקסט שלה אל שגרת השיטה שוסס6 במודול המחלקה. מודול ה מאתר את סיסמת העובד הקשורה לקוד הזיהוי שלו וקובע אס היא תואמת לסיסמה שבטופס. המחלקה מגיבה באחת משתי הודעות אפשריות (ראה תרשים 7.1). מודול המחלקה מפשט את הקוד של שגרת האירוע. כאן מתגלה יתרון נוסף של מודולי מחלקה: האפשרות לעבודת צוות. מפתחים מנוסיס יכולים לכתוב שגרות בעלות דרגת מעורבות גבוהה במודולי מחלקה, בעוד שמפתחיסם פחות מנוסיס יכוליס לבצע משימות פיתוח צנועות יותר ולהפנות למודולי המחלקה כדי לשלב את קטעי הקוד שלהס באלה המתקדמים יותר. ()66ו|6 5|א05ח6 0ט5 6סהעוזק 6 50 06ח= ()א0116. זס/ש855ק שש0]16ח6 0 50 6זפטוזק "הבוח" וה'זס+ה6קס. ספ כזקוח=%. 6 = 10קוחם6ט. ( "ה סח וז" )רתוס ...ןואט ( " ב סח רז" )5 רתוס "00שש855ק%טקח1חו" , וח'וס-6 6|056. 6וח6ספ 50 06ח= ()0|166 ח6161 601 סט5 ססהעוזק 3 דא צוסא 5 דששק וחוס 550 ק)א0. 6 , 10קותם=א0. 16 אוסס. ד\ק 50 6ח= הפעלת מודול המחלקה השיגרה שוס6 של מודול המחלקה 65%0!8553דץ11 מנצלת שאילתת פרמטר כדי לבדוק את הסיסמה של עובד מסויס בטבלה 65ז0צו0855. אחד משני הארגומנטיס המועבריס לשיגרה הוא קוד העובד; השיגרה נותנת לפרמטר שלה את ערך הארגומנט. לאחר ביצוע האובייקט חחח 60 באמצעות שאילתת בחירה, השיגרה מציבה את קבוצת ההחזרה באובייקט ₪6607056%. מאחר שהשדה 6610עסומוח= הוא מפתח ראשי בטבלה 5, שאילתת הבחירה תחזיר תמיד רשומה בודדת. השיגרה ווס6 מסתיימת בהשוואת הסיסמה שהחזירה השאילתה לסיסמה שהקליד המשתמש בטופס, בתור תנאי המשפט חסחץד...1. אם יש התאמה, השיגרה מאפשרת למשתמש להיכנס ליישום. בפועל, פותחים טופס נוסף או אובייקט מסד נתוניס אחר כלשהו שאליו מגבילים את הגישה באמצעות אבטחה מבוססת-סיסמה. אס אין התאמה, השיגרה מבקשת מהמשתמש להקליד את הסיסמה המדויקת מחדש. פרק 7: מודולי מחלקה, טופס ודוח | 345 (8חוז50 5 או ,8חס | 5 0וקחח6)/וס6 סט5 סח 60 5 6701 חחוס 50 5( .50501 חחוס רבק פס סכה 5 1חזק חזוס 5 51 וחוס .וח 60 30 6676006 חר 60 6 ה5516א ' חר 8.00 0 צוסא = 001 56% הסוח 66066.0 = 660 ה 6060 1 חס .1 0 0ש|855 .8 675ז6חה זה השוצ +ה6ר55006 5001 %טס סז ' 86 0;7ח0] 56076% 5זסזסחהזהק" = .]507500 8 " 2855105 וחסז) 6זסשצ855ק ,6610שסו|קוחם 56|666" "56076 = 6610ץס|קוח= 6זסח/" 1 = 6% 80 60. 601 3% = 06ץ דחו 601.60 ( 03 ,301006007 ,"56076 )601.8 = 1וחזק 56% 60 = ס6טןה/. 1 חזזס 1חזס 0חה6קקה.5ז60 רחב זהק. 601 סז א%8חץ5 .501 8חוחה6866 זס1 6חו! ץסחהּח א ' חר 661.60 שחוזק. טפס - ' 6 שא = 561 56% 1 חה6ק5%1.0ז חסחד או = ("6סצ8550ק")6|05ו=. 5%1 + = ,הסחהוחזס?ח1פץ ,". חו חס שוחסס6|6/" 15050 "2000 266655 1167050 סחוו וחהזטסזק" 6 !וע ,".0זזסא355ק 86ַח8ח6 זס חהו3ח3 ץזד .6זסצו5פהק סו|העח1" א0ס8 ₪15 "2000 66655 167050 חחוו וחהזסזק" + 0חם 50 06ח= טופס הכניסה השני תרשיםס 7.2 מציג את הטופס שמוצג בעת שהמשתמש בוחר לשנות את הסיסמה שהוקלדה עבור קוד העובד המתאים. כל תפקידו של הטופס מתמצה בהנתחיית המשתמש לאשר את והותו. המערכת דורשת את האישור בטרס תאפשר למשתמש לשנות את הסיסמה. בנסיבות רגילות, תיבת הטקסט הראשונה מתמלאת על ידי הטופס שטוען אותה (עיין בשיגרה הקודמת, 6|66 6זסאו855ק/ו60\6). כל שעל 6 ח/ 2000 06655 המשתמש לעשות הוא להקליד את תאריך תחילת עבודתו וללחוצ על א%וחפט5. הדבר החשוב כאן, הוא לנצל שדה שערכו ידוע לעובד בלבד. באפשרותך לנצל שדה נוסף אחד או יותר כפי שתמצא לנחו. )= זט -] : !הסח /צחוז! 83 הזזס-] הסוזהוחזזו)חס-) 66ץס!קוח= ח :10 ספעסופוח= | :3 פזות | וא | מוהזט5 תרשים 7.2: טופס הכניסה השני שמנחה את המשתמש לאשר את זהותו הקוד ברקע הטופס הטופס מפעיל שאילתה כשהמשתמש לוחתא על לחצן +חפט5. מודול מחלקת טופס מעבד את נתוני השאילתה ומתאיס את תוצאת קבוצת ההחזרה לקלט המשתמש. שגרת האירוע שברקע לחצן 8וחפט5 כוללת משפט חום שיוצר עותק של מודול המחלקה 16550!8553ץ1 עס הפניה אל 665516סזק. שורת קוד שנייה מפעילה את השיטה 1חזהסח/ של המחלקה, כפי שניתן לראות בקוד שלפניך. ()א6116 6050016 50 ס6אהּעוזוק 3 ץז שו46] 5 665516סזק וחוס (0806 6ז628+6)%071 , (10קות6005)פח. 61 1חז ה סח//. 66556סזוק 50 0חם הפעלת מודול מחלקת הטופס שגרת בדיקת המידע של הטופס השני מופיעה בהמשך. היא מנצלת שאילתת פרמטר כדי לבצע בדיקה של תאריך תחילת ההעסקה של העובד בעל קוד הזיהוי הנתון. הקלדת המשתניס (שים לב לפונקציות פַח61 ו-60866 בשיגרה >6ו|6 06פט05ח6) לפני שעובריסם למודול המחלקה, מאפשרת לנצל את יתרון אפשרות הקלדת הנתוניס בהצהרה 2878706675 וגס את הקלדת הנתוניס בטבלה. ללא הקלדה זו, היה על 06655 לבצע המרות פנימיות לסוג הנתוניס 0%ח8וז8. העיצוב הבסיסי של הודעות הבדיקה וההחזרה דומה לזה של בדיקת הסיסמה. אם תאריך תחילת ההעסקה שבטופס מתאיס לזה שבטבלה 665ץסומוחם, השיגרה תפתח את הטופס השלישי. פרק 7: מודולי מחלקה, טופס ודוח | 347 (86 5 8 ,חח ! 5 0וקוח1)6וח ה סח/צ פט5 סח וח 60 5 601 וחוס 54 45 50501 חחוס רבק פס סכה 5 1חזק חחוס 5 501 חחוס וח 60 30 6676006 חר 60 6 ה5516א ' חר 0ס6. כ סכה צוס = 001 566 הסוח 60.00[ ק 66 = 660 ה 6060 1 חס .1 60 355]00 .8 5ז6+6רחה זהכן הוצ +ה06ח5%006 .5001 +טס בטוז/ ' 8 " ,6610ץס|קוחם 56166 ;8חס | 1510 5זסזסוחהזבק" = .507501 "ס1פח6610=1ץס!קוחם 6זסח/ 665ץס|קוחם וחסז- 6סהס6זות" 1 = 6% 807 600. 601 3% = 06ץ חר 601.00 (0ח1 30738 ,%6007ח301 ,"זה" )6 601 = 1וזכ 56% 60 = 6טןב/. 1 חזזס 1חזס 0חהסקקה.5זסז6רח ה זהק. 601 סז אה%חץ5 .501 8חוה6866 זס1 6חו! ץחה א ' חר 60 . 1 60 שחוזק. פטססס .חר 60 66016אם ' 6 ו .66 6!סה ד .5 זטסח1 60666 עצוס = 51 56% 1 ה6ק561.0ז החד 0 = ("6ז608זוה")51ז זז "00ש8550 8060 חוחפ" וחזסז הס קס. הס קוח ( "1 ס הרת" )רתס = 10קות 6 (" 673550 הזז" )רתוס "זר סח וח" , וח'זס-86 6|056. 6וח6ספ 6 = ,"וט זס הו388 ץזד .6610ץסוקוחם זסז ופצ +סח סזור" 80 5וו "2000 66655( 5016סזסו] פחוהחותהזטסזק" , |ה6טוז סע + 0חם 50 06ח= טופס הכניסה השלישי תרשים 7.3 מציג את הטופס האחרון שמופיע כשהמשתמש לוחת על לחצן אוסט5 בטופס השני, לאחר הקלדת תאריך תחילת ההעסקה המדויק שלו. הטופס כולל שלוש תיבות טקסט. אחת מיועדת לקוד העובד (תיבה זו מתמלאת מעצמה בנסיבות רגילות). תיבת הטקסט השנייה מיועדת לסיסמה החדשה, והתיבה השלישית מיועדת לאישור הסיסמה. אס אין התאמה בין תיבות הטקסט האלו, המערכת מציגה למשתמש הודעת 8 ח/ 2000 406655 התרעה מתאימה. אס המשתמש לותצ על לחצן אאוחטט5 מבלי להקליד ערכים בכל שלוש התיבות, תופיע הודעת תזכורת נוספת. לבסוף, אס הטופס עונה על שתי הדרישות הללו, מודול המחלקה שאליו פנה הטופס מעדכן את הסיסמה עבור העובד בטבלה 5 <1ם) = | יי ב ו ו ו - וחזס-] ז0צצ355 6ִהַחה63 ח :10 66יס|קוח= + 55ב :355 ]חס > : וקו 8 | הסוסה סולהשתזו ו ₪ < 0 %*20065 ]/050ז0ו₪1 [ חוחוחוה סז .- , 355 אופחו זגוסץ טהו!!ותתפוו5 6זס/6ם 65חזח6 || 6ו6!קוס0 6356| (נ 0 4/006%5% ]/050ז116 הַחוחוחוב זףסז2] .וספ זט חס זפ)ה46-6] .וברח וס 0 טזטש355 = חזו/חס-) חב בזםו355 (נ 0 %*20065 ]/050ז0ו₪1 [ הוחוחוה זטסז = .החזס] 915 ]₪1 זס הסוזבסוזהשרזגוב. 6שעסווח= 0 הזוס .30000160 5 טזס55בם אופחו זגוסר 3 תרשים 7.3: הטופס השלישי, שמאפשר למשתמש לעדכן את הסיסמה פרק 7: מודולי מחלקה, טופס ודוח 349 הקוד ברקע הטופס המודול שברקע טופס ה הוא המעניין ביותר במקרה שלפנינו. המודול מבצע אימות נתוניס, במקוס להעביר אותס למודול המחלקה. גם שיגרה זו מפעילה מודול מחלקה עבור משפט 501 שמעדכן את סיסמת העובד. ההפרדה בין אימות הנתונים ועדכון מסד הנתוניס מציגה היבט נוסף של יישוס מודולי מחלקה - ביצוע משימות רגישות באמצעות מודול מחלקה. כך ניתן לתקנן את המשימות ולהבטיח ביצוע הולם. מרכיבי יישוס נוספים שאינס מחייבים תקנון הס מועמדים טיפוסיים להתאמה אישית על ידי מחלקות משתמשי הקצה. הפונקציות 66% ץ+ו6קסזק ו- 16% ש+זוסקסזפ | לוגיקת אימות נתונים מיוחדת זו מבוססת על זוג הפונקציות 661 ששזוסקסזק ו- 166 שזסקסזק. האירוע 6700086 של כל אחת משלוש תיבות הטקסט מפעיל את הפונקציה 16% ץוסססזס. פונקציה זו מעדכנת את ערך המשתנה 4||=!!60 ל-6טזד או 56|" (אס כל התיבות התמלאו בנתוניס חוקייסם, ערך המשתנה הוא 6טזד; אחרת, הערך 56ו4ז). הפונקציה 66% וקסוק משקפת את מצב שלוש תיבות הטקסט בעזרת המאפיין 600066%!| של הטופס. השיגרה >6ו61 %/וח0500וח6 בודקת ערך וה כדי לקבוע אס כל שלוש התיבות מסומנות. אס הערך הוא 8|566=, השיגרה מציגה הודעה שמזכירה למשתמש להשלים את הקלדת הערכים בכל התיבות. אחרת, שגרת אירוע הלחיצה בודקת אס יש התאמה בין תיבת הטקסט של הסיסמה וזו של אישור הסיסמה. אס לא, תוצג הודעה נוספת שתזכיר למשתמש להקליד סיסמה תואמת. לבסוף, לאחר שהמשתמש עבר את שני השלבים, השיגרה מפעילה את השיטה 5ששפא של המופע המקומי של המודול 65%0!8553 דץוו. ח00!68ם 25 חסו!=||ה 6אהעוזק ()08%6( 16061 וחזו1חה0 500 ס6אהּעווק הזו 600 = 66%ה600!!₪. ₪6 50 06ח= ()67(008%6א כ1קות0 50 ס6אהּעווק קוח = 1!600066%. 6 סט5 0חם ()008%6ז6ש1 זסצ07855 סט5 ס6אהעוזוק |0זס/%2855א = 16000666 16 50 6ח= 0 ה 2000 406655 (ט|3צוסחע)א111!600066 1.6% שוסססזק 6ווטגוק = 0 ("" = 5010 0 (10קותםאס)|וטא15) זז | 0 ("" = 0זסצ855ק00 0 (0זסשש0060855)!|טא15) החד ("" = וזו הס06 זכ (ותזה60%60)ווט15) 6 = ססוון=||ה 6 6טזך = ססוווח||ה + 0חם ץזסקסזק 0חם ()6000666!| 6% שזסססזק 6ווטגוק 6 = 6000666ו| ששזסקסזק 0חם ()א6ו61 605006 0ט5 6סהעוזק 3 עוסא] ₪5 /ק6ז3 קט חזוס הסח ד 8156= = 600066%!|₪.6 + 8 " 061076 607165 || 606!ר 60 16856" אס וו ,הסחהוסזח1פט ,".0זסעש855כ ששח זטסץ פחואוותטט5" "2000 266655 1167050 סחוו וחהזסזק" החד הזוה660א% <> 0זסשש855ק)א )56| 8 " 0%סח 00 0זסצ855? וחזוהס6 300 0זסצו355ק" א0ס8 150 ,הסוט הו זס?ח1פע ,".ה0% זס 6חס ז₪6-60%6 .חה866וח" "2000 266655 1167050 פחוו ותהזטסזק" 6 623550 , 10קות=א6 /שק סא הקנ + 0חם סט5 0חם ()א6ו61. חופס 601 50 6סהעוזק "00ש355 קט ח1רח" והזס+ה6סס. סכ זו = 510 ("6וסצ355 קז מח1רחזז" )רתוס 0 = 0 סשש855קאט. ( "וס 55 טס הזח" )רז ס=] "0 55 06 ה ת6חזו)" , וח'זס-36 6|056. 6וח6ספ סט5 0חם ()66ו|6 5|א05ח6 0ט5 6סהעוזק 6 50 06ח= העברת ערכים לטופס אחר שתי שגרות נוספות משלימות את רכיביו התפקודיים של המודול שברקע הטופס השלישי. שגרת אירוע לחיצה ברקע של לחצן 66עס!קוח= ה0וז68חה6חלטה מחזירה את המשתמש לטופס הראשון וממלאת את תיבות הטקסט של קוד העובד והסיסמה בערכיםס הלקותים מהטופס השלישי. רכיב זה משחרר את פרק 7: מודולי מחלקה, טופס ודוח ‏ 351 המשתמש מהצורך להקליד מחדש את הנתוניס מייד לאחר האימות, אך התזרה לטופס הראשון מאפשרת נקודת כניסה יחידה ליישוס. הדבר מפשט את תתחזוקת היישוס בטווח הארוך. לחצן היציאה של הטופס, זואם, סוגר את הטופס. הפעלת מודול המחלקה מודול המחלקה המופעל על ידי המודול שברקע הטופס השלישי, מנצל ביטוי מחרוזת כדי לחשב משפט .501 שאובייקט חאו 60 מעדכן בעזרתו את סיסמת העובד. זוהי דרך אפשרית לייצוג מחרוזת (כגון ערך הסיסמה) בתוך מחרוזת אחרת (משפט 501 השלס). שיס לב לגרשיס הכפולים הרבים, הן לפני והן אחרי ערך הסיסמה החדש. אלה קודי בקרה (60065 650806) לייצוג גרש כפול בתוך זוג נוסף של גרשים כפוליס. מלבד צורת הקינון של מחרוזת בתוך מחרוזת (בהתאם לכללי התחביר של גפצ), הקוד קריא למדי. משפט קטע הודעה בסוף השיגרה מאשר את שינוי הסיסמה ומנחה את המשתמש כיצד להמשיך. (0חוזז5 5 סזסצו855קט ,חַחס1 5 0ו6)/)קעעסו פט5 סח וח 60 5 601 חחוס 54 45 50501 חחוס .וח 60 30 6676006 80 חר 60 6 ה5516א ד חר 5.60 סכה צו6 = 001 56% הסוח 060.00 ק 66 = 660 ה 6060 . 1 חס .5 3 085560 +0 חהסו+ו56חו 6+ 66 סח ;8חו507 501 06 6חו6כ ד 8 " 2855/0105 ם דקש" = 50501 = 8 " """ 8 0זסצו55הקטוא 8 """ = 6זסצ855ק.05זסאופ5בק ז55" ";" 8 610 8 "=610סץס|קוחם =מםח/" סחוזק. פטטסס הז 0 חר 60 6+ סל פַחו507 5001 6 ח6ן55א ' 1 = 6% 80 600. 601 3% = 06ץ דחו 601.60 6 6 ה סוט רזוח 60 ' = ₪ " .36660060 15 0זסצ855כ צוסח זטסץ" אס8 ₪50 8 " זס ה680ו חה6 טג 66ץס!קוח= 60 הזט66ה" "60655 05016ז6ו1] פחווחותהזססוק" ,הסטהחוס+ה1פצ ,".וחזס? 5וחז זאם" טפ 0ח= 2 הח 2000 406655 תכנות אירועים לתוך מחלקות מותאמות אישית באפשרותך לנצל את %88 ב-866655 כדי ליצור מחלקות ליצירת מופעים של אובייקטים, אך אובייקטיס של 84/ אינס מסוגלים ליזוס אירועים בעצמסם. יחד עס זאת, תוכל ליצור מחלקות שמבוססות על ספריות סוג ופקדי 606% שמפיצים את האירועים שלהס בסביבה מארחת. במקרה של אובייקטים שמפיצים אירועים, יישוס 84 יכול לארוז קוד סביב אירועיס שמתרחשיס בתוך המחלקה. כששיגרה מארחת של מופע מחלקה מפעילה שיטה שמחוללת הפצת אירוע מתוך המחלקה, שגרת האירוע מגיעה אל המארת של מודול המחלקה (ראה תרשים 7.4). האוסף ₪616760065 מתייחס בצורה היררכית לאובייקט חסטפסווסקא. מפעילים את השיטות 200-016 ו-6/סוח6א כדי לאפשר ליישוס להוסיף ולמחוק, באמצעות קוד, הפניות אל ספריות סוג. קבצי ספריה אלה מכילים תיאוריס סטנדרטיים של אובייקטים, שיטות ואירועיס חשופים. כזכור, מודל האובייקט 8סססג תלוי בספריה. ניתן להוסיף הפניות אליו ולספריות נוספות בצורה ידנית או באמצעות קוד. 1 6ז סז 6טססר 60855 5חסט= חש ןטס תרשים 7.4: מילת המפתח פזח6עםחאו/ מפיצה שגרות אירוע של אובייקט אל מארח האובייקט, בעת התרחשות של אירוע פרק 7: מודולי מחלקה, טופס ודוח 353 פרק 2 מסביר כיצד להוסיף הפניה באופן ידני אל שלוש הספריות של ססג. הסעיף שלפניך מתאר כיצד להוסיף הפניות באמצעות קוד אל ספריה או פקד 4606% כלשהס. באפשרותך ליצור הודעת אישור כשהיישוס מסייס להוסיף או להסיר הפניה. שתי מחלקות אירועים מוכללות מודולי מחלקה כוללים שני אירועיס מוכללים: 26ו|108ח1 ו-6החווז6ד. האירוע 6 חן מתרחש כשיוצריס מופע חדש של מודול מחלקה. יוצרים מעטפת עבור שגרת האירוע 26ו|₪8וח1 על ידי בחירת 61855 מתוך התיבה 0166% ו-8831126וח1 מתוך התיבה 6 באפשרותך לעשות את כל הדרוש בשגרת האירוע 26ו8שוח1 כדי להכין את מופע המחלקה לשימוש. שגרת האירוע סופחווחופד היא כלי הניקוי לאחר ביצוע היישוס הנוכחי. פעולת הניקוי יכולה להסתכם בהגדרת הפניית האובייקט בתור פחווחזסא. האירועיס 6?|אטוח] (-806חוחזד מתרחשיס פעס אחת בלבד בתחילת חיי מופע המחלקה ובסיומם. זו הסיבה שאין הס שימושיים ביותר ליצירת התנהגות אינטראקטיבית או דינמית בהזדמנות כלשהי, למעט ביצירה ובפירוק של מופע של מחלקה. שימוש במילת המפתח %6חסעםו%ו/ ללכידת אירועים שהופצו מודול המחלקה שלפניך מנצל את מילת המפתח חס6עםוטו/ כדי ללכוד אירועיס שהופצו באמצעות האוסף 065ח₪6/076. אוסף זה כולל פריט נפרד לכל פריט שנבחר בתיבת הדו-שיח 065ח₪61676. האירועיס 1670060 ו-0/60וח6 ת6ז! מתרחשיס רק כשהקוד מוסיף או מסיר הפניות. אס משתמש משנה את האוסף 065ח₪61676 באופן ידני, אירועים אלה אינס מופעלים. 6 6065 הסטקס .ח0ו60|!660 616760665 %ה656ז62ז %0 80|6וזה8ע 66%[ט0 6זה!66ס ד 5 5 616760665+/0 פלחסעם תטו/ 6ווטגוק .06 6/1616760665 8|!26וח! ,6768560 5| 6|855 01 6סחה%פחו חשח/ ' ()26ו|108ח1 0|355 500 סזפטוזק 5 הסול68ו|קקג/ = 0/%4616760065 56% טפ 0ח= .0% 0+ 6/1616760665 56% ,60/60 15 06ח5%8חו חסח/ש ' ()6זה חורתז6 ד 61855 500 סזעוזק 0חוה00%] = 8616760665+/6 56% סט5 0חם 4 ח,/ 2000 406655 .0 58 61676066 החשש 655806 עְב|ספוס ' (61676006/. 66655 5 61676006 |3/ץ )106700060 665ח6/%%01076 סט5 ס6העוזוק | ,".30060 0" 8 ₪60676006.806 8 " 0+ 60676006" אס ₪15 "2000 66655( 16705010 פחורחרת בזוססזק" , הסטפווס+ה1סצ סט 0ח= ,6 5 61676066 השעו 655806 עְב|ספוס ' (₪61676066. 66655 45 61676006 |3 8 )60/60 1660 665ח0/%%61076 סט5 ס66העווק ".60/60 "8 61676006.]86 8 " 0+ 61676006" אס ₪150 "2000 06655( 0500זסו] הווחו סק" , הסטפווס+חה1סצ סט 0ח= הפעלה וסיום של הפניה מסוג 5זחוסעם וזו/ משתמשיס במילת המפתח פשחסעםוטו/ בצירוף מחלקה שמפיצה אירועיס. המשפט 6ופטש במודול המחלקה שהוצג קודס לכן, מצהיר על הפניה (665ח₪6/676+/6) אל האוסף ₪6/6760665 באובייקט היישוס של 866655. מילת המפתת פ%חסץםוטו\ שבמשפט מאפשרת למודול המחלקה ללכוד אירועיס שהופצו על ידי האוסף 665ח₪6)676. שגרת האירוע 108|26ח1 61855 מגדירה הפניה. כזכור, לא ניתן לנצל את מילת המפתח 6 עבור הפניה שהוצהרה באמצעות סח6עםוטו/. אריזת קוד סביב אירועים שנלכדו שתי שגרות אירוע במודול המחלקה, 1667406 ו-6ע₪600 ח166, מפעילות משפטי קטע הודעה. משפטים אלה מציגים הודעות שנותנות שס להפניה ששיטה מוסיפה או מסירה. שגרות האירוע מציגות את תחביר הקוד המותאם אישית לאריות אובייקטים שמפיצים אירועיס. במקרה זה, האובייקט הוא האוסף 60665ז86/6. שגרות האירוע רק כותבות את שס הספריה שהוספה או הוסרה מהאוסף 665ח₪6/676. מודולים סטנדרטיים הגורמים לאירועים בדומה למודול מחלקה כלשהו, יש צורך בשיגרה אחת או יותר של המודול הסטנדרטי כדי ליצור מופע של המחלקה (ראה דוגמה בהמשך) וכדי להפעיל שיטות, להציב ערכי מאפיין או לקרוא ערכי מאפיין. באזור ההצהרות של המודול המארח את המחלקה, כולליס את המשפטים חחוס ו-6|טטק עס מילת המפתח ופא ושס המחלקה. על ידי כך יובריס מופע של המחלקה ומגדיריס הפניה לאובייקט (6ח6/ש)₪6[פס בדוגמה). תחביר מודול סטנדרטי של אירועים אס המופע של המחלקה מפיצ אירועים מתוך אובייקט מוטבע, עליך להשתמש במשפט ופט עס מילת המפתחת פח6עםחסו/. משפט זה חושף את האירועים למודולים נוספיס שמפניס למחלקה. כשמפעילים את השיטות מתוך מחלקת הרקע, יש להפוך את פרק 7: מודולי מחלקה, טופס ודוח | 355 הפניית האובייקט המקומית (65ח6עם861[פס), ההפניה שבמודול המחלקה החושפת את האירועיס (065ח6/8₪6/676) ולאחר מכן שס שיטה ספציפית, כגון 6וחסז-800 או 6שסוחסח. בניגוד להפניה מקובלת למודול מחלקה, ההפניה הנוכחית מצביעה על שיטה של אובייקט המקור בהצהרה פזח6עםחסו/ץ. .5 61/6055 01 5%006ח1 צ6ח 076816 ' 5 עס 45 פזהסעם)6[טס הזוס ()61676006 600>סעח1 5 .6 0660זק 0061676006 60 ץזהזסו! 6 +0 ההכ ה 6חהחהּח 6 5פהק ' "50.0 00 5556 1!65- הסוחר ס1!65= ההז סזק:6" 06ח6076 00 סט 0ח= ()61676006 60/6 6אסעח1 פ5 6 וס סח [8חז6זח! 1(56) .61076066 8ח150א6 01 6חחגּח 55בַק ' (.61676066ז 80000 השחצ 5זה68ק3 6הההח 5876 ,56| 65וצוסססזק ' "₪0(" 60676006 60/6 טפ 0ח= (57108 45 76ַ6883!ן-61676066)507 00 טט5 (6ח507-1!683) 1!6= רתסה- 400 616760665 )עס. )חס 61 [סס סט5 0חם (8חו57 5 6136 06)507 0760 סרח טט5 (6 5776108 )6616760005 61-65 00 6עסרח6. 676760665 עס. פ%הסע 0 [סס סט5 0חם הדוגמה שלעיל מוסיפה הפניה לספריה שמאחסנת את המודל 180 (מודל וה מאפשר לבצע שכפול 360 באמצעות ססג). מפעילים את השיגרה 0006/076066ה6)סעח1 כדי ליצור את ההפניה. השיגרה קוראת לשיגרה נוספת, 66ח0006/676, בעזרת תחביר להוספת פריט לאוסף ₪6/0760665 באמצעות מודול המחלקה 65ח6/ם)₪6. הספריה המאחסנת את מודל 380 היא ספריית קישור דינמי (11פ) שנמצאת בדרך כלל בתיקיה 0סג שהנתיב שלה הוא 0סס\ ח6ז5ץ1!655=₪ חהסווח1!8560= ותפזחָסזק הפעלת השיגרה 6 סרח 6אסעח1 מבטלת את הפריט 380 מתוך האוסף 065ח₪6/676. היעד של 0 הוא המאפיין 6חג3 של הפריט באוסף 065ח₪6)676. הערה: כדי לגלות את הארגומנטים של השיטות 6" 0ז400 |-0/6ח₪6, הוסף הפניות באופן ידני. לאחר מכן, מספר את פריטי האוסף ₪6)6/60065 באמצעות המשפט ח866ם...זס] תוך כדי הצגת המאפיינים שלהם, 6ח8א ו-חזפּקו|ט=. השתמש בערכי מאפיינים אלה כדי לזהות בצורה ייחודית ארגומנטים של השיטות 6ו וס 00 |-6עסוח6. 6 הח 2000 406655 הרחבת היישום באפשרותך לאמ בקלות את המחלקה ₪6/60|855 על ידי שימוש בשיטות 66ח00₪6)076 ו-₪60/6861676066 כדי לאפשר תהליך בחירה מקיף וגמיש יותר. לדוגמה, היישוס שיצרת יכול לגזור את קלט השיגרה 06ח400₪6)676 מתוך אוסף של ספריות סוג, קבצי הפעלה, פקדי 6%ש860 ואפילו מתוך קבצי מסד נתונים. ניתן להציג למשתמש תיבה משולבת ובה רשימת הפניות להוספה או להסרה. לחילופין, השיגרה יכולה לבחור מתוך רשימה המבוססת על גורמים נוספים, כגון יעדי המשימה של המשתמש. שימוש באוספי 811 אס אתה נמנה עס המפתחים הנוהגיס לעקוב אחר האובייקטיס שלהס בפרויקט מסד נתוניס (רובנו רואיס ואת כחיוני), תשמח לדעת על האוסף 66!וטוססואו|ג, מכר קרוב של האוספים פהזסת!|4 ו-6סס6ג||א אותם פגשנו בפרקיס 5 ו-6. חברי האוספיס שמתחילים ב-||4 אינס אובייקטי מסד נתונים, כגון טפסים, דוחות ומודוליס, אלא אובייקטיס מהסוג ‏ 86665500[60 המכילים כמות מינימלית של פרטיס אודות רוב הסוגיס או אובייקטיס שמוריס במסד נתוניס. מאפייני ₪66655020[66% ניתן למספר את אובייקטי 0665509166 במהירות באוסף כלשהו. מאחר שאובייקטיס אלה מצביעים על אובייקטיס שמורים, לא ניתן להוסיף או למחוק חברים. מבצעיס משימות אלו באמצעות האוספיס הפתוחים שאליהס הס מצביעיס. כשאתה פוגש באובייקט מסוג 6065509160 שהיישום שלך וקוק לפרטים נוספים אודותיו, באפשרותך לנצל את המאפיינים 15108060 ו-6ח8\ כדי לבדוק את מאפייני האובייקט שאליו מצביע האובייקט 16605509(6%. אוספי אובייקטים פתוחים אלה כוללים מערך מקיף של מאפיינים ושיטות שאינם זמינים באוספי ון. אובייקטי ‏ 06065500[60 כוללים מאפיין מהסוג 6קץז שמתאר את הסוג של %% ולא את הסוג של אובייקט מסד הנתונים. ערך המאפיין 6קץד של כל חבר באוסף 665!גו0סו!| הוא 5. ערך זה מייחד חבר מסוג 6665500[60 באוסף 65 מחבר אחר באוסף פוחזסת!|ה, שערך המאפיין מצד שלו הוא 2. בכל מקרה, לא תוכל לקבוע אס אתה מטפל במודול מחלקה או במודול מחלקת טופס על ידי בדיקה פשוטה של החבר ‏ 46065500[60 באוסף ||4. עליך לבדוק את המאפיין 6סץד של אובייקט 6|ט0סא ואת המאפיין 0!6ו485100 של אובייקט חזסם. האוספים !| קיימיס שבעה אוספיס שמתחילים ב-:||4, פרט לאוספים 66|טבס6ו!|ה, פוחזסחו|ה ו-₪600715!|. קבוצת עשרת האוספים (ראה תרשים 7.5) מתחלקת באופן טבעי לשתי קבוצות בנות חמישה אוספים כל אחת. האוספים פחזס=!||ה, 5זוסק6ח!||ה, 5סז6פווה פרק 7: מודולי מחלקה, טופס ודוח | 357 (-460055780065ז3כ|! | הס חבריס באובייקטיס | 07760706 | ו-70[666ק6006 באובייקט ה6800!ק4 של 266055. האוספים 65!מ74|, | 006065ו|, | פשסועווה, 5 ו-30856018078705זהכ!! | הס חבריס באובייקטים %08%8ח6זז6 (-60062808 באובייקט חסטפסו|כק של 466655. כשאתה מציין אובייקטיס מסוג באוסף כלשהו מתוך עשרת האוספים, עליך להגדיר הפניה שמצביעה על האובייקט הקודס הנכון. אס לא תקפיד לעשות זאת, תקבל שגיאה. פא 00100100 ו ציייי ₪ זס 10818ח6זזו6 זז 00ז0ס4/151 תרשים 7.5: עשרת האוספים || והקרבה ההיררכית ביניהם לבין האובייקטים 0-ו .8%8-| סוג הקוב של 260655 מעניק ומינות מוגבלת לאוספים 6765ט0!ןת, | פאוסועו|ה, 5 500!!ה ו-805ז8560180פא8אהכ!1ה. כזכור, פרויקט של 60655 יכול להופיע בקובץ המקובל בתבנית סשוח.*, או בתבנית החדשה של 2000 60655, ק80.* (פרק 4 מציג פרטיס בסיסייס של קוב 800.*, ופרק 12 עוסק בכך בהרתבה). האוסף טסו זמין בקבצי 00ח.*, אך לא בקבצי סַחַ4.*. לעומת זאת, באפשרותך לטפל באוספיס 1645/]], 0706600765 60ז5%0!| ו-85ז30ו6303560הכ!|א מתוך קבציס מסוג ק8.*, אך לא מקבציס מסוג 00חח.*. היישומים יכוליס עדיין להפנות לתצוגות ושגרות מאוחסנות בקבציס מסוג 00ח.* באמצעות ספריית האובייקט אססם. 8 הח 2000 466655 / הערה: ייתכן שתהית מדוע 2000 460655 מאפשר לטפל באוספים 65ו/ |-5ז0ו660סזק מתוך קבצים מסוג 00*, אך אינו מאפשר טיפול באוספים פאסושו| ו-5%07607706600765!|ה בקבצים מסוג 00ח.*. שני האוספים האחרונים לא נחשפו לקבצים מסוג 00ח.* עקב הצורך למלא דרישות שקדימותן גבוהה יותר. טיפול באוספים 1/6066 |-06600765ז600זס56!| בקבצים אלה יהיה אפשרי במהדורה עתידית של 460655, או בעדכון מהדורתו הנוכחית. מספור חברי האוסף !41 שלוש השגרות שלפניך מפגינות רמת דמיון גבוהה בתכנות אוספיס שוניס מהסוג ||א. השיגרה הראשונה מבצעת מספור פשוט של כל המודולים בפרויקט הנוכחי. שים לב כי היא מצהירה תחילה על 1[פס בתור סוג 6665500[64%, מכיון שהיא מקבלת את זהות האלמנטים שבאוסף 65!טוססו|ג, שכולל אובייקטיס מהסוג 46665509[6₪. שים לב גס שלולאת המספור עוברת על האוסף 65!טססוו|ג, אך הקוד מגיע לאוסף זה באמצעות האובייקטיס חסספסו|קס4 ו-0[6זק+ח6זט6. ()8%64||]1000165ו6רחטח= פט5 6% 8 1[סס חחוס 5 תס ט. הסו63ו!קקה ח1 1[סס ה86ם זס= 40 ₪ ה דט 8 6קץד.1[סס 8 3 דפע 8 סוחהּא. 1[סס לחוזק. פטטסס 1 6% סט5 0חם ( )5רחזס- ]686 רהטח= פט5 6% 8 1[סס חחוס 5חזס=]|.0[66%זק הש ט6. הסוס3סו!קקה ח1 1[סס הס8ם זס= 40 ₪ ב דפט 8 6קץד.1[סס 8 35 דטט 8 סוחהּא. 1[סס לחוזק. פטטסס 1 6% סט5 0חם ()30165 ד||64ז8 סרח טח= פט5 6% 8 1ןסס חחוס 5 ד | 28%8ח6זזט6. הסוסהסו!קקה ח1 1[טס ה₪86 זס= 40 ₪ ה דפט 8 6כץד.1[סס 8 35 דפע 8 סוחהּא. 1[סס לחוזק. פטטסס 1 %;א6א סט 0ח= מבנה השגרות פוחזסת]||8%64ז6והטחם ו-30!65 דו|664זסהטחם דומה לזה של השיגרה 5ופטטטטטטטחם. יחד עס זאת, עליך לשיס לב להבדליס משמעותיים אחדים בין תוכן השגרות. ראשית, האוסף הספציפי ‏ 26065500[66 משתנה מ-65|!גוססווו|ג ל-פוחזס=!| בשיגרה אחת ול-65!סד!| בשיגרה האחרת. שנית, הנתיב אל האוסף פרק 7: מודולי מחלקה, טופס ודוח ‏ 359 65| עובר דרך האובייקט 08%8+ח6זזט6, ולא דרך האובייקט 0[6%זק6ח6זוט6. לו היה עלינו להחליף את האוסף 4|!13!65 ל-5או16/|| או ל-600706600765זסט5!|ה, הקוד היה מסוגל לפעול גס בקובצ מסוג מְ40.*, אך לא בקובצ מסוג ט0חח.*. התאמה לסוגי הקבצים ט6וח.* ו-כְ(ָבּ.* המאפיין 6קץ 6600[סוק של האובייקט %0916ח6זזט6 מאפשר לגלות את סוג הקובצ בו מטפלים, 05ח.* או מְ80.*. הדבר מאפשר כתיבת שגרות בודדות שמתאימות לסביבה בה הן אמורות לפעול. הדוגמה שלפניך מציגה את שמן של כל התצוגות והשגרות המאוחסנות בקובץ ס80.*, אך במקרה הצורך היא עוברת להצגת כל השאילתות שבקובץ 00ח.*. כפי שניתן לראות, התחבולה היחידה הדרושה כאן היא לבדוק את ערך המאפיין 06ץ6007[סזק. | המאפיין 6קץד של 6665500[605 מאפשר להבדיל אובייקטיס של תצוגות שערך הסוג שלהס 7, מאובייקטיס שמצביעים אל שגרות מאוחסנות, שערך הסוג שלהן הוא 9. ()160/52/]| 86 זסוהטח= 5 25 0051 6665500[660/ 5 1[סס וחוס 8 סוס ה6ו!קק = 0051 56% חס ד 3602 = 6מץ 6607[סזק.66[סזק+ה6זט6. הסספסווססה זז 5וסו/!|ה. 0051 ח1 1[טס ה86= זס= 0 ₪ סב דט 8 6קץד.1[סס 8 פב דטע 8 6וחה. 1[סס %חוזק. פטוססס 1 >אס)] 5 5%0!!ה. 0051 ח1 1[פס ה86= זס= 0 ₪ ב דע 8 6קץד.1[סס 8 30 דטע 8 6וחה. 1[סס %חוזק. פטוססס 1 >אס)] 6 051.5 ח1 1[טס ה86= זס= 0 ₪ ב דע 8 6קץד.1[סס 8 פב דטע 8 סוחב. 1[סס %חוזק. פטוססס 1 >אס)] + 0חם סט 0ח= 5וחז"וס-]!! ו-65!טססווו|ה הדוגמה הבאה מנצלת את האוספים ||4 והאוספיס המתאימים של מודולים וטפסיס פתוחים כדי לפתח רשימה של כל המודולים (לפי סוג) ומודולי המחלקה של טפסיס בפרויקט. הואיל ומאפיין הציוו של מודולי מחלקה סטנדרטיים שונה מזה של מודולי מחלקה של טפסים, הקוד מחייב בדיקה של ביטויים שוניס של מודולי מחלקה סטנדרטייס לעומת מודולי מחלקה של טפסים. 0 הפ 2000 406655 כזכור, למודוליס יש מאפיין 6ץד, אך לטפסים יש מאפיין 6חְסוִַפּה. על הקוד לעבור במחזוריות על חברי האוספים 65!ט6ס!!!!8 ו-פוחזס=!|ה, מכיוו שחלק מהמודולים והטפסים, או אפילו כולס, עלוליס להיות סגוריס. בודקיס את המצב 15108060 של האובייקטיס 46065500[60% ב-0|65סו!|8 וב-פוחזס=!| כדי לקבוע אם יש צורך לפתוח מודול או קובצ טרס הערכת סוג המודול שלו, או כדי לקבוע אס לטופס יש מודול מחלקה. השיגרה סוגרת מחדש טפסים ומודולים לאחר שבדקה אותס. ()05חז6|3551-0 וח /6קץ דץ₪ 65!טססון|בש115 פט5 5 0051 6665500[660/ 5 1[סס וחוס החזזס=] 5 11 ,100016 245 01סח וחוס 6 הסוס ה6ו!קקה = 0051 56% .ח60|!660 1060!65]|ה חן 00[6665 46665500[66% חשקס זסז ח56876 ' .ח06 0% 376 08% 10056 861056 0ח8 הסמ ' 5 חן 0011 ה₪86 זס= החד סט ד = 11.15108060[סס +1 סוחּ).1[פס 6011000!6כץ 5 | 6 36 1[סס 6|ט0ס1חסקס. חס סוחּ). 1[פס 000!6סו601כץ 5 | 6וחהּ). 1[סס ,361000!6 056ו0.6ח6סס + 0חם 1 6% .ח60!!6600 פוחזס=|| חן 00[6605 46665500[66% חסקס זסז ה66876 ' .ח6כ0 0% 376 08% %0056 661056 0ח8 הסמ ' 5זסת!|ה. 0051 ח1 1[טס ה₪86 זס= ח6ח ד 08060 1.151[טס +1 36 . 1[פס 0!6סו6 עה הו זס-65סס 6 6וחהּ. 1[סס וחזוס?ה6כס. 0וח6סס 36 . 1[פס 6!ט0סט6 עה הו זס-5טסס 6 1[פס ,וחזס-36 01056 60סס + 0חם 1 6% סט 0ח= פרק 7: מודולי מחלקה, טופס ודוח ‏ 361 (6 רה חס )6!טו0סוז601קץ 150 1 5 509 45 6סץד50 הזוס .6ט]ה/ 06ץד 000|6ח 66006 ' החד 0 = 6סץד. (6 8 0סח)65!טסו + "000|6 5000870" = 6קץד50 56 "100|6] 01855" = 6סץ 507 + 0חם .6 30 6החבּח 6!טססו זחוזק ' 56 8 0ב דפע 8 6ההּ. (6 ה ססר )65!טססו שחוזק. פטססס סט 0ח= (6 ה )6 ]סה הו זס-65סכ טט5 .6 3 פח שו ]ו 6חהּח החזס? להוזכן שץוחס ' החד שגד = 85100016 . (6 רה תו )רחס +1 "6|ט0ס] 61355 החזס-]" ,8 30 דסע .8 6והההוחז? +חוזק. פטטטס + 0חם סט 0ח= עריכת מודולים באמצעות קוד מאחר שניתן לבצע משימות רבות מאוד באמצעות מודוליס סטנדרטיים, מודולי מחלקה עצמאיים ומודולי מחלקה של טפסים, סביר שהיישומים שתיצור יכילו מודוליס רביס מסוגים אלה. בבוא הזמן יהיה צורך לתחזק אותס. מטלת תחזוקה שכיחה היא הדרישה להוסיף או למחוק שורת קוד אחת או יותר בקבוצת מודולים. סעיף וה מתאר כיצד להוסיף ולמחוק שורה בכל מודולי המחלקה הסטנדרטיים והעצמאיים ולאחר מכן מסביר כיצד עושים ואת במודולי מחלקת טופס. הקוד של מודולי מחלקה סטנדרטיים ועצמאייס מאוחסן בצורה שונה מזו של הקוד של מודולי מחלקת טופס, ולכן יש הבדלים מסוימיס בין התהליכיס. גישות עריכה האובייקט 6|טססו כולל מערך שיטות ומאפיינים שיכולים לסייע בעריכת מודולים באמצעות קוד. הדוגמאות בסעיף זה מבוססות על השיטות 65חו5671ח1, 6חו ו- 5 |6|606ש. שיטות אלו מטפלות במודוליס סטנדרטיים ובמודולי מחלקה, כולל מודולי מחלקה עצמאיים וגס מודולי מחלקת דוח וטופס. שיטות אלו מהוות קבוצת משנה של שיטות ומאפייניס שתומכות בניהול תוכן מודול באמצעות קוד. השיטה 65ח1 10567 יחד עס האובייקט 6וטססו! משמשים להוספת שורה אחת או יותר במודול. מספור שורות המודול מתתיל ב-1 ומגיע עד לערך שמכיל המאפיין 5 הטוס של המודול. השיטה קולטת את מספר השורה וארגומנט מחרוזת. אס 2 הח 2000 406655 עליך להוסיף שורות רבות למודול, הוסף את הקבועים +!ז6פט לביטוי המחרוזת שמייצג את ארגומנט המחרוזת של השיטה. כשמוסיפים שורות באמצעות שיטה זו, היא עוברת לשורות הבאות במודול. השיטה 0 מחפשת מחרוזת טקסט במודול. היא מחזירה ערך 6טזד כשהיא מוצאת את הטקסט המבוקש, או 98/56 במקרה שלא. אם ידוע לך בדיוק היכן נמצא קטע טקסט מסוים, באפשרותך להגדיר עמודה ושורת פתיחה, ועמודה ושורת סיום. אס אינך יודע את מיקומו של קטע הטקסט במודול, השאר את הארגומנטים של מיקוס הטקסט ריקים, והפונקציה תחזיר את ערכי הטקסט שאתה מחפש במודול. באפשרותך גס להקצות חיפוש לפי תבנית וחיפוש תלוי רישיות. השיטה 65חו ]6/6106 מסירה שורת טקסט אחת או יותר ממודול. השיטה קולטת שני ארגומנטיס: שורת פתיחה ומספר כולל של שורות המיועדות להסרה מהמודול. באפשרותך לנצל את השיטה 8חו= כדי לחפש טקסט במודול. אס תעשה זאת, תוכל לבסס את הבקשה של השיטה 65ח6/60611 על ערך ההחזרה של השיטה 6חו=. הוספת טקסט למודולים השגרות שלפניך משלבות את האוספיס 81!00065 ו-65|ט0סו כדי לערוך את הטקסט באוסף של מודולים. ליתר דיוק, הן מוסיפות שורת הערה בתחילת כל מודול כדי להכריז | עליו| שהוא מודול סטנדרטי ‏ או מודול | מחלקה. השיגרה 6||]!100!65%01056%ז8זסוחטחם עוברת בלולאה על חברי האוסף 65וטססאווה וקוראת לשיגרה האחרת, שמעדכנת בפועל את מודולי היעד. השיגרה 000!65ו00ח561ח1 דורשת מודול פתוח, ולכן השיגרה הראשונה פותחת את המודול אס אינו פתוח עדיין. לאחר שהשיגרה השנייה מחזירה את השליטה לשיגרה הראשונה, היא סוגרת את המודול כדי להחזירו למצבו המקורי. ()0!65%017561%ס1]|| הסה זט רהטח= סט5 6% 8 1ןסס הזוס .5 הסוח 65!טוססו!|ה הפטסזוף קססן' ;65| +ז6פחו 60 500 ||63 ,ח6קס 15 6|טוסוח ץז ' .5 6|056 חש 1175 00|6סח ה6קס 656 ' 5 תס ט0. הסוס3סו!קקה ח1 1[סס ה86ם זס= הסח ד שטד = 1.15108060[סס +1 6ח3. 1[טס 011000!65ס%ח1ו56הך 6 6 0011 6|ט0ס1ח6קס. חספ 6וח3. 1[כס 65!ט100]ס%ח561ח1 5 ,00[1.4306 ,3011000!6 0056. 0ח6סס + ₪0 1 6% סט5 0חם פרק 7: מודולי מחלקה, טופס ודוח 363 (6 חס )00!65 %0ח105671 ספ 6 5 01ס ,8חו50 5 6סץד50 חחזוס (806 0000 )₪1000!65] = 001 56% ז56חו %0 8חו7ל5 הסוחצו 6חו7ח06%67 %0 26 6|טוסוח 066666 ד חסחד 0 = 06ץד.01סח +[ "6|ט00 50000870" = 6סץד50 6 "6|ט100! 01855" = 6סץד50 + 0חם 6 ,1 65חו %ז56ח1. 01סוח 8 וחזס = 001 56% 50 6ח= השיגרה 65!ט50100ח5661ח1 קולטת ארגומנט יחיד - שס המודול אותו יש לערוך. השיגרה אינה מבצעת מעבר מחזורי כלשהו, מכיון שהשיגרה הראשונה קוראת לה פעס אחת לכל חבר באוסף 65!טססוא||ה. השיגרה פותחת בהגדרת הפניה אל המודול ששמו הועבר בצורת ארגומנט. לאחר מכן היא קובעת את סוג המודול שאליו ההפניה מפנה ומכניסה ערך משתנה מחרוזת להערה שמציינת את שס סוג המודול. לאחר שנקבע הטקסט שיש להוסיף, השיגרה מפעילה את השיטה 865ח567611ח1 על המודול שאליו הוגדרה ההפניה. מחיקת טקסט ממודולים שתי השגרות שלפניך מוחקות שורה מתוך שיגרה. לאמיתו של דבר, הן מסירות את השורה שהוספה באמצעות זוג השגרות הקודמות. עיצוב שתי השגרות הבאות גמיש דיו, ולכן באפשרותך להרחיבן בקלות כך שיכילו מחיקה של שורות נבחרות רבות מתוך קבוצת מודולים כלשהי. השגרות מבוססות על לוגיקה כללית זהה לזו של זוג השגרות הקודס בהבדל עיקרי אחד: זוג זה מנצל את השיטות 0ח₪ ו-₪6/606 כדי להסיר טקסט במקוס השיטה 5 [56ח1. לשיטה ₪06 חשיבות קריטית כשמתכוננים להפעיל את השיטה 65 |6!60כ, מכיוןו שהיא מאפשרת לקוד לקבוע את מציאותו של טקסט כלשהו במודול בטרס תמחק אותו. במקרה שלפנינו, השיטה 6חו= מחפשת את המללה 6!טססוו ברצף 40 התוויס הראשוניס בשורה הראשונה. השיגרה 100165 וחסז6!6000ש מפעילה את השיטה 65ח1 ]26/66 כדי למחוק שורה אחת החל מהשורה הראשונה של המודול. השיטה 85חו]₪6!606 מסירה שורות בצורה בלתי מותנית. יחד עם זאת, ניתן להפעיל בצורה ידנית את הפונקציה 06/66 ס0ח/ כדי לשחזר טקסט שהוסר. 4 הח 2000 406655 ()616%6 001650 ]| |86וסרהטח= פט5 6% 5 005 ,6665500[660/ 5 1[סס וחוס החזס=] 5 1ח? ,100016 25 01סח וחוס .5 הסוח 65!טססוז!|ה הפטסזו) קססן' ;6חו| 06!606 %0 500 ||68 ,חסכס 15 6|טטסוח זז ' .5 6|056 השח 115% 000|6סרח ה6קס 656 ' 5 תס ט. הסו63ו!קקה ח1 1[פס ה86ם זס= החד שט ד = 11.15108060[סס +1 6וחה. 1[טס 0!65ס]ו סזז6|6%6כ 56 36 1[סס 6|ט0ס1ח6קס. חס 6וחה. 1[ס 0!65ס]ו סזז6%6|כ 6וחהּ). 1[סס ,36100016 6|056. 0ח6סס + 0חם 1 6% 50 0ח= ( 36 00 )00165 ות 6166670 5 6 25 01ס חחוס (0000086 )100165 = 001 56% . "10006" ה|%8ה60 6860675 40 56זו ]ו 6חו! 5%זו 061616 ד חסחד שטזד = (40 ,1 ,1 ,1 ,"סוטססוז")סחו=. 1 סח זז 1 ,1 65חו [6!6%6כ. 01סוח + 0חם פחוהססא = 001 56% טפ 0ח= הוספת טקסט למודולי מחלקת טופס שתי השגרות שלפניך מוסיפות שורה בתחילת כל מודול מחלקת טופס, ובה הערה כי מדובר במודול מחלקה. במקוס לעבור בלולאה על כל האוסף 66וטססואו|ה, השיגרה הראשונה עוברת על האוסף פחחסס!ו|. לכל חבר באוסף, היא קוראת לשיגרה 0-5 שיגרה שנייה זו מעריכה אס שס הטופס שהועבר הוא מודול מחלקה. אס הוא אכן כוה, השיגרה מגדירה הפניה למודול שברקע הטופס. על ידי כך היא חושפת את המודול. השיגרה מסתיימת בהוספת שורת ההערה למודול והגדרת הפניה אל פחוחשסו כדי לשחרר את המשאביסם. פרק 7: מודולי מחלקה, טופס ודוח | 365 ()010561 5 זס=|| הס והטחם 5 6% 8 1[סס הזוס ;5 שרח פוזס=|!ג הפַטסזח+ קססין ' ,6חו! +ז56ח! סל 6|ט0סח 6אסטחו 108060 15 החזסץ זו .5 6!056 ה6ץ |0ח3 115% 0+ ה6קס 656 ' 5זס=]|.0[66%ק הש ט6. הסוסהסו!קקה ח1 1[סס הס8ם זס= חס ד 15108060 1[טס +1 36 0[1ס פס %0ח56701חך 6 6וחהּ. 1[פס וזוס?הסכס. 0וה6סס 36 0[1ס פוזס-%0ח56701חך 65, (,סחחה). 00[1 ,וחזס-36 60.01056סס + 50 1 6% סט5 0חם (6 רה הרת )פרחוס-567610%01ח1 5 59 45 6קץ 507 ,6!טסס!] ₪5 01סח הזוס .006 06 ס6חו 6חו| +56חו 806 ז! 0+ 67676006 56% ,0!6סרח ₪85 וחזסת זך ' .006 הסח 76500706 67070066 06זה ' החד שטד = 85100016 . (6 רה תו )פס +1 6 סו . (6 רה חרתז1)פרזס-] = 01סוח 56% "6|ט100!] 01855 וחזס-" = 6סץ507 6 ,1 65חו 567ח1. 01סרח 8חותזס = 001 56% + 0חם סט 0ח= מחיקת טקסט ממודולי מחלקת טופס שתי השגרות שלפניך מסירות את שורת ההערה 110006 01855 מהשורה הראשונה של המודוליס שברקע הטפסים. כפי שניתן להבתין, זוג השגרות מאמ) את התנהגותס של מרכיבים קריטיים מזוג השגרות הקודם בנוגע להוספה ומחיקה של שורות. זוג השגרות עובר בצורה מחזורית על האוסף פחזס=!|א, כמו זוג השגרות שהוסיף את שורת ההערה בתחילת כל מודולי מחלקת הטופס של הפרויקט. יחד עס ואת, השיגרה השנייה בזוג גה מנצלת את השיטות 6חו₪ ו-65ח] |6!606 כדי להסיר את השורה הראשונה במודול, אס המילה 00016 מופיעה בתחוס 40 התוויס הראשוניס בשורה. בכך היא דומה לשיגרה שמוחקת שורות מהאוסף 65!ט0סוו. 6 הח 2000 406655 ()6!6%6 סרח ס-]| | 86 ור טח= פט5 6% 8 1[סס הזוס ;5 שרח פוחזס=|!ג הפַטסזח+ קססי | ' ,| 60/6 0 6|ו00סח 6אסטחו 3060ס! 15 וחזסז זו ' .5 60565 ה6ץ |0ח3 115% ה'זס+ ה6קס 656 ' 5זס=]|.0[66% קחש ט6. הסוסהסו!קקה ח1 1[סס חס8ם זס= חח ד 15108060 1[טס +1 6וחה. 0[1ס פוזס-] וח0ז6|6%60כ 6 6וח8. 1[סס וזוס?ה6כס. 0וה6סס 6וחה. 0[1ס פוזס-] וח0ז6!6%60כ 65, (,סחחה). 0[1ס ,וחזס-36 60.01056סס + ₪0 1 6% סט 0ח= (6 ה חרז )רת ס=] וח 6166610 5 59 45 6קץ 507 ,6!טססו!] ₪5 01ס חזוס 6חו] 115% ]0 %5ח600%6 660% ח6ח* ,0!6סרח 85 החזס+ זך ' חק 15 6 ]| 6חו| 5%זו1 6 061666 סחה ,"ס|טססא" זסז ' .06 הסחעש 6500766 61676066 6|!טוססו 6סזה ד החד שטד = 85100016 . (6 רה חר )רחס +1 6 (6 רה חותז1)פרחזס-] = 001 56% חסחד שטזד = (40 ,1 ,1 ,1 ,"6וטססוז")0חו=. 1 סח +1 1 ,1 65חו ]6!6%6כ. 01סוח + ₪0 8ותזס = 001 56% + 0חם סט5 0חם פרק 7: מודולי מחלקה, טופס ודוח | 367 8 אובייקטי 6) 50סתסון/ כמרכיב של 2000 01006 670506ו1, חולָק 2000 66655( 670506% מבחר אובייקטים עס שאר יישומי 07666. אובייקטים אלה מאפשריס ביצוע משימות כמו חיפוש קבציס, טיפול בתכונת העזרה %ח85515/8 01606, עריכת שינוייס בתפריטיס ובסרגלי הכליס הסטנדרטיים, ופיתוח של תפריטים וסרגלי כלים מותאמים אישית. נוסף לכך, הבקיאות שתפתח בתכנות האובייקטיס הללו ב-866655 תשמש אותך גס ביישומי 6 האחרים - |66א₪ 6050%ווא, סזס/ 050%ז6וו!, ואפילו 6ַ3ק6חסז= 50%סזסווא. רוב האובייקטיס פועליס בכל יישומי 00666. פרק זה פותח בסקירה כללית על האובייקטיס של 0/666, ולאחר מכן מתמקד בשלושה אובייקטיסם: ח6ז6568!ו=, המשמש לניהול תוכניתי של חיפושי קבצים; 0%ח₪55159%8, המספק ממשק תוכניתי לתכונה 255150906 0866 במסגרת 06666; וכן 00875ח וח 60, המשמש ליצירת תפריטים וסרגלי כליס מותאמים אישית. שימוש באובייקטים המשותפים של 66ו/01 האובייקטיסם המשותפים של 01606, המופיעיס בטבלה שבעמוד הבא, תומכים במספר תחומי פונקציונליות חשובים. חלק ממבני האובייקטים הללו אינס ומיניס בכל רכיבי 6. הטבלה מתארת את המבנים, מציינת אס וזמינותס מוגבלת לרכיבי 07866 מסוימים, ומפנה למידע נוסף אודותיהס בספר זּה. לקבלת עזרה מקוונת וכדי לעבוד עס אובייקטיס אלה, פנה ל-ץזפזטו] 00166 9 01666 670506ווא. תוכל לעשות זאת באמצעות תפריט פוססד (כלים) בעורך 8856 |פטפוצ (85/), או באופן תוכניתי (כפי שיודגס בהמשך פרק זה). פרק 8: אובייקטים ב- 06866 60506 | 369 אובייקטים משותפים ב-018106 האובייקט תיאור הערות ח656876!ו= 600 | 3 5 סקז הסוהטססס סק ]ודו 1200 השתמש באובייקט זה ובאוספים שלו ליצירת סרגלי כלים, שורת התפריטים ותפריטי קיצור, או להכנסת שינויים בפריטים אלה. באפשרותך להוסיף שינויים בזמן-עיצוב באופן ידני או באמצעות קוד ב8/. שינויים בזמן-ריצה אפשריים בעזרת קוד 8/ בלבד. השתמש באובייקט זה לתמיכה בדרישות עזרה מותאמות אישית עבור +ח551509 07866 והבלון של 551080%/ 0760). השתמש באובייקט זה לייצוג הפונקציונליות של תיבת הדו-שיח זהו ייצוג של תוספת 60 ב-66655// וביישומי מארח אחרים ב-07066. אובייקט זה מאפשר החזרה תוכניתית של מידע אודות התקנת שפות, ממשק המשתמש והגדרות העזרה. השתמש באובייקט זה לטיפול תוכניתי באשף התשובות. אובייקט זה מייצג מאפיין מוכלל או מותאם אישית של מסמך 068666. לבחירתך עד 28 מאפיינים מוכללים, הכוללים תכונות מסמך כמו כותרת, מחבר, הערות, תאריך הדפסה אחרונה, שעת שמירה אחרונה וזמן עריכה כולל. אובייקט זה תומך גם בתכונות מסמך מותאמות אישית. אובייקט זה הוא פרויקט ברמה העליונה בעורך ה-+560 של %). השתמש באוסף הח6ל6[סזק | ד למעקב אחר מסמכי ]1 במסגרת פרויקט. 66655 2000 8 ראה דיון נוסף ודוגמאות בהמשך פרק זה. ראה דיון נוסף ודוגמאות בהמשך פרק זה. ראה דיון נוסף ודוגמאות בהמשך פרק זה. עיין במדריך 0766 +ספסזסוו! 6 פ5'זסוחהזסָסזק 2000. מנהל מעקב אחר נתוני זיהוי מקומיים בפריסה בינלאומית של 07600. כולל מאפיינים ושיטות לטיפול בקבצים שמחזיר אשף התשובות. מיועד למסמכי 6זסשו, לחוברות עבודה ב-|66א= ולמצגות ב-50%סקזסו!! %חוסקזוסאוסק בלבד. מיועד למסמכי 6זסשו, לחוברות עבודה ב-|066א= ולמצגות ב-50%סקזסו!! %+חוסקזוסאוסק בלבד. האובייקט תיאור הערות אובייקט זה מייצג בלוק של 560% | מיועד למסמכי סזסוו, בעורך ה-50706. לחוברות עבודה ב-|066א5 ולמצגות ב-508סז6ו1] +חוסק סק בלבד. +חס-300ז6\ | אובייקט זה מייצג את גופן ברירת מיועד למסמכי סזס/ו, המחדל בעת שמירת מסמך כדף לחוברות עבודה ב-|066א5 60 ). ולמצגות ב-508סז6ו1] +חוסק סק בלבד. מאפייני ספבּטַבּזבּ0 66655 שלא כמו ב-06), |66א₪ |-חוסקז6/וסק, חסר ב-866655 האובייקט המשותף ץאסמסזק+הסוחט6סכ, אולם הוא מעמיד לרשותך מידע דומה בעזרת שלושה אובייקטים של %חסוחטססכ: 508ש15, סזח1ץזהוחוחט5 |-60ח567268. אובייקטים אלה זמינים אך ורק באמצעות ז8ח09ח60 8080856 של 00[6065 60655 8% (סמכ). האובייקט סזחזץזהוהוחו5 מכיל את כל המאפיינים המופיעים בכרטיסיה תקציר (עְזּוחט5) שבתיבת הדו-שיח מאפייני מסד נתונים (865ז6קסזק 6פהּסַהַּזכ). האובייקט 0 מכיל את כל המאפיינים הכלולים בכרטיסיה התאמה אישית (וסשפט6) באותה תיבת דו-שיח. האובייקט 50508 מכיל את כל המאפיינים המוגדרים באמצעות האפשרות הפעלה (6₪00ז9ז5) שבתפריט כלים (5!|ססד), במסד נתונים. הדוגמה הבאה מונה את אוסף המאפיינים של כל אובייקט ז6חו%9ח60 ספהּסי0 סמפ: ()5ק0זק כ והטח6 פט5 ץ סק 0 5 כ הזכ ₪5 ס0 וס .6 606% 0+ 61676066] 661 ' זז = 00 560 .65055 זס? 0ח6801 זחוזק ' "65וזסקסז 06060 ז50" +חוזק. פטטטס == ======כ = 0 56 .5 080808565 |25672611060 הסטסזח+ 1667806 ' 055.5 08565 !5 חח 0.60 ח1 כ חהס8ם זס= סטןה .כ ,6חחהּז.ק זחוזק. פטטסס )סא .65055 זס? 0ח6801 זחוזק ' %חוזק. פטססס "65וזסקסזק ץורח 5" +חוזק. פטססס "ששששבשבבבב=ב======" 60088.770% פרק 8: אובייקטים ב- 06066 0506ז6א = 371 .5 08680856 10ח1/זה ו וחט5 הפטסזח+ 166856 ' 550.5 08565.0 !5 חח 0.60 ח1 כ חהס8ם זס= סטןה .כ ,6חחהּז.ק זחוזק. פטטסס )סא .65055 זס? 0ח6801 זחוזק ' +חוזק. פטטסס "5סוזזסקסזק 15508" לחוזק. פטססס פפשבבבבבבב-======"20900.77% .5 08000856 15508 הסטסזח+ 167806 ' 5 0655505 .5!081828565ז6 חוה6 00.60 ח1 כן ה86= זס= סטןה .כ ,6חחהּז.ק זחוזק. פטטסס אסא סט5 0חם האובייקט ה656376!- השתמש בתבנית האובייקט ח6ז6568ו= (המוצגת בתרשים 8.1) כדי לשלב חיפושי קבציס ביישומיך. תוכל לחפש בכונניס הקשיחיס של המחשב או בכונניס של מחשבים המקושריס ברשת תקשורת מקומית (אג)). אובייקט ּה חושף את הפונקציונליות של תיבות הדו-שיח פתיחה (ח6ק0) וחיפוש (חחו=). כפי שמתואר בתרשיס 8.1, האובייקט 5 טס והאוסף 6505 זשז6קסזוק תלוייס מבחינה היררכית באובייקט 60ז6568וו=. ה0ז6598-] 8 טס (981 דץ1זסכןסז) 8818 דקדוסטסיזוש הסו+60!!86 0% תרשים 8.1: האובייקט 60ז1!6568= הוא אחד האובייקטים המשותפים של 07666. באפשרותך להגדיר חיפוש קוב בשתי דרכים בסיסיות, וכל גישה מתאימה לאפשרויות שונות בתיבת הדו-שיח פתיחה. > חיפוש לפי קריטריון יחיד (שס קוב> או תבנית, סוג קוב, או נתיב). > חיפוש תוכניתי לפי קריטריוניס מרובים, בעזרת האוסף 65% 5ו6טסזס. 2 הח 2000 466655 בגישה השנייה, תוכל להגדיר ארגומנטים אשר ישמשו קלט לתיבת הדו-שיח פתיחה. השתמש בתיבת דו-שיח ואת כדי לציין, תנאים מרובים לחיפוש, וכן כללים לשָרשור, כגון האופרטוריס 0ח4 או זס. השתמש באובייקט 6וו0₪חטס= כדי למנות את הקבוצה המוחזרת בשתי הגישות. לאובייקט 116568160 שתי שיטות : ח56816שש6 ו-660%6אם. השיטה 6568160 מאפסת את כל מאפייני ח6ז6568!ו= ומחזירה אותס לערכי ברירת המחדל. בנקודה את תוכל לערוך את המאפיינים שנדרשיס בהסם ערכים מיוחדים עבור חיפוש קוב מסוים. אס לא תפעיל את השיטה ה6ז568ו6 בתחילת המפרט לחיפוש, החיפוש החדש יירש את הגדרות המאפייניס של החיפוש הקודס. באפשרותך להפעיל את השיטה 560066 כדי להפעיל בחיפוש קוב לאחר שהגדרת אותו. שיטה ואת מקבלת מספר ארגומנטיס השולטיס בסידור שמות הקובצ באובייקט 65!וסחטס=, ובאפשרות לעדכן, או שלא לעדכן, את אינדקס הקבציסם לפני עריכת חיפוש חדש. ערך ההחזרה בשיטה זאת הוא מספר שמות הקוב התואמים את מפרט החיפוש. ניהול חיפוש קובץ בסיסי רביס ממאפייני האובייקט ח6ז6508!ו= מאפשרים מפרט חיפוש גמיש. הקוד שבדוגמה הפשוטה הבאה מגדיר חיפוש ומאחזר את הקבוצה המוחזרת שלו. הוא יוצר מופע של האובייקט באמצעות המאפיין ח65086!ו₪ של האובייקט חסטפסו|סקא. לאחר מכן הוא מחזיר את כל הגדרות המאפיין ה1!656876-] לערכי ברירת המחדל על ידי הפעלת השיטה ח6ז568צו6)]. בשלב הבא הקוד מקצה את המאפייניםס ח1אסס! ו-שוחהאוסוו, המגדירים היכן לחפש ומה לחפש. מנגנון הבדיקה לחיפוש וה מכיל סדרה של קבצי ח. עס שמות כמו 6080001 ו-2ז6080%0. המאפיין 5ז568767500=0|06 מקבל ערך בוליאני המציין אס יש להגביל את החיפוש לתיקיה הנוכתית, או להרתיב אותו לתיקיות המשנה שבהגדרת המאפיין ח1)סס]. ()65687601!= ס5 .וח *ז0ז8 0 זס? 5001010675 5זן 0ח3 ז10!00 5זהסותט6סכ ץז חו ה6ז668 ' ה656876!ן=. הס 3סו!סקה מטו .56870 6 8 60016 ' 566 /שס]. 8 50870 66% ' "פסחסותט6סכ ץוז:6" = ח1אססון. "00 *ז%0 08" = 6ותבּאסון=. 6 = 00675 508700500. הזו סחם= פרק 8: אובייקטים ב- 06866 60506 | 373 ה656876!ן=. הס 3סו!סקה מטו .ח56870 606 60006א0 ' חסחך 0 < ()660%6אם. + ". השס (6)5!₪ " 8 65.600%!ן 0חטס=. 8 " סזסצו 6זסח ד" אס 150 .65 6חטס? || 01 65חפּח שְוספוס ' %חט0ס65.0!ו חהטס. סד 1 = | זס= (65)1!ו סחטס=. 80% 150 | אסא 6 .0 /58 ,0חט0+ 165 סח זז ' ". 0חטס? 1165 סח 6זסעש 6זוסח ד" אס וו + 0חם הזו סח= סט5 0ח= לאחר שהשיגרה יוצרת מפרט לחיפוש, היא מפעילה את השיטה 560066 עבור האובייקט ח6ז6508!ו₪. לשיטה ואת ערך מוחזר המציין את מספר הקבצים העונים על התנאים שהוגדרו לחיפוש. אס הערך הוא 0, החיפוש לא הניב שמות קובץ תואמים והשיגרה תציג הודעה המציינת כי לא נמצאו קבצים. אם נמצא קובץ תואס אחד, או יותר, לפי התנאים, השיגרה תציג את המאפיין חטס6 של האובייקט 65!וח6חטס= בטרס תציג את השמות ב-6₪!65חטס=, אחד לאחד. מיון הקבוצה המוחזרת דוגמת הקוד הבאה ממיינת את הקבוצה המותזרת של חיפוש לפי גודל קובצ. שני הפרמטריס הראשוניסם לשיטה 66006אם קובעים את תנאי המיון וסדר המיון, בהתאמה. השמות הקבועיס בפרמטר הראשון מצייניס את המשתנה שלפיו יש למיין את שמות הקבצים המותזרים. קבועים אלה הם 6%8₪6|:ץ5050+8, 6מץ ד6וץ+5050ח, 3569001860 1ץ50507+0וח ו-26ו5ץ5050+0וח. הפרמטר השני בשיטה 6 מציין סדר עולה או יורד. דוגמת הקוד מגדירה חיפוש שהמיון בו ייעשה לפי גודל הקובץ, בסדר יורד, להבדיל מהדוגמה הקודמת, שבה הוחזרו התוצאות בסדר עולה, שהוא ברירת המחדל, לפי שמות הקבצים. ()1!65687602= 50 56 5 18חַח5 חזוס וח * 0080 זס? 5ז010!06 50 05 0ח8 ז0!00+ 5זהסותט6סכ ץו חו ה6ז668 ' ה656876!ן=. הססבסו!סקה מטו .56870 6 8 60816 ' 566 /שס)]. 8 56870 66% ' "66חסותט6סכ ץו]:6" = ח[אססן. "00 *ז%0 08" = 6והבּאסון=. 6 = 00675 0 5076050. הזו סח= 4 ח,/ 2000 466655 ה656876!ן=. הסבסו!סקה מטו .6 6! ע ז06זס 0ה0ה06566 חו 65| 6חטס+ השק ד החד 0 < (0הו0ה50501+0706726566וח ,5050105126 )660%6אם. +[ ". השס (6)5!₪ " 8 %ח65.600!ן 0חטס=. 8 " סזסצ 6זסח ד" אס 50 65.0% הטסת. סד 1 = ו זס= .6חהחסו1 השועו ץ0150!3 6ח3 15 חן 526 ₪16 קוח 00 ' (2 א 1024) / ((ו)65!וחטס-ת. )חש |1!6= = 59885 8 30 דסע 8 + ]סע 8 (ו)65!ו סהטס=. א580וו (3 ,(00ח0)60066)5חהט0ס ₪ " :(8) 26ו5סוו-" | אסא 6 .0 /58 ,0חט0+ 165 סח זך ' ". 0חטס? 1165 סח 6זסעט 6זוסח ד" אס וו + 0חם חפו\ סח 50 06ח= תיבת ההודעה המציגה את הקבוצה המוחזרת מראה גס את גודל הקוב ושמו. לקביעת גודלו של קובץ יש להעביר את האובייקט 65!ו₪סחטס= אל הפונקציה ח6 |סוו=. גודלי הקבציס מעוגליס אל אלפית המייב הקרובה ביותר. % הערה: הפונקציה 6חטס₪ היא פונקציה חדשה בגירסה 6 88 של זס) 88516 |8פו חססחסוומָקה. כדי לקבל תוצאות עקביות עם פונקציה זאת, עליך להעביר תחילה את הארגומנט שלה אל הפונקציה 6066. בדוגמה הקודמת נעשה שימוש בתחביר כזה (פנה לפרק 1 לקבלת מידע על הפונקציה 6066). חיפוש המבוסס על תוכן הקובץ גם כאשר מדובר בחיפוש פשוט, כמו בשתי הדוגמאות הקודמות, תוכל לחפש קטע טקסט מוגדר במסמך, או באובייקט עו6ססזק)חסוט6סכ שלו. בדוגמה הבאה מתבצעת פעולה ואת. כאן משתמשים במאפיין שזסקסזקז660ד של האובייקט ה6ז6563!₪ כדי לסמן מחרוזת טקסט מבוקשת בגוף הקוב או באוסף ₪65ז6קסזוק של הקובצ. שים לב, שניתן לציין תיקיות במחשביס מרוחקים בעזרת המוסכמות למתן שמות אחידיס (סאט) (הנתיב פ680233668\ מצביע אל התיקיה 680 בשס השיתוף 6 של מחשב ששמו 3)... פרק 8: אובייקטים ב- 06866 670506א = 375 ()65687603!= 50 6 15 6חם0ח5 ,6סטסכ ₪5 6 050ח5 הזוס זז 5 | הזוס .0 8ַחוחו%9ח60 65| זס? זס)וק 60 60>חו| חס ז10!08 688 חו ה66876 ' ה656876!ן=. הס פסו!סקה מטו .56870 6 8 60016 ' 566 /שס]. 8 50870 66% ' "63023368\" = ח1אססן. 6 = 0|0675ת 0 5070050. 0 8665 *.* .ה56876 טסץ 1165 6 650716000 605100 66 זס+ 8חוח6ז568 הסח/ ' .65 22 8065 05ח6ר 06 סזס/\6כץ 501167 + ,5660005 ' "*,.*" = שוחה אסון]. = ' טס 6קץ ד6וו ספרח = 6קשדפוו=. "6" = שזסקסזק סא ד. הזו סח= ה656876!ן=. הס פסו!סקה מטו .ח56870 06 60006א0 ' שוסא = 5050 חסחך 0 < ()660%6אם. + שוסא = 0ח45ח5 (0ה05ח5 ,05%91%ח5 ,"0)"5 8% שחוזק. פטטטס ". השס (6)5|₪ " 8 %ח65.600!ן 0חטס=. 8 " סזסצו 6זסח ד" אס 50 .65 חס || 07 65חחפּח שְוספוס ' %חט0ס65.0!ו0 חהטס. סד 1 = | זס= (65)1!ן0חהטס=. אס ₪150 1 אסא 6 .0 /58 ,0חטס+ 1165 סח זז ' ". 0חטס? 1165 סח 6זסעש 6זוסח ד" אס וו + 0חם הזו סח= 50 06ח= חיפוש קבצים עלול להימשך זמן רב. תוכל לשפר באורח דרמטי את מהירות הפעולה של השיטה 060066 על ידי ציון מאפיין 11656860 מגביל. לדוגמה, דוגמת הקוד הקודמת מאתרת את כל מסמכי 6זס/ בתיקיה נתונה, אשר מכילים מחרוזת טקסט מסוימת. השימוש בקבוע 66ח6וחט06סכ0זס/6קץ ד6!ו ספוח במאפיין 6מץד6וו₪ מגביל את החיפוש שבדוגמה לקבציס המכיליס מסמכי 6זס)\ בלבד. אל תתפתה לצייןו *.* עבור המאפיין 68806!ו=, מתוך כוונה לסנן את התוצאות המוחזרות, משוס שדבר זה יפגע 6 ח/ 2000 406655 מאוד במהירות הביצוע. בדוגמה הקודמת, המתייחסת לקבצי התיקיה 639 שבמחשב 3, ההבדל במהירות הפעולה הוא 22 שניות כאשר מופעל הקבוע 6ץד6!ו₪ספוח, לעומת 300 שניות להגדרה 6וחִ8ּ6%!|=*.* (שיס לב, שדרושות שלוש שורות בלבד למדידת זמן הפעולה - שורה אחת לפני הפעולה 660%6אם, ושתי שורות נוספות מייד לאחריה). הכללת קריטריוני חיפוש מרובים תבנית החיפוש המתקדם מאפשרת הכללה של קריטריוני חיפוש מרובים לקבוצה המוחזרת באובייקט 65!וח0חטס=. עליך להשתמש בשיטה ₪00 פעמיים, או יותר, כדי לציין קריטריוניס מרוביס עבור האוסף 65655 ז/זו6קסזס. על המפרט של כל קריטריון לכלול הגדרות ל-86 ול-חסטוחס6. |<1ם) -. זט סז ]60ן0 ש' | | |₪ | , | + [- <8165זם: 1 ווה>] | צ | [- חן 15020 זט זט רפוו 8 רו וס 5 = | | > וומטוצמו קב חס חפוזו חס 506רח ווח סרח ד זז הווח 00 50 שחו 50 קב ות !150 ב שמץדפוו 50 שב 548 וזו תס 506 ₪5 5000 ב וזו תס 506 ₪5 1506008 שב 1 וזו 5060 ₪5 ₪581 5000010101 ב ךסוח 506 ₪ 8מץ דו0ז1ח0 5006 ב 0 וזו 5060 ₪5 0 זט 151 50 שב ווח 5060 ₪5 5 90 שב ווה 50 (5 המע דחו 50 קב ווח 50 (5) פַחו60חם ₪50 שב הזח 350 1חפוזו 0 506 ₪5 וז | = 150 קב 358 [הסוזו חס 506 ₪5 "הז חסו5 וזש 50 ב חח 855 |חסוזו 5060 ₪5 פו 851=ז3 507 ב הו דסח ווח 5060 ₪5 [ו091078|0518 507 ב הז ות 010 6 50רח (5 510 |החו-8וו 50 שב ווח 5060 ₪ 5סו מ הו 50-18 ב ₪ ₪ ₪ ₪ סו ₪500 ומח 6 01 זסטחזסו! תרשים 8.2: השתמש בחברים של קבוצת הספירה חסטו0ח5060ח כדי להגדיר תנאים לקריטריונים מתקדמים באוסף 65465 ד)זסקסזק של האובייקט 16568760 השיטה 400 יכולה לכלול גם הגדרת ז6600חח0ס6, וכן הגדרת 6ט!8 אחת, או שתייס. כדי לסקור את האפשרויות הזמינות, עליך להציג את איברי המחלקה 5060001000 (איור 8.2 מראה קטע כזה). ההגדרות ב-ז660חח60 עשויות לקבל ערך אחד, או שניים, שיציינו כיצד לשלב תנאי נתון עס תנאים נוספים. הגדרה ואת מפעילה את פרק 8: אובייקטים ב- 06866 050%ז6א - 377 האופרטוריס 06ח4 או זס המשמשים למיזוג של קריטריון מסוים עם קריטריוני חיפוש נוספיס. השתמש באופרטור זס לטיפול בקריטריוני החיפוש באופן נפרד, ובאופרטור 0חה כדי לשלב את הקריטריון האמור עס קריטריוניס אחריס. 400 הוא ברירת המחדל להגדרת אופרטור. יחדיו, ההגדרות חס0ו0ח60, 6ט|8/ ו-זסז66החס6 מספקות פונקציונליות דומה לזו של תיבת הדו-שיח חיפוש (0חו=). תוכל למנות את חברי האוסף 656 זו6קסזק בעזרת לולאת ח86ם...זס. כל חבר מהווה קריטריון חיפוש ייחודי. המאפיין חא מזהה את הקריטריון בשעת מניית החברים. בדוגמה הבאה, שהיא האחרונה לאובייקט ה6ז6568!ו=, שלושה מקטעים. במקטע הראשון מצויניס הקריטריוניס, לאחר שהוגדרה הפניה לאובייקט ה60ז6568!ו₪. היעד בדוגמה הוא כל קבצי מסד הנתוניס בין שני תאריכים. הדוגמה מציגה את התחביר הנכון להפעלת השיטה 400 עבור האוסף 656 ז/6זס6קסזק. הקריטריון הראשון קובע את סוג מסד הנתונים. הקריטריון השני מציין קבציס שהשינוי האחרון בהם נערך בין 1 בינואר 1996 ל- 30 ביוני 1999. ההגדרה ז0ז066%0ח5000ח מציינת שעל הקבציס לקייס את שני הקריטריוניס בנפרד כדי להיכלל בקבוצה המוחזרת. אין צורך לציין מאפיין הח 60 בקריטריון השני, מאחר שהקריטריון השני יאמץ את ערך ברירת המחדל סז הה5000. לפני הצגת הקבוצה המוחזרת, השיגרה מונה את חברי 5 טסוק במקטע השני שלה. המקטע השלישי מציג את הקבוצה המוחזרת. ()5687004 500 59 5 הפשח ,ה1!656876= 5 15 הזוס זז 5 | הזוס 656870!ן=. הסוהסו!קק = 15 56% ז070!0 5 800 חואסס| 56% ' 5 הו ה6זה 56 /שס). "פזחסותט6סכ ץו:6" = חזאססן. 6 = 0]0675- 568700500 האוצ 0חם= .60005 ץזס6קסזק 01 זו 8 56% ' 5 סק סזק.15 תטו/ = ,"ץד )0 1!65-"= :שוח ₪00 ,680808565 ד6!ו הסוח 5060 = : חסםו חס 50 = :חס ,"0060 35% 1"= :6וחהח ₪00 ,חה66 ץח הסוח 5060 = : חסטו חס "6:="6/30/1999ט]560000/8 ,"1/1/1996"= :סט הז%ו 0חם= 8 הח 2000 406655 .5 ץזסקסזכ שְ3וספוכ ' 55.0 סז ק.5 סד 1 = | זס= (65%5)1 [ץ+זסקסזק. ה656876!ו=. הסוס68ו|ססה חסו " :608 ח56876 606 15 פוחד" = פחוס5ץוח חסט ו 0 ח0ס6. 8 " :15 הסח ו 600 6חך ." 6 שההּח. 8 " :15 6החהּח סחד " 8 חסחד "" <> 6טובּצ. + 6 /. 8 " :15 סט|הט סד ." 8 פחוספץרח = פחוספץוח חסחך "" <> 6ט|00/8ח5660. +1 = 8חו5ץח = פחוח5עוח > " :5 06| 0ח5600 סחך ." 8 > "5] 60066107 %06 0ח3 ," 8 6ט|03ח56600. 8 זה 00 8 + 0חם + 0חם 8חול5ץוח אס 5 חזוש 0ח= | אסא .655 )ז6קסזק וס 56% חזטס6ז עְ8|ספוס ' 5 תסו .ח56870 06 60006א0 ' החד 0 < ()66006אם. 1 ". 0חטסץ+ (6)5!₪ " 8 %חט65.60!ו 0הטסת. 8 " 6זסצו 6זסח ד" אס 150 .65 6חטס? || 01 65חחפּח וקפוס ' + 65.00!ן 0 חטסת. סד 1 = ו זס= (65)1!ו 0 חטס=. אס9 150 | אסא 6 .0 /58 ,0חטס+ 165 סח זז ' ". 0חטס? 11165 סח 6זסעש 6זסח ד" 80% 50וו + 0חם ה)%ו 0חם= 50 06ח= האובייקט %ח45515%3 המסייע של 07666 הוא תוכנית עזרה ידידותית במסגרת 08806. אף שמפתחים ומשתמשים 'כבדים' אולי אינס אוהביס את המסייע, בעיני המשתמש הטיפוסי יש בו יתרונות רביס. קל למדי לתכנת את המסייע, לכן תוכל בנקל להעניק ליישומי 07066 המותאמיס אישית שלך חזות ותחושה דומה לזו של יישומי 08/66 הסטנדרטיים. פרק 8: אובייקטים ב- 06866 60506א | 379 מבנה האובייקט 85515090 מוצג בתרשיס 8.3. ברמה העליונה, עשוי אובייקט 1ח55158 להופיע על המסך עס האובייקט חססו|88, התלוי בו מבחינה היררכית, או בלעדיו. הואיל והמסייע משתמש במיגוון רחב של דמויות והנפשות, הוא עשוי לבדר ולהציג מידע גס ללא הסבריס. אס ברצונך לכלול הסברים, תוכל לתכנת אובייקטיס מסוג חססו|88 כך שיופיעו בצמוד למסייע. בלוניס עשויים לכלול הסברים, או אפילו לשמש כמנגנון פשוט להזנת נתוניס. השתמש באוספים א680%א66ת0חססו!88 ו-|306 |חססו|88 עס לחצני פקודה כדי להפוך את המסייעים לאינטראקטיביים. ה ה0ו60|!66% ו ב 1 תרשים 8.3: השתמש באובייקט +25515/90 להצגה והנפשה של מסייע, ולהצגת בלון מסייעים מסייעים עשוייס להביא תועלת רבה ביישומיס על ידי הצגה חזותית של הפעולות השונות שהיישוס מבצע. תוכל להוסיף נופך ייחודי ליישומיך המותאמיס אישית על ידי שימוש עקבי במסייע מסוים, או על ידי שימוש באוסף של מסייעים שוניס בנסיבות שונות. לדוגמה, השתמש במסייע הגאון (065ח66) להצגת עזרה הקשורה בחישוביס, ולעומת ואת, כאשר מדובר בעזרה בנושאיס הקשורים במערכות מחשבים, השתמש במסייע הנראה כרובוט (1=). צוות הפיתוח שלך יוכל לקבוע לעצמו כללים בדבר הפעלת הנפשה מסוימת לכל פעולה או משימה האורכות מעל שתי שניות. הצגה והנפשה של מסייע תוכל לשלוט בנקל בתצוגה ובהנפשה של מסייע באמצעות שלוש השגרות הקצרות שנציג להלן: ח85515%8001060, 016ן000%/15ח5515%8 ו-ח156876000ח5515%0. | השיגרה ח10!80 מכילה שורה אחת בלבד, המגדירה למאפיין 6|פופו/ (גלוי) של האובייקט 555080 ערך 6טזד. הואיל ו- 106חסטווחההספוח הוא ברירת המחדל לסוג הנפשה (דמות ההנפשה אינה פעילה), השורה המגדירה את המאפיין חסטאוחוחה אינה נחוצה ולכן היא מופיעה בקוד כהערה. נוסף לכך, הנפשה בסיסית ואת היא חלק מספריית הליבה של 266655, לכן תוכל להפעילה ללא הפניה אל הספריה 9 01666 05066ז6ו₪ ץזהזטו | +0[66. תוכל להפעיל גם את השיגרה 1510|6/ז5%0ח45515%8 ללא הפניה לספריית האובייקטיס של 01606. 0 הח 2000 466655 ()ח010|60ח5515%8 סט5 סקס 15 1016 זס חסוזהווחה 66000 ' 506 = הסוזהווח.%ח5%8ו55 - ' 6זך = 1510|6.%ח5515%8 סט 0ח= ()16טו5ו%%ח5515%0/ 5 6 = 150!66/.%ח5515%8/ 50 06ח= ()ח5515%00%5687600 50 6 = 15515%80%./1506/ חס ך 8156=] = 5515%30%./1510!6 +[ 5660 וח 50 = הסהווחה.%חה5515% סט5 0חם כדי להחליף מצב 'לא פעילי של דמות ההנפשה במצב אחר כלשהו, חובה להגדיר במסגרת השיגרה הן את המאפיין חסטפזוח של האובייקט, והן את המאפיין 06ו18/. השיגרה ח25515%80%56876000 גורמת לאובייקט 8555/86 להציג את הנפשת התיפוש. שלא כמו הנפשות רבות אחרות, הנפשת החיפוש תחזור על עצמה עד שתקצה הגדרה חדשה למאפיין הסשהחוחה. נוסף לכך, חובה לכלול בפרויקט הפניה לספריית האובייקטיס של 07666 כדי שהנפשת החיפוש תופיע (ניתן לעשות זאת באופן ידני, באמצעות התפריט 5|ססד (כלים) ב- זסז0ם 28516 |1508/). הפניה אוטומטית לספריית האובייקטים של 070106 אחד החסרונות של השיגרה ח1568600ח85515%8 הוא, שהשיגרה מניחה שיש הפניה לספריית האובייקטיס של 0666. אס אין הפניה כזאת, השיגרה נכשלת ללא כל סימן. המסייע מופיע, אולס הוא מציג הנפשה לא פעילה במקוס הנפשת חיפוש. אחת הדרכיס לפתור בעיה ואת היא לוודא שיש הפניה לספריית האובייקטים של 0₪666, ולהוסיף הפניה אוטומטית במידת הצורך. אס תעשה כך, יוכל היישוס להפעיל בבטחה כל הנפשה, ולמעשה כל מאפיין אחר של אובייקט 06006 משותף. השגרות 15515080156876002/ ו- ₪666760060006106 שלהלן מציגות פתרון זה. 50 /45515%00%568760002)( 0-6 55556600 50 06ח= פרק 8: אובייקטים ב- 06066 0508ז6א | 381 ()₪6167606601/106 5 66 5 601 הזוס 59 5 ץזהזטו 5091 , חה00!63 45 ח6691וחום הזוס 6ח77ז06%6 60 ה60||6600 616760665 01 5זסס רסוח 806 ו6רחטתם ד .6 ץ680ז]ה 15 ץזהזס! | +00[66) 0166 זסח6%חצו ' 6 = 0166918סחום 5 ה[ 601 ה86= זס= חס ך "0766" = 6ַחַַ8ה.6)1 +1 6טזך = ה0106691חוםפ + 0חם 1 )אסא .| 61676006 ,חַהו55וח 5| 61676066 ץזפזטו | +66[ 0 066 זז ' הסח ד 8156 = 16691 0סחום +1 "| ]509.0 16610106 0508ז6ו]65! התהזפסזק:6" = ץזבּזטו 5091 ץזהזס! 5091 16 ו סז- 00 676760065 הס סוסא + 0חם 50 06ח= השיגרה 45515580%568760002/ והה כמעט לחלוטין לשיגרה המקורית להפעלת הנפשת חיפוש. למעשה, היא אכן קוראת לשיגרה ח0ח45515080156870, אולס היא מפעילה תחילה את ₪6167600601106. השיגרה 6606666ה₪6/676 מוודאת שקיימת בפרויקט הנוכחי הפניה לספריית האובייקטים של 06006. היא פותחת במניית כל חברי האוסף 68 כדי לברר אס המאפיין 6וחג באחד מהס הוא 086166. אס כן, השיגרה מגדירה למשתנה בוליאני ערך 6טזד. אס לא, הגדרת המשתנה ח0/8069[8ח!פ נותרת 6, לפי ברירת המחדל. המקטע השני של ₪67607606606066 יוצר הפניה לספריית האובייקטים של 0866 כאשר ערך המשתנה הבוליאני הוא 886=]. לאחר שווידאה שקיימת הפניה לספריית האובייקטים של 0/006, יכולה השיגרה 2ח15687600ח551500/ להפעיל את השיגרה ח45515%8015687600 ולסיייס בכך את הפעלת ההנפשה. הצגת הנפשת חיפוש ניתן להשתמש באובייקט 55158876 להשלמת פעולת האובייקט ה6ז₪1!6508. כבר הוכרנו קודס כי בחלק מהמקרים, חיפוש הוא תהליך העשוי לארוך ומן-מה. במקרה כוה, רצוי להציג רמז כלשהו על המסך, כך שהמתבונן יידע שהיישום אכן עוסק בפעולה כלשחי. הנפשת החיפוש של המסייע מיטיבה לשרת מטרה זאת. השיגרה הבאה מחפשת קבצי 00ח. בכל רחבי כונן 6 ומחוּירה את מניין הקבצים שאיתרה. באמצעות הנפשת חיפוש המוצגת מרגע שמתחיל החיפוש והחזרת ההנפשה הלא-פעילה מייד עם גמר החיפוש, המסייע מראה למשתמש מתי החיפוש בעיצומו ומתי הוא מסתיים. לשס כך נעשה שימוש בשתי קריאות לשגרות - אחת ממש לפני הפעלת השיטה סטספאם, והשנייה מייד לאחר סיומה. הואיל והאובייקטיס ה6ז6508!= 2 הח 2000 406655 ו- +ח25515%9 תלוייס בספריית האובייקטיס של 06666, השיגרה מפעילה בשלב הראשון את השיגרה 0606066ח₪6/676. אס לא קיימת הפניה לספריית האובייקטים של 0066, השיגרה יוצרת אותה. בלא אמצעי זהירות זה, השיגרה תיכשל אס מסיבה כלשהי בוטלה ההפניה לספריית האובייקטיס של 06666. ()1!65687606%= 50 0חופט 6ז06)0 ץזפזט! | +66[ 0 066166 6+ 6167666 ' .00606 45515580%/ 06 זס ח1!656876=] 6+ ז06שו6 ' 0-6 .0ח.* ז0? 5401010615 65| 6חה 6עוז 6 חס ה56876 ' ה76זה656!ו=. הסח בסו|סקה תסו .5680 /6ח 8 +9לס ' זה 56אוס. .1 56870 56% ' ":6" = ח1א100. 6 = 568760500-010675. "ס00וח.*" = שוב )סוו=. הזו/ 0ח= ח76ז6568!ו=. הסח בסו|סקה הטסו .ח56870 6ח% 0066006 ' .5% חס %ה8551508 8ה[ח56876 חזטדך ' ה600 5515035687 החד 0 < ()66006אם. 1 5515060 ". 0חטסץ+ (6)5!₪ " 8 %חט65.60!ו 0 הטסת. ‏ 8 " 6זסצו 6זסח ד" אס 150 56 .0 58 ,0חטס+ 165 סח זך ' ". 0חטס? 11165 סח 6זסעש 6זסח ד" 80 5וו + ₪0 הזו/ 06ח= סט5 0ח= בחירת סוג הנפשה ספריית האובייקטים של 0606 מכילה מעל 30 סוגים שוניס של הנפשות. תרשים 8.4 מציג קבוצת משנה של סוגי הנפשה כפי שהיא נראית דרך ז56שסז8 16₪[פ0 (סורק האובייקטים). | רוב ההנפשות,| כמו | למשל |08ח01ח56חס ווח ספות | ו- 9 חק הס 50 מבצעות מחזור הנפשה אחד וחוזרות למצב לא-פעיל. אחרות, כמו למשל 8ח5687601 וח 50 ו- 8ַהו חח דהסו הווח 0ס5ח, חוזרות על עצמן עד שמופעלת הנפשה אחרת. בזכות 56ח66|!!56ח1, אין צורך לזכור את השמות הקבועיס כדי להפנות להנפשות. פעמיס רבות, עליך רק לבחור בהנפשה הרצויה מתוך רשימה. פרק 8: אובייקטים ב- 06866 60506א | 383 |<]ם] = | 805 0601 שי |% |1₪ |+|4. | <0וז זמ ווה>] | | |- והזוח 0 חו] 8 ו וחב 5ו' 1 סט רפוו בב 4 הס ותה 50 5 | | = |ה0פוו! שב תס אס סו רוחה סרח | ו יס אס והוז ווה ס רת סו רוחה סרח וס |חסוז3 ווח 50 וח מס והוז רוחה סרח וס | סז וח סרח וס סו ווח סרח והוז קת וז רוחה סרח הווחה סרח ו סו וח 50 וח ו ותו וח סרח ו ורס זוז סח 3 רותה 5 רת = החוחז 0 שהוזסז הזוזת סו רוחה סרח סופפּטפָח3ּ 501 קב זזה 150 קב 38 סז 50 שב הז סה 0 5 בו 8 3 סז 50 קב דסא טסוו 50 שב 0 שש מ דה ספ!|08 50 שק הסוזו5 500870 שב זז 150 קב סז 50 קב ץד 50 שב 01306 150]. קם 9 |[ 868 חווט ספ שב (9 831) 25 = [ו08חו 5 הסווהווחת סח 6051 שוחה 150 0700 01 זסמתוסוו! 8 8 8 ₪ 8 ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ תרשים 8.4: החבר 6קץ 80007 הוחב50וח בספריית האובייקטים של 01806 מכיל מעל 30 קבועי הנפשה בחירת דמות למסייע תוכנת 2000 01866 משווקת עם שמונה דמויות שונות למסייע, אולס בהחלט ייתכן שחברת 1167-0506 תצרף דמויות נוספות בעתיד. הצגת הדמות הרצויה של המסייע נעשית על ידי קביעת שם הקובץ המתאים כהגדרת המאפיין 6וחאא6וו במסייע. הטבלה הבאה מציגה את שמות הדמויות השונות של המסייע, לצד שמות הקוב המתאימים. המהדק (אססווס 5 ווססווס לינקס (5אחו | 0-5 רוקי (עאססח) 5 65 ו 0000000000 שגן;! 4 א 2000 06055 תצוגה מקדימה של הנפשות במסייע תרשיס 8.5 מציג טופס שבו מופעלות ההנפשות של המסייעים. ניתן להציג אותה הנפשה בכל מופע, או ליצור הבדליס בין מופע למופע. לדוגמה, קיימות לפחות שלוש גירסאות שונות של הנפשת 'להתראות' עבור הרובוט ששמו 1=. הטופס מציג שבעה סוגי הנפשה עבור כל אחד משלושת המסייעיס. השתמש בטופס לתצוגה מקדימה של הנפשות על ידי בחירה מתוך קבוצת אפשרויות ההנפשה, ולאחר מכן לחיצה על אחד מלחצני הפקודה של המסייעים. ניתוח של הקוד המפעיל את הטופס יראה לך כיצד לשלב הנפשות ולהחליף מסייעים ביישומיך. זס? א חה א6ו]0 השח ד , הסוזהּוהוחה חה אסוק חסוסה הוח --] 6 סוס 6 בוו הַחוח0ז56 ביחוטחווק |וב1! הַחוי58 נו ו 5% 50 הַחוי58 תרשים 8.5: השתמש בטופס זה ליצירת תצוגה מקדימה של הנפשות המסייע. תרשיס 8.6 שלהלן מציג מבחר סוגיס של מסייעים והנפשות שניתן ליצור בתצוגה מקדימה בעזרת הטופס שבתרשים 8.5. בקצה הימני, הרובוט 1" מבצע את הנפשת 'להתראות' על ידי היעלמות בתוך כדור אש. הדמות המהדק טוסטווס) מגלגלת פיסת נייר ומשתמשת בה להצגת הנפשת החיפוש. בהנפשה ישמירה בדיסקטי, דמות הכלב רוקי (506) מציגה לראווה דיסקט ולאחר מכן מניחה אותו לשמירה בתוך כיס בקולר. בהנפשת ההדפסה, הרובוט 1= הופך למדפסת. פרק 8: אובייקטים ב- 07666 050%זסוא | 385 תרשים 8.6: מבחר סוגי הנפשה שמבצעים שלושה מסייעים שונים. הנפשות אלה הופקו בעזרת הטופס המוצג בתרשים 8.5. דוגמת הקוד הבאה מציגה את הקוד שמאחורי הטופס המוצג בתרשיס 8.5. אזור ההצהרה שבראש המודול מכיל את הגדרות זמן-העיצוב של לחצני הפקודה המראיס את סוגי המסייעים, ואת הלחצנים של סוגי ההנפשה השונים בקבוצת האפשרויות. שיס לב ששמות הקבציס המתאימיס למסייעיםס הנראים על פני הלחצניס מאוחסניס במאפיין פד (תג) שלהס. לכל לחצן גס שגרת אירוע פשוטה לאירוע הלחיצה המתאיס לו. לכל אחד מהלחצניס שבקבוצת האפשרויות ערך המציין קבוע 6מץדחסו וח 50 מסוים. השתמש בסורק האובייקטים המוצג בתרשים 8.4 כדי לברר את הערך הנומרי של קבוע נתון (לדוגמה, הערך 25 מייצג את שס הקבוע |ו08ח 055600 וח 50). כאשר הטופס נטען, הוא מגדיר סדרה של מאפיינים כדי להבטיח שהמסייע יהיה מוכן בעת שהמשתמש בוחר בלחצן מתוך קבוצת האפשרויות ולוחץ על אחד מלחצני הפקודה. 6 6086 הסטקס 5 חס 6ח8 וו 60 6ט0-ח6518כ ד 01 ,06 6 , א ססו00ח6 :סחחפּא ,מקחחט.6וסקן|66656ו ץו]5+ה6והטס6סכ ץו:6 :6זטססוק קהחפ.1= זס ,קוחט.ץא6סז זס 6 :6קץד 6זטשסוק 65 0 ,405. 06% זס ,805.זוסק!6 :פד [16ט0660זק +ח6עם] :016% חס -' 5 חסאטט הסק0 6וט-ח0ו65ס ' 1 = 6ט|8/ חסטק0 5'חסאטס 16|6 2 = 8!06/ חסטק0 5'חסאטפ סוו6 3 = 8]06/ ח00ק0 5'חסאטם 000076 3 = 8|06/ חסק0 5'חסאטפ פַחוח6ז568 8 = 6ט|8/ חסטק0 5'חסטטפ פחשחוזק 5 = 6ט|8/ חסק0 5'חסטט !31 פַחוצ58 2 = 6ט]8/ חסק0 5'חסאטס 615% סף 8ַחו/58 ()1080 וחזס= 560 6אהעוזוק 55150% תסו סטזד = חס. 6 = 05חש50. סד = 06ן15/. שו\ סח סט5 0ח= 6 א 2000 06055 ()א6ו61 %וסקו|06ח6 500 6סהעוזק 8 ("זוסקו|06 6" )5!ס טח 6.60 זס% 36 וח סט5 0חם ()66ו61 608066 500 סזהעוזק 9( 05606 ה 6.0 זס% 36 וח סט5 0חם ()א6ו61 670-1 500 6סהעוזק 8( ")05 6.0 660 רוח סט5 0חם (8חוזז5 35 6והּח-)07ל%6/6ה ההוחה ספ 5515000% תסו שוח = 6ותהּאסוןת. = = חסוזהוחג. (" הסוס הרוח 6כס")5!ס זט ה ס6. 6 6טזך = 0!6ו15/. האוצ 0ח= סט5 0חם לחצני הפקודה הס גורס מרכזי בתהליך. כאשר לוחצים על לחצן פקודה, שגרת האירוע מעבירה את ערך התג שלה לשיגרה ז64660ז8וחג. שיגרה ואת משתמשת בארגומנט המועבר שלה להגדרת המאפיין 6וחהּ6!ו של המסייע. לאחר מכן היא מגדירה למאפיין 6|פופו של המסייע ערך שטזד ולמאפיין חסטהוחוחה את ערך קבוצת האפשרויות. ערך קבוצת האפשרויות הוא פונקציה של הלחצן שבחרת. ערך ברירת המחדל של הפקד הוא 1, למקרה שהמשתמש פסח על בחירת הלחצן. בלונים באמצעות בלונים, תוכל להציג טקסט או גרפיקה, או לאסוף משוב מהמשתמש. ניתן להציג בלוניס כתיבת דו-שיח מודאלית, נטולת מודאליות, או נסגרת-אוטומטית. המאפיין ₪006 של הבלון קובע את סוג הבלון. ההגדרה חאו000ז5011006%ח סוגרת את הבלון בעקבות לחיצה שלוחצ המשתמש בכל נקודה במסך. ההגדרה נטולת המודאליות (₪050100611006|655) | והמודאלית (|500061008) | שכיחות יותר. ההגדרה נטולת המודאליות גורמת לבלון להישאר פתוח בשעה שהמשתמש מבצע פעולות מחוצ לגבולותיו. ההגדרה המודאלית כופה תגובה בטרס יוכל המשתמש להמשיך בכל פעולה אחרת. ערך ברירת המחדל למאפיין 1006 הוא |5010061008חח. השתמש במאפיין חססו|3פש6! של האובייקט 455150900 ליצירת אובייקט חססו|8פ. לכל בלון אווריס נפרדיס לכותרת, טקסט, תווית, תיבת סימון ולחצניס. תוכל לאכלס אווריסם אלה בעזרת הגדרות המאפיין המתאימות, או באמצעות אובייקטים היררכייס כמו 65א80א88]!0070066 (-306|5 |חססו|8פ. הקצאת טקסט לתיבות הסימון ולתוויות פרק 8: אובייקטים ב- 06866 6050%א = 387 נעשית באמצעות המאפיין %א6ד שלהן. תוכל לבצע התאמה אישית נוספת בבלון בעזרת המאפיין חסס6] שלו. ישנס שישה סמליס שוניסם לשישה סוגים שוניס של מאפייני הודעה, כמו למשל התראה, שאלה, מידע ועצה. גרפיקה בבלונים השיגרה הבאה מציגה בלון עס כותרת, טקסט וסמל. כמו כן נעשה בה שימוש בלחצן ברירת המחדל (א0%). מחרוזות עס עיצוב מילוט (650806) שנמצאות בטקסט המאפיין 4680109 (כותרת) מציינות את תחילתו (17 |ט4) וסופו ([0 |ו) של טקסט המעוצב בקו-תחתון באזור הכותרת (ניתן להשתמש במחרוזות עס עיצוב מילוט גס לצורך עיצוב טקסט בקו-תחתון באזור הטקסט). הגדרת המאפיין שד כוללת תמונת מפת-סיביות באזור הטקסט. שיס לב שניתן לבצע גלישת טקסט מסביב לתמונה. הגדרת המאפיין חסס1 (סמל) מציינת שהבלון מכיל מידע. לבסוף, השיטה ששסח5 פותחת את המסייע ואת הבלון המקושר אליו. תרשים 8.7 מציג את המסייע והבלון המופיעיס עס הפעלת השיגרה חסס61מַ01א6 דחססון8ם. (010306160000א6 דהסס!|8 50 חסס!| 3 שו6)].%ח5515%3 חסו/ "הסזהּ זא6+ חססו!8 3 חו 6או! 5אסס! 07 171401 |ט4 זהחצו 15 פוחד" = 8חו680ה. 8" )ו 061016 6% 5006 " = )אסד. ₪ " 7""קוחס.1-]600765וק עו 5+ח6ותט6סכ ץוז:6"" מוחט+" ".)| 380 6זסוח חח" 0 50160 = חסס1. צוסח5. הזו/ 0ח= סט 0ח= 1 3 16 הסס!31ם 3 חו 6א!! 5אסם! 1=] ובהאי 15 פוחד ( 3587 פ'זסות חב ן 081078 56% 5008 תרשים 8.7: ניתן להוסיף גרפיקה לבלון, ולהגדיר את מהות התכולה באמצעות הגדרות המאפיין חס16 (כמו למשל הגדרת הסמל 60/ח611! המשמשת בבלון שבתרשים זה). 8 הח 2000 466655 תוויות של בלונים שתי השגרות שלהלן מכינות בלון עס תוויות, אך ללא לחצנים. השיגרה זחטס6סטב3ּ ]56% מעבירה ארגומנט לשיגרה |806 690 16807חססוןהפ. עבור ארגומנטיס חוקייס מ-1 ועד 5, כולל, השיגרה המופעלת מציגה מסייע עס בלון המכיל תוויות כמספר הערך שהועבר לשיגרה. כל תווית מופיעה עס מחרוזת טקסט פשוטה המכריזה על מספר התווית. בעיצוב זה אין צורך בלחצניס, הואיל ולחיצה על אחת התוויות גורמת לסגירת הבלון. השיטה שוסח5 פותחת את הבלון ומעבירה את ערך התווית שהמשתמש לחץ עליה למשתנה | שהוא מסוג ז606זח1. תיבת הודעה מציגה את מספר התווית שהמשתמש לת עליה כדי לסגור את הבלון. (חט306|60 560 ספ 5 (806 |%א6 16807]חססוופם 50 06ח= (ז%606ח1 5 %ח60|ססב 306|)1 אס 680 תססווהפ פט5 קז 30| 6070 זסזזם הס זז 5 | ,הססו|3ם ₪5 01 חחוס 60% |806| 80806 זס 0 זס1 066% ' החד 0 => %חט306|00 | +1 9 ₪8156. זז 1 0חם חסס!||3םאו6].%ח5515% = 21 56% .805] 01 טח 506016160 השועו הסס!|28 68%6ז0 ' 1 רסו "0חו680ח עו 15 פוח ד" = 0חו1680]. ":05חוז 0656 01 6חס 561666" = 6א6ך. | סד 1 = | זס= | 8 " |806 1" = )א6ד.(2615)1 |. | אסא 0566 9 50וח = הסחטם. ששסחפ. = | האוצ 0חם= .0 560% ל |806! הזו 00 ' "2000 66655 60508ו] פהוהחרחה טסוק" , הסטפוזוסזה1פצ ,ו אס 5 :3 | 0 <6וא= פרק 8: אובייקטים ב- 06066 60506 | 389 :קז ד|306 | החד 9 = זססוחטא.זזם + 8 " הבח 655! זס 5 חהּח+ 6זסוח 30615! 01 וסטוחטצ]" אס וו ,הסטפוזס+ח1פצ ,".זסטרטח זסח+סחב3 האוצ ₪60 .1" "2000 266655 1167050 סחוו וחהזטסזק" 6 זססוחטא. זז זחוזק. פטטסס 8 " = זסס טח זסזזם .סז 618660 ההח" אס8 150 ₪ " :חסחקו656כ זסזזם" .8 + הספע 8 זססותטא.זום = ,הסוהוזס?ח1פע , הססק .זו "2000 266655 1167050 סחוו וחהזטסזק" + 0חם 6506 | 306 50 06ח= גילוי ארגומנטיס לא חוקייס למספר התוויות נעשה באמצעות לוגיקה מוכללת ומותאמת אישית ללכידת שגיאות. אס הארגומנט המועבר גדול מ-5, הלולאה 6%%א...זס המקצה ערכי תווית תיכשל בניסיונה להקצות טקסט לתווית השישית. שגיאה ואת (שגיאה מספר 9) נובעת מכך שבלונים יכולים להציג חמש תוויות לכל היותר. ארגומנט בעל ערך אפס או ערך שלילי המועבר לשיגרה לא יחולל שגיאה מסוג זה, אולס העברתו לא תאכלס את הבלון בתוויות. לכן, השיגרה |806 0א6 46807 חססו|8ם לוכדת ערכים אלה בעזרת משפט חסחך...1, ויוצרת שגיאה מותאמת אישית שמספרה 9. המלכודת שמכילה השיגרה לשגיאה ואת מורה למשתמש להצין ערכיס בטווח שבין 5 בלבד. איסוף קלט מהמשתמש בעזרת בלונים האוסף 65א66%00ח6חססו|88 מאפשר הצגה של קבוצת אפשרויות ואיסוף תגובות מהמשתמש. גם כאן הנך מוגבל לחמישה פקדים - במקרה וה הפקדים הס תיבות סימון. שלא כמו פקדי תווית, פקדי תיבת סימון אינם סוגריסם את הבלון עם בחירתם. לכן, אס ציינת בלון עס תיבות סימון, עליך להקצות ערכת לחצניס לסגירת הבלון. שתי השגרות הבאות מציגות מסגרת כללית להצגת פקדי תיבת סימון בתוך בלון. הן אינו כוללות לכידת שגיאות, אולס בפועל, עליך לכלול לוגיקה לטיפול בשגיאות כמו זאת שבדוגמה הקודמת. השיגרה %+0ט60א66ח5600 מעבירה ארגומנט בטווח שבין 1 ל-5 כדי לציין כמה תיבות סימון יש לכלול בבלון. השיגרה השנייה נפתחת בהגדרת הפניה 1, לבלון חדש. היא מקצה למאפיין חסשטם של האובייקט חססוו883 את ההגדרה |08066א56%0חה0ט8 1150 כדי לכלול בבלון לחצני אישור (א0%) וביטול (|6ח68). דבר זה מאפשר סגירה של הבלון בשתי דרכיס. לאחר הגדרת הערכים עבור הכותרת והטקסט בבלון, השיגרה מקצה טקסט לכל אחת מתיבות הסימון. ערך ההחזרה מהשיטה צוסח5 במקרה זה מציין את הלחצן שעליו לחצ המשתמש. 0 הח 2000 406655 (00006א56%066 ס5 5 %00666א6 16807 חהססו|הם 50 06ח= (ז10%606 45 %ה000א0066)א66חא6 ד 680 תהססווהפ פט5 זז 5 | ,הססו|3ם ₪5 01 חחוס חן 5 166685 ,0חו50 5 507006665 וחוס .חסס!|08 6+ 0+ 6]676006] 661 ' חססו||3ם ששס.%ח551508 = 01 56% .| 00 אס 666% 60 6% ה5516 ' 1 תסו 0560008066 0פוח = הסֶטם. "1680100 %06 46765" = 00ו3680. ". הסס!|8ם 66 חן 6% 506 5 פוחד" = )אסד. +00 סד 1 = | זס= 1 8 " + אסס 00666" = )א ך.(65)1א00א6066. סא ששסחפ. = | ה)%ו\ 0ח= ?סא טכ |[66ח08 >6ו|6 זפ סוס ' החד [680066חהסאטם הססו|8 ספוח = ו )1 ,הסו8וזס+ח1סע ,". הססו|8 66 661!60ח68 טסץ" אס8 ₪150 "2000 266655 1167050 פחוו ותהזטסזק" סטפ זוא= + 0חם .5 66660ח60 |81 01 60% 0חה 60א66ח6 65אסס |הטסוטו0חו 6זס0ס6ק ד 000% סך 1 = | זס= החד סט = 60א65)1(.6066א00א01.60066 +1 חסחך "" = 57066% +1 (05)1 = 5000606% 56 (ו)65₪ 8 " ," 8 57700606 = 5070066% + 0 1 + 160060665 = 1606665 + 0חם | 6% פרק 8: אובייקטים ב- 06066 60508א | 391 .655 6ץ חהזו/ אס 1655806 8 %ח656זק ' חסחד 0 = 5א66%חסשו ]1 = ,הסט8וזס+ח1ע ,".60א6066 65א0פ סו" אס ₪15 "2000 66655( 11670506 פהורהוחבּזוטסזק" חח ד 1 = 66%65ח6 )56| = ,"." 8 50700606 8 " אסם 66%660ה6 טסץ" א0סףפוו "2000 466655 6705016 6חווחותהוססזק" , הסטהווס+ח1ס 56 = 8 " .65א00 " 8 006065! .86 " 6066660 טסץ" א0ףפו = ,"." 8 50700606 8 " :65א20 6זסצו 656חדך" "2000 466655 16705016 שחווחותהזוססזק" , הסטהווס+חה1סע + 0חם סט 0ח= שארית השיגרה א00066א6 6807ה חססוו8פ מעבדת את התגובה לבלון. תחילה, השיגרה בודקת את ערך ההתזרה מהשיטה שסח5. אס ערך זה שווה לקבוע (68066חסא טש הססו|5088וח, המשתמש לחץ על הלחצן ביטול. לאחר הצגת ההודעה המתאימה על כך, השיגרה מסתיימת. הואיל והדרך היחידה לסגור את הבלון היא ללחו על הלחצן אישור או ביטול, אס המשתמש לא לתצ על ביטול, מו הסתם לתצ על אישור. קטע הקוד הבא מבצע שתי משימות: הוא מפתח מחרוזת טקסט שמציינת תיבות מסומנות, ולאחר מכן מונה את התיבות הללו. קטע הבלוק האחרון בשיגרה משתמש במחרוזת ובתוצאת הספירה להכנת תיבת הודעה שבה ייאמר, בהתאס לתוצאה, שאף תיבה לא סומנה, שסומנה תיבה אחת בלבד, או שסומנו מספר תיבות. בלונים לא מודאליים הדוגמה הבאה מעבדת בלוניס נטולי מודאליות, שנשאריס פתוחיס בשעה שהמשתמש מבצע פעולה כלשהי בחלק אחר של היישום. כל הדוגמאות הקודמות עסקו בבלוניס מודאליים. אחת התכונות המותאמות אישית לעבודה עס בלונים נטולי מודאליות היא המאפיין 68|!886% (התקשרות חזרה). מאפיין וה מקבל כערך את שמה של שיגרה אחרת המבצעת פעולה כלשהי עס התגובה לבלון. על השיגרה 68!!586% לבלוניס נטולי מודאליות להכיל שלושה פרמטריס בסדר קבוע. הפרמטר הראשון כולל משתנה המייצג את הפניית הבלון. הפרמטר השני כולל משתנה לציון הפקד שהמשתמש לת עליו. הפרמטר השלישי משתמש במשתנה ארוך המזהה את המאפיין סופטוזם של הבלון המפעיל את שגרת ההתקשרות חזרה. בבלון נטול מודאליות, חשוב במיוחד ליצור פקד לסגירה. אס אינך מציג פקד כזה, הבלון עלול להישאר פתוח ללא הגבלת זמן. השיגרה שלהלן מציגה בלון עס ארבע תוויות. שיס לב, שהגדרת המאפיין 1006 של הבלון היא 501006/006|655. הגדרה זאת מחייבת הגדרה של המאפיין 86%מו|68. ללא הגדרה כואת, השיגרה תחולל שגיאה. שיס לב גם, שאחת התוויות מציינת 2 הח 2000 406655 במפורש אפשרות סגירה. ניתן להציג אפשרות סגירה גם באמצעות הגדרה של המאפיין חסטטפ. לחיצה על תווית לא תגרוס באופן אוטומטי לסגירת הבלון; היא תפעיל את שגרת ההתקשרות חזרה הקרויה ס|46זסשופחהּ. שיגרה ואת מוצגת בתרשיס 8.8, להלן. ()00ח26 א008|63|!986%ח 5 חסס!|8 ₪5 01 וחוס חסס!|8 /ו5515080%.]6 = 01 56% 1 תסו "06655 3 ושוצ !6 זס+ |ו68 ס% הססו8ם" = 0חו1680]. ":זט00ה 0)חן 6זסוח 6 16" = )אסד. "סחושחוזק" = זא ד. (3615)1 1. "|והחח 385 5818" = )אס ד. (30615)2 1. "015% %0 8חו/58" = )אס ד. (30615)3 1. 566 הס ספות = הסחטם. 995 = 1)006. "ס|66 שפח" = 68|!086%. ששסח5. ה)%ו 0חם 5 0ח= [פחותחטז] הווקת - 83510 |הטפו/ 60501 מ ווסטחוו. 800-105 סד חנ טופס ספת ופ 6 ₪6 | 8 א 0 א 8 0000000000 ₪-₪4 [008-:]] 00161 - 8זפזקְבּת |] +| |] - | 6:1 סז חססוו₪ 3 חחוש ק!16] זס] (אַמס10 25 צבשק1 ,הַתסם 25 מסמ1 ,מסס311מ 25 1מ)ק61תתבחכםה כגום 5 סח 6זסוח 6 6/וב מסמ1 0836 261608 סב 1 0838 בַחסחוזק ‏ 6 ".אקמנסמ1מע מס מפסעסכ5 ש861 בםגס 15 15תך7" אספטפ | 35 הַהו5 5 0% ".811 מס מססעסט ש₪851 שגס 158 5נ1מך" אספטשפע 5% 60 הַחוא58 6 3 0886 66 ".א315 50 קמנטהב מס מססעטט ש₪851 בגס 153 5נ1מך" אספטשפע 0856 4 1.8 6 0855 ".סועםמ1 מספגו סט1בפהסעס במשפ3ש סך" אספטפע 561605 המת 4 [ | 1 .815% 0! 8חו%י58 חס ה6פזס5 כ[46] שח ו פוח ד תרשים 8.8: בלון נטול מודאליות ושגרת ההתקשרות חזרה שלו. פרק 8: אובייקטים ב- 06866 0508ז6א | 393 השיגרה סו6ז6או5ח8 מציגה תיבת הודעה שתכולתה נקבעת על ידי התווית שהמשתמש לחץ עליה בבלון. המשפט 6856 56!601 המעבד את התגובה קורא את התווית שבחר המשתמש מתוך הפרמטר השני המועבר לשגרת ההתקשרות חזרה. לאחר שהמשתמש סוגר את תיבת ההודעה, הבלון נשאר פתוח. ככלל, יוכל המשתמש להמשיך ולנווט בתוך טופס, בעוד הבלון נטול המודאליות מציג עזרה על אופן התגובה לשדות השוניס בטופס. אס המשתמש ילח על הלחצן הרביעי, השיגרה תשתמש בהפניה 51 לבלון להפעלת השיטה 6|056. האובייקט זַ083חהּ ווה ס6 מבנה האובייקט חחח 60 (המוצג בתרשיס 8.9) עשיר ביותר - הוא כולל סרגלי כלים מוכללים ומותאמים אישית כאחד. 83 6חהּוחוח 60 (סרגל פקודות) הוא מונח כללי המציין שורת תפריטים, סרגל כליס או שורת תפריטים מוקפצת. פקדי 60 מאפשריס למשתמש לפעול עס יישוס נתון, באמצעות ממשק לסרגלי הפקודות של היישוס. פקדי ז088ח8 60 נחלקיס לשלוש מחלקות אובייקטיס רחבות : החסטםז 03 הרו 0ס6, אס סט 0360 חר 60 ו- קטססק ה הוחו 60. תרשים 8.9: השתמש במבנה האובייקט ז088ה8חס6 להתאמה אישית של סרגלי פקודות מוכללים, וליצירת סרגלי פקודות אישיים הסוז601!86 בי ספירת האלמנטים בסרגלי פקודות ספירה של האלמנטים בסרגל הפקודות חיונית בעבודה עס סרגלי פקודות. הספירה היא כלי חשוב לבירור ההיררכיה של האובייקט ז08ח8 וח ס6. המידע שיתברר לך באמצעות הדוגמאות הבאות יסייע בידך לערוך שינוייס בסרגלי פקודות מוכללים, ובפיתוח סרגלי פקודות מותאמים אישית. השיגרה הקצרה שלהלן מפיקה את מניין סרגלי הפקודות ביישוס. אס אין ביישוס סרגלי פקודות מותאמים אישית, השיגרה מפיקה את מניין סרגלי הפקודות המוכללים, 140 במספר. מספר גה גבוה יותר כאשר יישוס מכיל גס סרגלי פקודות מותאמיס אישית. 4 הח 2000 466655 ( 30 רת סח 60 פש5 8 .הור 60 .8 " 376 6זסח ד" אס8 50 ". ח0וז60|!66 085 0חהר 00 66 הו פזהּם " סט 0ח= לרשותך שלושה סוגים של סרגלי פקודות. ספריית האובייקטיס של 08666 מכילה את קבועי 508871706 להפניה אל סרגלי פקודות מסוגים אלה: |חזסא6סץד5037וח, זט סויסק ד 50 ו- קטקסק6קץ דוו ספוה. כמו כן ניתן להבחין בין סרגלי פקודות מוכלליס לסרגלי פקודות מותאמים אישית. השיגרה הבאה מונה את סרגלי הפקודות המוכללים, לפי סוג. ( 8360 סח הוחס)חט!וטם ספ זו 60 5 1זס6 הזוס 5 זה ד ,6067לח1 35 5זבסוו חזוס לחז 5 חחווטפ! ,1056067 5 5זהפקו וחוס וו 60 ח1 6071 ה86ם זס= חסחד הטווטפ.1זטס + 1 + חסווטפו = חטווטפו החד זה חק הפוח = 6קץד.1זטס +1 1 + 5זהם1ן = פזהטוו סד |הוחזססקץ דוט ספות = 6קץד.1זט6 +561ו₪ 1 + 110815 = 5זהט ו 56 1 + 5זהסק! = 5זבּסקו + 0חם + 0חם 6% 8 " .875 סחההחוחס6 " 8 הטווטפו 86 " 6ז3 6זסח ד" אס8 ספ = 8 " 0חה ,5זה00|2ץ 6זבּ " 8 5זהסדו 8 " ,זה טחסוח 3 15" 8 5זהסו1 ".0815 קטקסק 6ז3 ".8 5זהטקו סט5 0ח= רשימת סרגלי הפקודות הגלויים לעין מכיון שקיימיס 140 סרגלי פקודות מוכללים, מן הסתס לא תרצה למנות את כולס בדרך כלל. עם זאת, עשויה להיות חשיבות לקבוצות משנה שונות ביישוס נתון. לדוגמה, היישוס עשוי להודקק לנתון, אלו סרגלי פקודות נראיס לעין. השיגרה 5 856/151060 וס ותטוח6 כותבת שורה לחלון 1601816 (מיידי) עבור כל סרגל פקודות נראה לעין. השורות מציגות שלושה מאפייניס לכל סרגל פקודות - שס סרגל הפקודות, סוגו ומספר הפקדים שהוא מכיל. זוג פונקציות )1 1601816 מקוננות מפענח את המאפיין 6סץד. במקוס למנות את הפקדים בסרגלי הפקודות כדי להגיע לספירה, השיגרה פשוט מציגה את המאפיין אחטס6 של סרגל הפקודות. פרק 8: אובייקטים ב- 06866 70506א | 395 ( 30 חר 8615101660 זט רטח6 פט5 זו 60 5 1זס6 וחוס 5 60 ה1 601 ה₪86 זס= חסחך סטזד = 6!סופו/. 1זס6 + = ,6ח8ח.1ז60 סחוזק. פטטסס "סז" | זס6כץ ד 0ס5וח = 6מץד. 1זס11)6) = ,((("ז8פ קטססס" ,"זהּם טחסוח" ,זהטטחסוקץ ד ספוח = 6קץד.1זט6)זז + 0ס5.6!ס זט חהס6. 1וטס + 50 601 )אסא סט 0ח= קל למדי להרחיב את קטע הקוד שלעיל כך שימנה את הפקדיסם הנפרדיס בכל סרגל פקודות נראה לעין. לכל סרגל פקודות אוסף 0|5ח60, והאלמנטיס של אוסף זה הס אובייקטי |088760080ח8 חח ס6. השיגרה הבאה מחילה אובייקט ]8008 60 ואובייקט !8088760080 60 תוך הצגת רשימת הכיתוביס של הפקדים בכל סרגלי הפקודות הנראים לעין. ()5 0 68!סז ה 680660 רטח6 פט5 זו 60 35 1זס6 וחוס [ס חור 60 5 601 חוחוסם 5 60 ה1 601 ה₪86 זס= הפחד שטזד = 016ו1.15זט6 +[ 8 86ח.1ז60 8 " :6חחהח ז3ם סחההותס6" שחוזק. פטססס + ס5.0!ס זט ה 1.60 טס ;" :הטסש |סשחס6 סחהבּ " 61.5 הז 601 ₪86 זס= חסו68. 601 ,6התפח. 1זס6 זחוזק. פטוססס 1 אסא + 0חם 601 %א6)] 50 0ח= הצגת פקודות תפריט לבסוף, ייתכן שתידרש לך רשימה של הפקודות הנפרדות בתפריט כלשהו. במקרה זה יש לטפל בתפריט כבסרגל פקודות, כך שהפקודות ייחשפו כפקדיס. תוכל לקבוע את השס עבור סרגל פקודות | המציג תפריט מסוים באמצעות השיגרה 5-ו טח (או ווריאציה שלה). שתי השגרות שלהלן יוצרות לולאה העוברת על הפקדים של תפריט נתון. השיגרה הראשונה מעבירה שס של סרגל פקודות לשיגרה השנייה, שעוברת בלולאה על פני הפקדיס של אותו סרגל פקודות. 6 הח 2000 406655 ()05חה חר 50| 505 ("ק|6") ח6 הר 60 ות חס טפ 0ח= ( 6 חר )3050 ו 8-0 רטחש 5 זו 60 5 601 חחזוס [סז חר 60 5 601 חחוסם חר 60 8 %0 61676006 8 56% ' (6 3 חר )035 חר 60 = 0071 56% 0חהוחוחסס 086 זס פ|סישחסס 6 הפַטסזוט קססין' 1.05 הז 601 ה86ם זס= חסוק63. 601 זחוזק. פטטסס 1 אסא סט5 0חם טיפול בסרגלי פקודות מוכללים ניתן לשנות סרגלי פקודות מוכלליס במספר דרכים. בסעיפים הבאים מוצגות כמה מהן. שינוי מצב הזמינות של סרגלי הפקודות ופקדיהם באפשרותך להפוך סרגלי פקודות לבלתי זמיניס, ולאחר מכן להשיב אותם למצב זמין. שתי השגרות הבאות מבטלות את הזמינות של שורת התפריטיס המוכללת (המכונה זה טחס!!), ולאחר מכן מחזירות אותה למצב זמין. כדי לבטל את זמינותו של סרגל פקודות גה בטופס, עליך להגדיר למאפיין 6 פּח= שלו ערך 8156 בתוך שיגרה של אירוע טופס. יישומיך יוכלו להתנות את ביטול הזמינות של סרגל פקודות בגורמיס שונים, כמו למשל זיהוי משתמש. ()087ח01580!616 פט5 זו 60 5 601 חחוס 5 60 ה1 6071 ₪86 זס= הסח "ז8ם ח16]" = 6החהַח.1זט6 +[ 6 = ססומְהחם. 1זטס + 0חם 601 %א6)] 50 06ח= פרק 8: אובייקטים ב- 06866 60506א | 397 ()087 טח616|טהח6 סט5 זו 60 5 601 וחוס 5 60 ה1 6071 ₪86 זס= חסחך "ז8ם ח16]" = 6החהַח.1זט6 +[ 6טזך = חסומְהחם. 1זטס + 0חם 601 %א6)] 50 06ח= כמו כן ניתן להפוך לבלתי זמינות פקודות מסוימות בשורת התפריטים או בסרגל כלים. השיגרה הראשונה מתוך שתי השגרות הבאות הופכת לבלתי זמינה את הפקודה תצוגה (ש6ו/) שבשורת התפריטים ובסרגל הכלים תצוגת טופס (שסו/ חוחזסת). פעולה את מסייעת בשמירה על עיצוב הטופס, על ידי ביטול שני נתיבים מוכרים למעבר בין תצוגת טופס (וחזס=) לתצוגת עיצוב (חטופסכ). נוסף לנטרול הפקד תצוגה (שוסו/), מגינה השיגרה הראשונה על השינוי על ידי קביעת ההגדרה 5088780005000026ח למאפיין חס666סזק של סרגל הפקודות. הגדרה זאת הופכת לבלתי זמין (מוצג באפור) את הלחצן איפוס (₪6560) בתיבת הדו-שיח התאמה אישית (וחסספט6) של סרגלי הפקודות שורת תפריטים (ז8ם טחסו) ותצוגת טופס. השיגרה השנייה מחזירה את הפקודות בשני סרגלי הפקודות למצב זמין. שיס לב כי שמות הפקודות מופיעים בקוד כשמות הפקדיס בממשק 8460055 (למשל, בממשק עברי שם הפקודה בקוד שלהלן הוא ייתצוגהיי, ובממשק אנגלי שמה 'ישסו/יי). ()|סז הסח השס !01530 סט5 800 חר 60 5 601 וחוס .6 צו16/ 0+66%6זכן 0ח8 158016 ' ("תצוגה")5!ס יז ח60. ("ז8 חס ")הו 60 = 6001 56% 6 = 80!60חם. 601 06 50 = ה0ש66ססזק. (" 3 טחה6ז")5ז הו וס 60070 ששו 0%66%זכן 0ח8 158016 ד ("תצוגה")0!5ח60. ("צוסו/ הזס- ")0 הו 60 = 601 56% 6 = 80!60חם. 601 0056 50 = הס66ססזק. ("עצשסו/ הזס-")5ז הו וס סט5 0חם ()|ס סח חש עסו /6|סהח6 סט5 חס חר 60 5 601 וחוס .טח6] ששו סוחס ' ("תצוגה")5!ס ץח 60. ("ז8 טחה6 ")הו 60 = 6001 56% 6 = 6ַס|פַהחם. 601 .6000 ששו 6|טְהַחם * ("תצוגה")70!5ח60. ("צוסו/ הזס- ")05 הור 60 = 601 56% 6 = 6ַס|פַהחם. 601 סט 0ח= 8 הח 2000 406655 הצגת סרגלי פקודות בלתי נראים פעולה נוספת, פשוטה אך חשובה, שניתן לבצע היא חשיפת תפריט מוכלל שבדרך כלל אינו מוצג. השיגרה הבאה מציגה את השם, הסוג ומספר הפקדים בכל סרגל פקודות נראה לעין. אס סרגל הכלים אינטרנט (ט6/) אינו נראה לעין, השיגרה מגדירה את המאפיין שלו 6מו5ו/ (גלוי) ומשאיר רישוס של פעולה זו בחלון 6013%6וחוח1 על ידי הדפסת השם, הסוג ומניין הפקדיס של סרגל הכליסם. תוכל להעליס את סרגל הכלים אינטרנט שוב על ידי הקצאת ערך 8156" למאפיין 6|סופוש שלו. ()ז8 60/אוסח5 פט5 זו 60 5 1זס6 וחוס 5 60 ה1 601 ה₪86 זס= חסחך סטד = 6!ופו/. 1זס6 + %חטס0!5.6ז ה 60. 1זס6 ,6קץד.1זט6 ,6חזהח. 1 זס6 +חוזק. פטטסס הסח ד "60" = 6ו8₪ח.1זס6 )561!₪ 6שטזך = 6וסופו/. 1זטס %חטס.5!ס ץחה ס6. 1זס6 ,6קץד.1זט6 ,6חזהח. 1 זס6 זחוזק. פטטסס + 0חם 601 )אסא טפ 0ח= הוספת פקודות לסרגלי פקודות מוכללים מלבד טיפול בחבריס מוכללים באוסף 08875ח8וח60, באפשרותך להוסיף פקודות מותאמות אישית לכל סרגל כלים מוכלל. דרך פשוטה לעשות ואת היא להוסיף אובייקט ח8060ז083ח8 וח ס6. עליך לדעת במדויק את שמו של סרגל פקודות כדי שתוכל להוסיף בו לחצן חדש בעזרת השיטה 406 (זכור שבאפשרותך להפעיל את השיגרה 806000070!6800085ז6והטחש כדי ליצור רשימה של שמות סרגלי הפקודות). לאחר הוספת הלחצן, הגדר את המאפיינים עבור אובייקט ח60ט0878 ווח 60 החדש כך שיצביע אל שיגרה או פונקציה מותאמת אישית. השיגרה וח6ס1טחס1!/ו6ח שלהלן ושלוש השגרות הנלוות אליה מוסיפות פריטיס חדשים לתפריט. השיגרה ח166טח16/וסח מוסיפה אובייקטי ח060ט00878ח8 60 בסופו של סרגל פקודות בשם 0018ד (כלים). שלוש השגרות הנלוות מאפשרות למשתמש לציין איזו דמות ילבש המסייע - המהדק טוסטווס), רוקי (עא806) או 1=. אובייקטי 8000 ז083חהוחס6 החדשים מאפשריס למשתמש להפעיל את השגרות השולטות בדמות המסייע שתוצג. ()הה106 ט חש ]סח 5 הסאט 03 הור 00 5 הח166/וסח וחוס | חר 60 0015 ד 6+ חס |%7-0ח60 שוח 60 61676066 66% ' (חס !סז הס 506 = :6קץ 00 5וס זט ה ס6. ("5|סס ד" )5 חר 60 = הח166/וסח 56% פרק 8: אובייקטים ב- 06866 60508 | 399 וז וסח5 6אסטחו ס+ 6חהותרס6 רטוע קטסז ושח 814ז6 ' הח166/שסח תסו סד = קטסזסחו60. "זומקוו אוסח5" = חהסק68. "ץוסקו|ט/שסח5" = חסטסהחס. חזו/ 0חם 6080 100|5 6 חס |סזח60 שו6ח 10 6]676066ז 66% ' (חס !סז 5060 = :6קץ 00 סח ס6. ("5|סס ד" )5 חר 60 = הח166/וסח 56% .500/06 6אסטחו 0+ 6ח8 חר 60 5510 ' הח16 סח תסו "ץ00 שוסח5" = הסטקה68. "06 /שסח5" = חסטסהחס. חזו/ 0חם 6080 100|5 6 חס |סזה60 שו6ח 10 61676066 66% ' (חס !סז ה 5060 = :6קץ 00 5וס זט ה ס6. ("5|סס ד" )5 חר 60 = הח166/וסח 56% 200 .5006 6אסטחו 0+ 6ח8ר 60 551 ' הח166/שסח תסו "1 אוסח5" = חסטקה68. "1;/שסח5" = חסטסהחס. חזו/ 0חם סט5 0חם ()ץ066א /וסח5 פט5 590%ו55 השו/ סד = 6!ופו/. "865. 50667" = 6ותבּאסוו=. סטזד = חס. הזו סח סט 0ח= (ומקוו6צוסח5 ס5 5%0%ו55 חשו/ סד = 6!ו9ו/. "פסה.)וסקו|6" = 6ותבּאזסוו. סטזד = חס. הזו סח סט 0ח= ()1-אוסח5 5 5%90%ו55 חשו/ סד = 6!סופו/. "1.865" = שוחה אוסוום. סטזד = חס. חזו/ 0ח= סט 0ח= 66655 2000 8 השתמש בשיטה 406 עבור האוסף 5|סשח0ס6 של סרגל פקודות כדי להוסיף פקד חדש בתפריט מוכלל. שיטה ואת מקבלת מספר ארגומנטים, לרבות הפרמטר 6סץד. נוסף לפקד הלחצן (הסטטם!00ה5060ה) שבדוגמה, תוכל לציין תיבת טקסט פשוטה (0ו50600070|50), תיבה משולבת (0808פ170!600ח5060), ועוד. לפי ברירת המחדל, השיטה 400 מוסיפה את הפקד החדש בסופו של סרגל הפקודות, אולס ניתן לעקוף תכונה ואת ולהציג את הפקד במקוס אחר בסרגל הפקודות. פרמטר נוסף, פ1, מפשט את ההוספה של פקודות מוכללות מתפריטים אחריס לסרגל הפקודות המותאס אישית. לאחר הוספת פקד לסרגל פקודות מוכלל, ניתן לקשור אותו לתפקוד מותאס אישית בעזרת המאפיין חסט6החס. קבע כערך המאפיין את שמה של שיגרה שאתה רוצה להפעיל באמצעות הפקד החדש. באמצעות המאפיין ח0זק68 של הפקד תוכל בנקל לתת תווית לפקד החדש. השתמש בשיטות 600/"806 - 085407866 כדי לסמן את הפקדים המותאמיס אישית. כאשר המאפיין קטסזסחוףַ6ם מקבל ערך 6טזד, יופיע על סרגל הפקודות פקד, כשלפניו קו מפריד. בדוגמה, מאפיין זה מקבל ערך 6טזד עבור הראשון מבין שלושת הפקדיס המותאמיס אישית, אולס ערך ברירת המחדל ₪856 נותר בעינו עבור שני הפקדיס האחרים. שיחזור סרגלי פקודות בתהליך הליטוש של יישומיך המותאמים אישית, ייתכן שתרצה להסיר פקדים מותאמיס אישית שהוספת בתפריטים מוכללים. עשה ואת באמצעות השיטה )₪656. השיגרה הבאה מסירה את כל הפקדים המותאמים אישית מסרגל הפקודות פ|ססד. ()הח6ז1 ח6]16עסוח6ז 5 ( "00 דר 60 סט5 0חם יצירת סרגלי פקודות מותאמים אישית יצירת סרגל פקודות מותאס אישית נעשית בשלושה שלבים לפחות : 1 הוספת סרגל פקודות חדש ליישוס. הסרגל החדש יהיה ריק בתחילה. 2. הצבת פקדיס בסרגל הפקודות. פעולה ואת דומה להוספת פקדים בסרגל פקודות מוכלל. 3. הגדרת ערך 6טזד למאפיין 6פופו של סרגל הפקודות אם ברצונך להציגו. כמו כן תוכל לאפשר למשתמשים לחשוף את סרגל הפקודות המותאם אישית שלך באמצעות התכונות הרגילות (כמו למשל תיבת הדו-שיח התאמה אישית (070126ל605)). פרק 8: אובייקטים ב- 0666 0508ז6ו|א 401 שתי השגרות הבאות יוצרות סרגל פקודות מותאם, ובו פקד לחצן אחד הגורס להופעת המסייע בדמות רוקי. השיגרה חה00060ח ות סוסה מעבירה הלאה את שני השלביס הראשוניסם של יצירת סרגלי פקודות אל השיגרה 551580506 סחַ05ה. הצבת השלביס האלה בשיגרה נפרדת שימושית לאחת הדוגמאות הבאות. השיגרה /0500₪066ח0%/45515%8ח3005 מעניקה לסרגל הפקודות החדש את השס 55158806 שוסח5. כעת השיגרה מוסיפה פקד מותאס אישית. כאשר מגדיריס פקדיס לסרגלי פקודות מותאמיס אישית, חובה להקצות ערך למאפיין 506 לצד ערכי המאפייניס האחרים שמגדיריס בסרגלי פקודות מוכללים. אם תשכח לעשות זאת, השיגרה /08066ח15ח0//551500ח3005 עלולה להציג בסרגל הפקודות לחצן ריק. ()הס הזחו ושח 5 קז ד 6 6010 זסזום חס זו 60 5 1זס6 הזוס הזו חר 60 5 01ל10זס6 וחוס 509 5 6018436 הזוס ץ₪06 צו0ח5 60 םחה 60 ₪00 ' 551503 סח 005 ו 60 6אהו ' ("80%5ל5515./ 50 ")וחור 60 = 0071 56% סד = 6|סו18/. 1זטס :63 סטפ +ואם :6 חסחסק656.זזם ;זססוחטא. זחם +חוזק. פטססס א 6506 סט5 0חם ()ץ0%/5515%00050066ח3005 סט5 זו 60 5 601 הזוס החסא זו 00 5 610601 חזוס .455150005 \ס5 60חח 8 הוחו 60 8 00 ' (6ט ד , ,קס 50087 ,"55150305 5 )5.0 חור 60 = 6071 56% 6080 6 סל |סזח60 הסאטופ 3 00ג' (6טזד , , , ,הס טפ|ס זט 5060 )5.00|ס זט ה ס6. 1זט6 = 10%01ז60 56% .5 הסא טס 56% ' 6101 תסו "00 צוסח5" = הסטקה68. 6 = קטסזסחוס6ם. "06 /שסח5" = חסטסהחס. הסוס 8 ספוח = 50/!6. האוצ 0חם= סט5 0חם 2 הח 2000 406655 לאחר שהשליטה שבה אל השיגרה ח08000ח0087 הו 0ס6שוסח, היא מגדירה ערך סטזד למאפיין 6|פופו/ (גלוי) של הפקד. ללא שלב זה, הדרך היחידה בה יכול משתמש לראות את סרגל הפקודות המותאס אישית החדש היא על ידי הצגתו במפורש (למשל, בלחיצת עכבר ימנית על סרגל פקודות ובחירת שסם סרגל הפקודות הרצוי). הקוד ללכידת שגיאות בשיגרה 8ח088700800%0ח וו סוסה מאפשר ליישוס להפעיל את השיגרה גם כאשר סרגל הפקודות כבר קיים. ללא הלוגיקה ללכידת שגיאות, השיגרה ץ3005700/5515580%500068 תחולל שגיאה מכרעת כאשר תנסה ליצור סרגל פקודות שכבר קיים. הואיל ושגיאה ואת אינה קריטית (סרגל הפקודות כבר קיים) ניתן בהחלט להתעלס ממנה. שינוי סרגלי פקודות מותאמים אישית שלוש השגרות הבאות מוסיפות פקדים חדשיס בסרגל פקודות מותאס אישית קייס. כמו כן הן חושפות גישה נוספת לטיפול בסוגיית סרגל הפקודות הקיים. השיגרה 5 מציבה זוג לחצניס נוסף בסרגל הפקודות שיצרנו בדוגמה הקודמת. אס סרגל | פקודות | זה | אינו | קייס, | השיגרה | מפעילה - את השיגרה 06 5515080500 /3005000. השיגרה 3006078105 מפעילה באופן מותנה את השיגרה היוצרת את סרגל הפקודות 551558065 אוסח5 לפי ערך ההחורה של שגרת הפונקציה שיגרה זאת מבררת אס סרגל פקודות נתון כבר קייס. בין אס סרגל הפקודות 2551558065 שוסח5 כבר קייס ובין אס לאו, משפט 56...חסחד...+1 ההתחלתי מגדיר הפניה לסרגל זה. יתרת השיגרה מציבה בסרגל הפקודות עוד שני לחצניםס. בסיוס השיגרה 05ז18פ3006, סרגל הפקודות הופך נראה לעין אס עד כה היה מוסתר. ()5ח0 0 60זסוח 5 "45515005 אח5" 078%05 3006 50 06ח= (0חוז50 5 136ז5)60ח8 זכ 3006 סט5 זו 60 5 601 וחוס חא 3 חור 60 5 01ה10% 60 וחוס חחח 60 45515%80%5/ צוסר|5 676806 ע||החסטקס ' .880|6/ 3 חזוש | 61676066 ד הסח ד (6ותהא15)60א זט 60656 %6ס +[ 5550 סח 005 (6 8 005060 חר 60 = 6071 56% 56 (6 05060 חר 60 = 6071 56% + ₪0 חח 60 45515%80%5/ צוסח5 60 הסאטם ששח 8 00 ' (6טזד , , , ,הסטפ|סז ה 005060 .5וס זט ה ס6. 1זט6 = 1ה10%ז60 56% פרק 8: אובייקטים ב- 0666 0508ז6ו|א = 403 ו ששסח5 0+ הסט זס? ₪65ז6קסזק 66% ' 6101 תסו "זומקוו אוסח5" = הסק68. "ץוסקו|ס/שסח5" = חסטסהחס. חסו חס ופוח = 50/!6. הזו\ 0חם= 0 60 455150055 צוסח5 60 הסצטם עשסח 8 00 ' (6טזד , , , ,הס טפ|סז 5060 5.000ו0 חה1.60זט6 = 60710601 56% .1 שוסח5 0+ הסט ז10 65וז6קסזכ 56% ' 11 סש הסו\ "1 50" = ח00ק68. "1 ששסח5" = חסחסהחס. הסו חס 8 0ספוח = 50/!6. ה)%ו 0חם .56 8 חר 60 55153055 צוסח5 6+ שאה ' סד = 1506 6071 חסחחד שטזד = 6!סופו/. 1זס6 )סא +ז 50 06ח= 800 45 (8חו50 5 6 ב3ס1566אם 006560 הססס6חט= זו 60 5 601 הזוס 6 = 15%5א075 .00656 5 60 ה1 6071 586 זוס= הסח ך 6רח8 60 = 6וחהח.1ז60 +1 6 = 0065607155 + 0חם 601 6% חססס6חט= 6ח= יצירת סרגלי פקודות מוקפצים דוגמת השיגרה הראשונה שלהלן הופכת לזמין פקד תיבה-משולבת בסרגל פקודות מותאס אישית, והופכת את סרגל הפקודות לשורת תפריטיס מוקפצת. תרשים 8.10 שלהלן מציג את התנהגות התפריט המוקפצ על גבי טופס. לחץ בכל נקודה-שהיא בטופס כדי להקפיץ סרגל פקודות מותאס אישית ובו פקד יחיד. פקד וה הוא תיבה משולבת עס ערכיס לבחירת מסייע בדמות המהדק טוסטווס), רוקי (506) או 1=. התהליך מתחיל באירוע לחיצה עבור מקטע הפירוט של הטופס. שלוש השגרות הבאות מכילות את הקוד ליצירת הדוגמה המוצגת בתרשים 8.10. 4 הח 2000 466655 |< וםן. 8 !]01050 שופ אוסטחועל 10015 60705 )ה זט >ספת1 אופוע פוהם 6 ו || | ₪ ₪ 2 | ב 5 |₪ |- אן ד ו |<1ם) -. 58 )וטו [ג] קפ אשוסטחןע 105 60705 ה זט 15675 אושוע. והש 6 | ? 9 ₪| 08| 9|6 * = | שג 8 ₪ |-א| == וז דבו ם- טחסוח אסס סטוחס6 כטקסכ 8 0150185 סוסה שלחה הַחו6|66 וס החזס=, תרשים 8.10: שורת תפריטים מוקפצת בהתאמה אישית, עם פקד תיבה-משולבת. לפתיחת שורת התפריטים המותאמת אישית, לחץ בכל נקודה-שהיא בטופס (660ו61 |26%81 560 ס6אהּעווק 0008 0665500 0 חה סח 5 0ח= פרק 8: אובייקטים ב- 0666 0508ז6|א = 405 ()066550000008%זק 0ח//שסח5 סט5 זו 60 5 6071 וחוס .החז0ס+ חן +ה6ע= 6166 חס ||08 ' החד ("1 500" )ואס 00656 +[ מטמסק טס ח5. ("1 ו 500 ")רוס 6 חש סקס 35 + 0חם סט5 0חם ()טחס סק 67686005 פט5 זו 60 35 1זס6 וחוס .6501 60 חח 3 חור 60 00 ' 8035 60 = 0071 56% (6טז ך=:ץ סק 6 ד ,קטססק 3 50 =: הסוטופסק ,"1 605%0"= :)00 61 חטשו אס !סח 5060 = :6קץ ד 5.00וס זט ה ס6. (0!5)1ץח0. חטו/ 806 001 5000 = 50/!6. ".%ח5515%8/ חב 6%וק" = חסשק68. "זוסקו|6 אוסח5" ח00166. "ץ₪06 אוסח5" הח001%6. "1 שוסח5" וח00166. "008060166 0665560זכ" = חסטסהחס. חזו/ 0ח= הז%ו 0חם= מטמסקששסח5. 1זטס סט5 0חם ()66550010080%6001066סזזכ פט5 זז 5 6356/8|06 וחוס ו 606500 +ה6רח6!קרח! 300 הוח6ז! 56!66560 060006 ' או 1 (1 )5 60. ("1 ו שחר 60 60856 50|66% 1 6356 %וסקו|סאוסח5 2 6856 0 סח 3 6856 1 צוסח5 סחם סט5 0חם השיגרה הראשונה היא שגרת האירוע שמאחורי הטופס, והיא מפעילה את השיגרה 00808 0665560זק 0ח/ אוסח5, השוכנת במודול סטנדרטי (0|6סוח 0870ח59%9). שיגרה זאת קובעת אס סרגל הפקודות 6500711 כבר קיים. אם כן, השיגרה מפעילה את 6 החש 2000 406655 השיטה קטססקשווסח5 כדי להציג את סרגל הפקודות כשורת תפריטיס מוקפצת. אס לא, היא יוצרת את סרגל הפקודות | 69001 על ידי הפעלת השיגרה חק סקס 666/05 כמשתמע משמה של השיגרה השלישית, היא יוצרת את סרגל הפקודות המותאם אישית ומייד מציגה אותו כשורת תפריטיס מוקפצת. השיגרה טחסוקטקסק 67680005 אמנס קצרה, אולס היא מפעילה טכניקות מעניינות. ראשית, נעשה בה שימוש במשפטי 6חם...חאוש מקונניס. המשפט החיצוני מוסיף חבר חדש לאוסף 5זה088חהוחוס6, והמשפט הפנימי מוסיף פקד לאותו חבר. הקצאות המאפייניס בתוך משפט 6חם... חזוא הפנימי מגדירות לפקד סגנון של תיבה משולבת, מגדירות את האלמנטיס ברשימת התיבה המשולבת, ומציינות את השיגרה 6 665500ס, המופעלת בעקבות בחירה של המשתמש מתוך התיבה המשולבת. שיגרה אחרונה זאת משתמשת במשפט 6856 5660 המבוסס על האלמנט שנבחר מתוך התיבה המשולבת כדי להפעיל אחת משלוש השגרות המותאמות אישית המציגות מסייע. מחיקת סרגלי פקודות מותאמים אישית אס אתה עוסק בבניית סרגלי פקודות מותאמיסם אישית ביישומים, מן הסתס תצטרך לפעמים גם למחוק אחד מהם, או יותר. בדוגמה הבאה נמחק סרגל כלים באמצעות יצירת לולאה העוברת על כל סרגלי הפקודות כדי לאתר את אלה המותאמים אישית, כלומר אלה שבהס המאפיין חטווטם מכיל ערך 8|56=. כאשר השיגרה מוצאת סרגל פקודות מותאם אישית, היא שואלת את המשתמש אם למחוק אותו. אם המשתמש משיב כן (65+), סרגל הפקודות נמחק והשיגרה מוסיפה אחד למניין סרגלי הפקודות שנמחקו. בכל מקרה, השיגרה מוסיפה אחד למשתנה המונה את סרגלי הכלים המותאמים אישית. ()601ו0616%6005%00 5 0068 5 06||30 ,םסחה 60 5 1זס6 וחוס זז 45 6050875 ,1006007 5 5זה00!5 הזוס 680 זו6ח+ 0668056 6050875 זס ,06!0875 ,06||30 26ו|₪8וחו 60 ץז666558ח זסא ' .06 6ז3 (0 0ח8 8|56=) 65טופע ' .5 חר 65%0 061606 ץ!||הסטווחס6 ' 5 60 ה1 601 ה₪86 זס= חס ד (8156= = חטווטפ.1זטס) + = 8 " סל %+חשו טסץ 08% 6זט5 טסץ 6וה")אס 0 זז = ,"?3ם 0חההחוח60 " ,8 6וח8ח.601 86 " 606 06|6%6" = = ("2000 66655 670506ו] פחוהחוחהזףסזק" ,6540 צסצ הסח ך 5סץצסע 2-6 פרק 8: אובייקטים ב- 06066 0508ז6ו|א ‏ 407 סד = 06|!80 1 + 75ז06|089 = 06!0375 + 0 1 + 6050875 = 0050875 + 0חם 601 %א6)] הסוח 8 ה חר 60 +0 6והס6סטס +ז0ק6ק ' הסח ד 061-380 +סא + חסחך 0 < 6050875 +1 8 " 006|6060 5 6080 ה 0סס5ט6 סו" א0 ₪15 = ,"." 8 6050815 8 " 01 |0%3+ 8 0% +טס" "2000 66655( 16705016 פחווחוח3וססזק" ,הסטאוזס+חה1סע 6 ,הסו 8 ז0+ח1 טע ".5 חר חח 60 61560 סצ]" 15400 "2000 66655 1167050 פחווחוחהזטס:ק" + 0חם 56 = ".066060 (5) 8 6080 60560 " .8 0615375 א0ס8 150 "2000 466655 16705016 6חווחותה טסוק" , הסטאווס+חה1ס + 0חם טפ 0ח= השיגרה ז66!606005%0060 מסתיימת בהצגת אחד משלושה משפטים אפשריים, לפי מספר סרגלי הפקודות שנמחקו וסך כל סרגלי הפקודות המותאמים אישית. זוג משפטי חסחך...)1 מקונניס מטפל בניתוב אל המשפט המתאים עבור תיבת ההודעה. אס אין מחיקות, אולס יש לפחות סרגל פקודות מותאס אישית אחד, המשפט מציג הודעה המדווחת כי לא נמחקו סרגלי פקודות, ומציגה את מספר סרגלי הפקודות המותאמיס אישית. אס אין מחיקות ואין סרגלי פקודות מותאמיס אישית, השיגרה מציגה הודעה ברוח ואת. לבסוף, אם השיגרה גילתה סרגלי פקודות, תיבת ההודעה מציגה את מספרס. 8 הח 2000 406655 9 שילוב 4600655 עם יישומי 6106 אחרים בתחילת דרכה, וכתה 866655 16070506 לפופולריות עצומה כאחד מרכיבי ערכת התוכנות 01606 1/67050]. אלמנטיס רביס בממשק המשתמש של 460055 משותפים גס לממשקי המשתמש ביישומי 08666 אחרים, וקל למדי להעביר נתוניס בין 66655 לשאר מרכיבי 0666. נוסף לכך, ניתן לשלב את 466655 עס שאר מרכיבי 07666 גסם ביישומיס מותאמיסם אישית. דבר וה מאפשר ליהנות מהיתרונות של ערכת מסד-נתוניס בסביבה הידידותית והמוכרת של מעבדי תמלילים וגליונות אלקטרונייס. פרק וה מסביר כיצד לבצע שילוב תוכניתי של 2000 466655 עם יישומי 0666 האחריס בעזרת תכונות 66655 מוכללות : > יישומיך יוכלו להגיע למנהלי 154% באמצעות האובייקט 600060000 כדי לטפל בנתוניס של גליונות אלקטרונייס ב- |06א₪ 67050%6ו1. אובייקט ח6600חח0ס6 המבוסס על מנהל 15% יכול לשמש כערוצ דו-כיווני לשיתוף נתוניס בין 06655 ו- א > תוכל להגיע באופן תוכניתי למקורות נתוניס של 406655 בעזרת יכולת מיזוג הדואר ב- סזס/ 1670506, המפשטת יצירה של תוויות מען, מכתבים אחידיס וקטלוגיס של מוצרים. > בעזרת אוטומציה, יישומיך יוכלו לנצל בו-ומנית את מבני האובייקט משני יישומי 6, או יותר. לדוגמה, יישוס יכול לייצא שמות וכתובות מתוך מחסן נתוני 5 אל תיקיית אנשי קשר (0960₪חס0) ב- אססטטס אספסזסווא. בדומה לכך, ניתן לאכלס ערכים ממקור נתוני 460655 בטבלאות של מסמך סזס\. הדוגמאות בפרק וה מתמקדות ב- 66055, ב- ₪00%ט0 וב- 6זס/צ, אולס העקרונות הכלליים חלים גם על יישומי 08066 אחרים, וכן על ערכות של יצרניסם אחריס, שנחשפות בהן תבניות האובייקט באמצעות אוטומציה ומתאפשר בהן טיפול בנתוניס באמצעות פחסטפסו!קק זסז 88516 |508ו/ 50סזסוו (הפצ). פרק 9: שילוב 66655 עם יישומי 06066 אחרים | 409 קישור 466655 ליישומי 011166 אחרים בסעיף זה תערוך היכרות עס שלוש טכניקות (מנהלי 154% ניתניס להתקנה, השיטה 309506 ח6ק0 באובייקט 6סזס1!וגוא, ואוטומציה) להפעלת 460655 בשילוב עס יישומי 01066 אחריס. בסעיפיס הבאיס ייעשה שימוש בטכניקות אלה בהקשר מעשי. מנהלי ]154 ברי התקנה השתמש באובייקט ח6600חח60 המוכר ב- 420 (00[600 80 א6ע260 ₪67050%6) לקישור עס מקורות נתוניס אחריס באמצעות מנהלי 154%. מקורות מידע כאלה יכולים להיות כאלה שאינסם 365 ואינם 0086, כמו למשל 666א5, 0455 (- א800ז8ק. בסעיף וה נשתמש במנהל 156 ב- |66א₪ כדי ליצור קישוריות בין 460655 לחוברות עבודה ב- |66א5. יש ליישם טכניקות דומות בכל הנוגע למנהלי 154 בקבצי 5, 8א8600זהק, 1-2-3 100₪15, טקסט ו- |אדה, אלא שלכל מנהל התקן מאפייניס נפרדיס ומגבלות משלו. תוכל להרחיב את ידיעותיך על ידי עיון בסיכוס אודות המאפיין 60066 בתוכנית העזרה המקוונת. הערה: היקף התמיכה ל- 154% בר התקנה ממשיך לגדול בהתאם לצורכי המשתמש וההתפתחויות הטכנולוגיות. ב- 2000 06655 בוטלה התמיכה ל- 154% עבור מסדי נתונים של סזקאס] 16050 לטובת מנהל סזקאס] 0086. מנהלי 15% המקובלים ימשיכו לפעול עם נתוני 08455 ו- אס0ַ8ז8ק בגירסה 5 ומטה. אם דרושה לך גישת קריאה/כתיבה לגרסאות אחרות, עליך לרכוש בנפרד את תוכנת 807800 6חופָח= 3030856 באמצעות 56פוזסחן]. כאשר אתה משתמש במנהל 15%, מחרוזת החיבור שלך מכילה שלושה ארגומנטיס, שכל אחד מהס חייב להסתייס בנקודה-פסיק. תחילה עליך לקבוע ספק. אס אתה משתמש במנהל 158% בר התקנה, התחל את מחרוזת החיבור בהפניה לספק 4 16%. המשך במיפרט המצביע אל הקוב עבור מקור הנתוניס. אס מדובר ב- |068אם5, על הפירוט לכלול את הכונן, הנתיב ושס הקובא. קבע את הפרמטר האחרון על ידי הצבת שס מנהל 158% הרצוי כהגדרה לפרמטר המאפייניס המורתבים. קיימים מנהלי התקן מוגדריס לגרסאות השונות של |68א5 ולסוגיס אחריס של מקורות נתוניס שניתן ליצור עמס קישור. ההפניה אל חוברת עבודה ב- 2000 66 נעשית באמצעות המחרוות 'י8.0 |66אם'י, ולאחריה נקודה-פסיק. בדוגמת הקוד הפשוטה שלהלן נעשה שימוש במנהל 158% כדי ליצור קישור עס חוברת עבודה ב- 2000 !₪666 בתוך יישוס של 2000 860655. המשפט חופ מצהיר על אובייקט ח6600החס6 חדש ויוצר אותו. המשפט הבא מתחיל את החיבור על ידי הצבעה אל חוברת עבודה של |68א5 באמצעות מנהל 158% ב- 8 |5%68. לאחר שנוצר החיבור עס מקור הנתונים, על היישוס להגדיר טווח של תאים בחוברת העבודה. בדוגמת הקוד 0 הח 2000 466655 מוקצה הטוות 60500065 שבתוך הקוב לערכת הרשומות ששמה 5811 466655 משתמש בקישור זה כדי לטפל בנתוניס שבחוברת העבודה. בסיוס הדוגמה מודפסות שתי העמודות הראשונות של השורה הראשונה מתוך הטווח שצוין בחוברת העבודה של |66א₪ בתוך חלון 1601886 ב- ₪00655. (5זו; הח סז סחוזק ]6662 ה ח60 5 8 501 , הסו66 ה ה 8.00 00 סא 5 1 החש וחוס .6 |66אם 60 הס 66 ה ח60 6אהּאן ' 8 ";₪08.4.0 16070508.36%.01]= זס0ועסזק" ה1.006החס 8 ";5|א.605%000675 8009 6665560/ פחווחות3זפסזק:66=6ט50 זכ" ";8.0 |66א =00677165זק 060ח6סאם" .6 |06א חס 28560 66070566 ץ|הס-680ז הסקס ' אסא = 561 56% ץוח זה ס- 3006 = 6קץ דוס5זט6. 561 ץ|הח6800א06 301 = 6כץ 0667 561.1 6 , , ,1 החש ,"5 60500" ה6ק561.0ז .0 117556 וחס] 16]05 56166060 +חוזק ' 36 /. (1 )6!05ו=. 561 ,6ט|8/. (6|05)0ו=. 561 זחוזק. פטטסס .4 סל 660 ה ח60 0056 ' 6 סט 0ח= כאשר עובדים עס מנהל 154% אין צורך בפתיחת מקור הנתונים ב- 566 (או אפילו בפתיחת |66א5 עצמו). כמו כן לא דרושה ליישוס הפניה אל תבנית האובייקט של |66א5. על אף הדרישות המזעריות של מנהל 154% ב- |66אם, ניתן להשתמש בו הן לקריאה והן לעדכון של מקורות נתונים ב- |66א5. השיטה ססיוווספבּז3 ח6ק0 באפשרותך להשתמש בשיטה 766ט080950ח6ק0 של האובייקט 6סזסואווגו כדי ליצור קישור עס מקור נתוני 466655 מתוך יישוס של 6זס). עליך להשתמש ב- 60655 - וליתר דיוק, ב- ‏ 26% - כמחסן נתונים ליישומי מיזוג דואר היוצריס תוויות מען, מכתביס אחידים, קטלוגים של מוצרים, וכוי. אס כי ניתן לבצע ב- 866655 חלק מהפעולות הללו באמצעות האובייקט 1סכ6ח, סביבת 6זס) היא הטבעית יותר לכתיבת תכנים. כמו כן תמצא ב- 6זס\ כלים מעולים לעיצוב טקסט ומאפייני 6 ץצ (ימה שאתה רואה הוא מה שאתה מקבלי) החסריס באובייקט ₪600 של 5,. תוכל לנצל משאבים אלה בעזרת שגרות 88/ מבוססות-6זס/ו, וכן בעורת אוטומציה מתוך 60655. כאשר אתה מפנה למקור נתוני 860655 באמצעות השיטה ססזטספפאה8סח6קס, עליך להפנות תחילה לקובצ של מסמך שזס), וכן אל האובייקט 06ז6!ו8 של 6זסש. יש לציין שני פרמטריס עבור השיטה עם 860655 : הפרמטר 6וחפּא (שם), המציין את הכונן, פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 411 הנתיב ושס הקוב של מקור הנתוניס ב- 460655, והפרמטר ח6600חח60 (חיבור), המגדיר מקור נתוניס מסוג יטבלה' או ישאילתהי, ואת שם אובייקט מסד הנתוניס ב- 5. חובה לכלול במסמך 6זס/ סימניות או שדות מיזוג דואר המצביעיס אל השדות שבמסד נתוני 26%. כדי להפעיל מיזוג השואב נתונים ממקור הנתונים שצוין (למשל, טבלה ב- 160655) אל תוך מסמך 6זס\, עליך להפעיל את השיטה 6606א5 עבור האובייקט 6זסוווו1ז. לרשותך מספר דרכים לסינון ערכים המופיעים במסמך מיזוג דואר ב- חזס/!ו. לדוגמה, תוכל השתמש בפרמטר 510067060% 501 של השיטה 06זט080850ח006 כדי לצייןו אילו רשומות לשלוף מתוך מקור הנתוניס. כאשר עושיס פעולה זאת עס מקור נתוני 365, ההפניה אל 460655 נעשית באמצעות מנהל 0086, תוך הצבת ‏ 6005 כהגדרת הפרמטר חסו660חח60. השתמש בתחביר של משפטי 501 לסינון רשומות מתוך טבלה או שאילתה ב- ₪66655. גישה אחרת לסינון כרוכה בשאילתה מיוחדת במסגרת 460655. הפרמטר ‏ 600060 של השיטה 08%8500/66ח6ק0 רק מפנה אל אותה שאילתה. השתמש במאפיינים 0 ו- 85%₪60070| של האובייקט 06זט₪80950 כדי לציין את הרשומה הראשונה והאחרונה האמורה להופיע בתוך מסמך שזס/ לאחר מיזוג. האובייקט 0506 מצביע אל יעד שצוין על ידי השיטה 66זטס5ט0הסח6קס. אוטומציה בעזרת אוטומציה ניתן להפעיל יישוס מסויס כך שישלוט ביישוס אחר. +050ז6:₪ ו11006 0201601 +ח6חסקוחס, או 60%, מגדיר את הפרוטוקול עבור יכולת זאת. היישוס השולט פועל עס היישוס הנשלט על ידי טיפול בשיטות ובמאפייניס החשופיס של היישוס הנשלט, ותגובה לאירועיס המתרחשים בו. כדי לעשות זאת, על היישוס השולט להכיל הפניה לספריית האובייקטים של היישוס השני, וליצור מופע של אותו יישוס (עייו בפרקיס 7 ו-8, שס תמצא פרטים על יצירה וניהול של הפניות באמצעות קוד). היישוס השולט מפעיל שיטות ומקצה ערכי מאפיינים באמצעות המופע של היישוס הנשלט. תרשיס 9.1 מציג תיבת דו-שיח 60065ז₪610 (הפניות) מתוך יישוס ב- 460655, עס הפניות ל- |66אם5, אססשטס ו- סזסצ, כמו גם לספריית 01866 המכילה את מבני האובייקטים המשותפים. במובן מסוים, אוטומציה הופכת את כל מבני אובייקט הרכיב של 0666 למשותפים. 860655 מסוגל לחשוף את מבנה האובייקט שלו כשרת אוטומציה, ולנצל את מבני האובייקט של יישומיס אחריס בכך שהוא פועל כמו לקות של אוטומציה. 2 הח 2000 406655 | < | א | |68ח) | סופת :הז 6|סבווב/ים 5חסוז3שו|קקה זס= 835 |בטפו/י ץז זט | 86[ 9.0 260655 :)ס5פשסוויז חסוזה טפנה = 01 וש ץזב זו 1 2.1 0206065 2363 606% +)ס5ססווי וש וז 560 חב וכ זס] 2.1 .= סיס זספסיסוויז |+ ץז זט | +60[ 3.6 כימ0 ז)ספסיסווי] / זב זט | 66[ 9.0 07666 0% שפוזסוזק עזב זםו | 0שןסכי 9.0 ₪ 0 5 ץזבזפו ] ז86ןפכי 9.0 >ססופטכס 0 סז סו שו ו 5זסוןז |+ עזבזסו | שפןפכי 9.0 הזופ :)ספסיסוויז וש /- סוס 07666%66/9 781684 ל ]50סזסוןי] != חב זוזיק : 6 :ח106300 53 יִפִהַבּחַחה 1 זב זט | סוחס 56 6שו60 ץזב !| 6קץש [סחס6 6ויסוזפיו [סלחס-) ששחפזפ'/חס= אששו6 יז זט | סיד 1.0 פסת=5מ | = ץזבזפו | ןפי 9.0 [66א= )ספסיסויז תרשים 9.1: תיבת הדו-ש'יח 861660665 ב- 166655, ובה הפניות ל- |66אם, אססטס ו- בזסשצ הפונקציה 63%602[666ו61 לעומת הפונקציה 06+00[66% השתמש בפונקציות -07680600[60 ו- 06%05[60% ליצירת מופעים של יישומים אחרים. הפונקציה 66+00[66 משמשת לבירור אס כבר יש מופע פתוח של יישוס מסוים. אס כן, ניתן ליצור הפניה אליו. אס איש אינו משתמש בפועל במופע, דבר זה יכול להיות קביל. אס יישוס שרת האוטומציה עדיין אינו פתוח, או אם אתה מעדיף להימנע משימוש במופע פתוח, השתמש בפונקציה ‏ 07681600(606 כדי ליצור מופע חדש של יישוס נתון. תוכל להשתמש בפונקציה 06000[6% גס כדי לפתוח מופע של יישוס, שבתוכו פתוח קוב מסוים. שתי השגרות הבאות יוצרות מופע של |66א₪ מתוך יישוס ב- 866655. השיגרה השנייה, 6זסח דכק15, מפעילה קישור מאוחר (קישור בומן ריצה) כדי לברר אס קייס מופע של יישוס 0666 כלשהו. משתנה ססג[פס עס ציון אובייקט כללי יכול לייצג כל יישוס של 6 (ואפילו אובייקט 60% אחר). השיגרה הראשונה, 6ז6 זוא משתמשת בקישור מוקדס (קישור בזמן הידור) המשתנה ססה!א יכול לייצג רק אובייקט חסטפסווסקה של |66אם. לא ניתן להחליף את חסספסו|ססה.|66א5 בפונקציה 67680600[66 או 660001666 באובייקט חסטפסו|סק אחר של 06666, כמו למשל חסטפסו|מקה.6זסצ. עס ואת, ניתן ליצור שיגרה חדשה ונפרדת, למשל 66 ד0זסאו, שתכלול משתנה שיוצהר כאובייקט מסוג ח00פסו|פקה.6זס/. השיגרה החדשה תוכל להפנות אל השיגרה הכללית 6זח דסק5ו, בדומה לפעולה שעושה השיגרה 6זפחדוא. פרק 9: שילוב 66655 עם יישומי 06066 אחרים ‏ 4133 ()6ז6ח דא פט5 חסוסהסו|מסה. 661א= 5 קסהוא חזוס החד 8156 = ("חסוז8סו|מסה. [66א5" )סח דכק הפו זז .חח צ6ח 8 676806 ,סח זז ' ("חסוז63||סקה. |66א=" 0768%600[66 = מס/א 56 סד = 6!סופו/. סקס וא 6 .5066 15000א6 6+ 6167666 ,066156 ' ("חסו68ו|קקה. |66אם" ,)06600[666 = מס/א 56 + 0חם חוח%ס] 0+ 61676006 56% 0ח3 קקה 6|056 ,610560 06ח560ח1 פזחבּצ ספ ]ך ' = ,650 ץפע ,"? -1א 01056")א00 150 + הסח ד 65 פע = ("2000 266655 167050 הווה וחהזטסזק" זוטס. ססהוא חוחזס\ = קקה|א 56 + 0חם טפ 0ח= ח800|68 45 (6ה המקה )6זסח דסקה5ו הסססחט= + ₪506 זסזזם הס 6% 85 סקהןסס חוחוס 6זך = 6זסח דסק 5 (6חחהּסקה , 060021666 = כסה[סס 56% 6 = 6זסח דכ150 הסחד 0 <> זססוחטא.זזם + חסססחט= סח= בדרך כלל אוטומציה אינה הופכת יישוס של 06066 לנראה לעין כאשר היא פותחת אותו. אס רצונך שהיישוס הנפתח ייראה, יהיה עליך בדרך כלל להגדיר למאפיין 6סופו/ (גלוי) של אותו יישוס ערך 6טזד. יישומיס שוניס חושפיס אובייקטיס שוניס לאוטומציה. 5% חושף אובייקטים כמו חסטפסו|סקה, >סססאזס\ ו- 66%ח5אזסצ. כמובן, שני האובייקטיס האחרוניס אינס זמיניס ביישומי 0806 האחריס. סגירת הפניה של אוטומציה השיגרה 6ז6ח זוא מסלקת באופן מותנה הפניה ליישוס 06666 אחר. תחילה, יש לסגור את היישוס או לצאת ממנו (ו6א5 תומך בשיטה אט0). לאחר מכן יש להגדיר בהפניה ערך פחוחזסא. שני השלביס נחוציס כדי לאחזר את המשאביס שתפסה ההפניה של אוטומציה. 4 ח,/ 2000 466655 עבודה עם |66א₪ מתוך 466655 שתי הדוגמאות שלהלן מראות כמה יכולות ש- 154% בר התקנה ב- 50066 מוסיף ליישומים. הדוגמה השלישית מציגה שיטה פשוטה אך רבת-עוצמה לשימוש באוטומציה. במקוס לטפל במישרין באלמנטיס מפורטיס של מבנה האובייקט של שרת אוטומציה, השיגרה מפעילה שיגרה בתוך שרת האוטומציה. שיגרה זואת, בתורה, מעדכנת את קובצ גיליון העבודה, אולס בזמן ובאופן שנקבע על ידי יישוס של 06655. עבודה עם ערכים מתוך גליונות עבודה של |66א= שלוש הדוגמאות הבאות פועלות עס חוברת העבודה המוצגת בתרשים 9.2. שס הקוב הוא 6א.685ץ₪. ארבע העמודות הראשונות בגיליון1 מכיליס נתוניס שהוזנו ידנית, וארבע העמודות הבאות מכילות ביטוייס המבוססיס על ארבע הראשונות. בשורת הנוסחאות מוצג הביטוי עבור ערכיס בעמודה 6קא. הנתוניס שוכניס בטווח ששמו 085. תיבת הדו-שיח הגדרת שם (פוחהּ)\ 6ח26) מציגה את גבולות הטווח בגיליון1. [< |םן=. 1" 0501זסווא גה כפו צוסטחוצל 2353 1005 6החזסת 5ז56ת1 ופול פוטם 6 6 |-+ זפ פסוזק ו 5 | 26029 ]1 . 21.4 125 1-09 4 |-144 . 200 1005 104 6 ,145 220 115 07 9 | 145 208 05 103 15 23 0055 4 25 מו 9" 01/20/1996 5 247 86מנמ-2 אסא חן פסוחב | | 281.7 056 5 201 ו 9 - 03/09/1996 206 86מנמץך2 24 06 1 86מנ חר 200.1 86 1 86מנ- 2205 וו 9 06/15/1996 | | 306 ו 2.2 מ תרשים 9.2: גיליון אלקטרוני של |66א5 עם טווח נקוב, 885, המשתרע על פני התאים 1 עד 445 פרק 9: שילוב 466655 עם יישומי 08066 אחרים | 415 הדוגמה הראשונה קוראת ערכיס מתוך |68א5, מבצעת חישובים שוניס ב- 60655, ומדפיסה את התוצאות בחלון 60/806ווח1. לאחר שנוצר חיבור עס מקור הנתוניס של ו5%66, היישוס יכול לטפל במקור הנתוניס באמצעות קוד, ממש כפי שהוא מטפל בטבלה פנימית ב- 06655(. לדוגמה, ניתן למנות את הרשומות בטבלה, או לחשב ערכיס על סמך הערכים המופיעים במקור הרשומות. הדוגמה מדפיסה בחלון 1601866 את הערכיס הקיימים בגיליון העבודה של |6א5, לצד התוצאות של ביטוייס שחושבו ב- ו66אם. פעולה ואת מאשרת שחישובים ב- 866655 יכוליסם להניב תוצאות והות לחישוביס ב- |66אם. יכולת ואת עשויה לצמצס את כמות הנתוניס שעל היישוס לקרוא מתוך גיליון אלקטרוני עתיר-חישובים. 216 (חוזקסטקוס6 |אחסקס סט5 סו חח 8.00 0 עוסא 5 1 החש וחוס 5 561 וחוס חס 5 |ב6ס ד60 קר 60 ,6!טטסכ 5 6קו 0ס6טקוחס6 וחוס .6 |66א 0 הס 66 ה ח60 6אהּאן ' 8 ";₪08.4.0 050.26%.01ז6ו = זסוטסזק" ה6ק1.0החס 8 ";5|א.885ץוח6665508009 חחווחות8זטסזק:766=6ט50 הכ" ";8.0 |66א5 =00670165זק 060ַח66אם" .6 |66א= חס 28560 6607056% ץ|החס-680ז חסמס ' .ץ!חס-680ז 15 06180|6 ||₪668 ' אס = 561 56% 36 , , ,1הח6 ,"085" ח561.006ז .5 660 הזו 6066 800 660705 806זסותטחם ' 501.50 וטחט סס ("5חס!]16!05)"08ת. 551 / ("6|05)"1!65ות. 5%1 = )ק ו ססטקותסס ("חס||58) זסק 06וזק")6!05ו=. 561 * ("5חס||6!05)"683ו=. 551 = |פסס ד60טקוחסס = ,("16!05)"08%6ת. 561 זחוזק. פטטסס ,("65!ו")6!05ות. 561 ,("5חס!|6!05)"68ות. 561 = , ("חס||68 זסק 6סוזק")6!05וח. 561 | ,קן]60טוקותסס , ("קו")6!05ות. 561 = , ("||ו66 85%! 5166 16|05)"08/5=. 5%1] |0 607 קר 60 , ("]058 ד")6|05ו=. 561 ]אס עסו 561 קסס | 0 6600 ה 60 01056 ' 6 50 0ח= 66655 2000 8 השיגרה המשנית מצהירה על אובייקט ח6000חח60 חדש, יוצרת אותו, ולאחר מכן פותחת אותו. דבר זה הוא בעל חשיבות מכרעת כאשר עובדיס עס מנהל ‏ 15%6, מכיון שווהי הדרך שבה תנהל את הקישור עס מקור הנתוניס שמחו ל- 860655. מחרוזת החיבור מצביעה אל האובייקט בקוב> 5א.1/685 של |66א5 (קטע מתוך נתוניו מופיע בתרשים 9.2). עליך לסייס את מחרוזת החיבור בציון 67065קסזק 060ח6א₪ המצביע אל מנהל ה- 154% המשמש את היישוס שלך. בדוגמה נעשה שימוש במנהל 158% (|66א5 0) שפועל עם קבצי חוברת עבודה ב- 2000 |08א₪ וב- 97 |66אם. ההפניה 866070566 בהמשך השיגרה היא מרכיב קריטי, אס כי סטנדרטי למדי, ביישומי 154. על ידי הגדרת ערכת רשומות בחיבור, מתאפשר ליישום לקרוא מתוך, ולכתוב אל תוך, מקור הנתוניס המרוחק. אס יישוס ה- 866655 שלך יוצר קישור עס מקור הנתוניס של |6אם, עליך להשתמש בשיטות 0086 ו- 00816 של האובייקט כדי להוסיף שורות חדשות לגיליון אלקטרוני מתוך 860655. במיפרט ערכת הרשומות עליך לקבוע איזה חלק של חוברת העבודה יקושר. אס תכלול הפניה לטוות 5, ערכת הרשומות תוכל להשתמש בטווח המוכלל עבור גיליוו העבודה. התחביר להפניה אל טבלה חיצונית ב- |5%6 זהה לתחביר המשמש להפניה לטבלה פנימית ב- 5 הערה: אם מוטל על היישום שלך לכתוב אל מקור נתונים ב- |6א5 מתוך 60655, או להכניס בו שינויים, הקפד להגדיר סמן שיתמוך בפונקציונליות זאת (לדוגמה, העבר את הקבוע %6/56%ח6ק300 עבור סוג הסמן, ואת הקבוע 01506 0ק0א06 301 עבור סוג הנעילה). שלא כמו ב- סגפ, סמן ברירת המחדל ב- ססג אינו תומך בעדכון. האלמנט החשוב הבא בשיגרה הוא לולאת ספ המונה את כל הרשומות בטווח 485. שתי השורות הראשונות בלולאה מחשבות ביטוייס עבור שני ערכיס מחושביס. המשתניס 6 ןטקו ס6 ו- |8לס [זס%טקותס6 משוויסם את חישובי 466655 לאלה של |6סאם, ומאמתיס את יכולתך לטפל בנתוניס שנקראו ממקור נתוניס ב- |6א5. שבע השורות הבאות בלולאת 00 מדפיסות בחלון 60/806ח1 את ערכי שדות הטבלה מ-66אם, לצד שני משתניס מחושבים עבור כל שורה. הניווט בתוך טבלה ב- |6א5 זהה לניווט בטבלה פנימית. כמובן, עליך להפעיל שיטת )א6פעסו! בתוך הלולאה כדי להתקדם בין שורות גיליון העבודה. תרשים 9.3 שלהלן מציג את חמש העמודות הקיצוניות מימין בפלט המופק מן הדוגמה הקודמת. שתי העמודות הראשונות מציגות תוצאות והות עבור ₪6 ב- |66א₪ (העמודה הראשונה) וב- 466655 (העמודה השנייה). דבר זה יפה גס לחשבון הדלק הכולל בכל מילוי. דבר וגה מאשר שסוגי הנתוניס 000!6 ו- ששח6זוטס ב- 06655 מסוגליס להגיע לתוצאות זהות לאלו של |66אם. פרק 9: שילוב 66655 עם יישומי 06066 אחרים | 417 |<1ם)- | 6 ו ! 4 4 7("(|-]( 4..... 1 1635 1 "5 1-... 1.. 2. 2כ. 9-].]... 9.. 3 8786782. 3 8786782. 1... 1... 4.. 4.. 2-7... 7.... 2ַ.... 2... 4 . 4 2 5.... 5..... 732 3. 9 .... 3 . 3 217452. 9".... 9 .-.... 5.. 5.. 4..... 4.... 1 5 99"5-1 5 1... 1.... 6. 6. ו תרשים 9.3: קטע פלט של השיגרה %חוזק6זטקו 60 |אחפקס. שים לב לתוצאות החישוב הזהות ב- 66655( וב- |66א5 יצירה דינמית של טבלאות 466655 המבוססות על גליונות עבודה של |66א= הדוגמה הקודמת חשפה את הערכים בגיליון אלקטרוני באמצעות ערכת רשומות. אס מוטל על היישוס שלך לפעול דרך קבע עם נתוניס מתוך גיליון אלקטרוני, תוכל לשפר את רמת הביצועיםס שלו על ידי העתקת הערכים מגיליון העבודה אל תוך טבלה מקומית ב- 606055. נוסף לכך, היישוס יצמצס בדרך ואת את הביקוש שלו למשאבי חיבור על ידי העתקת הערכים מגליונות עבודה אל תוך טבלאות מקומיות כאשר דרושה לו גישה בו-זּמנית למספר טווחים שוניס בגליונות עבודה. הדוגמה הבאה יוצרת באמצעות קוד טבלה בעלת אינדקס לטווח של גיליוו אלקטרוני, ומאכלסת את הטבלה בערכים מתוך אותו טווח. שיס לב שבדוגמה נעשה שימוש בסוג הנתוניס החדש /06ח106 כדי לצייןו את ערכי ההתחלה וערכי הצעד בשדה האינדקס של הטבלה (סזץוא). () 3016701 [6768%6 5 קז 30/67 ]676806 0 601 זסזזום חס חסוז66חח 8.60 0 ₪5 1 חהח6 חחוס הסוח ה 5.60 0כ ג צוסא ₪5 2חח6 וחוס 5 561 הוחו 585 502 וחוסם 0 5 6801 וחוס 6פהּד.אסכג ₪5 1וס חחוס אססח1. אסכה ₪5 1אכ חחוס 06055 2000 ₪ 8 .0605 %80!6 800 ,68%8|00 ,660 ההסס6 66% ' הסוח .קזח 60 = 1החס 566 0 וס = 0801 56% 1חחס = 66000 ה ה6600עו6ה. 68%1 6טד. אסכ סא = 1|טז 56 .ח0ו60|!660 65| ד 06 60 6! 0ח6קק3 0חה 085 0פחחהּח 8016+ 6חו6ס ' 1טץ הו "85ח" = 6וחהבּא. 6 ,"סה" 0הסקקה.5חוחטוס6. 6סטסססה ,"פסוו]" סחהסמקה.5חוחטוס6. 6 ,"5חס!|68" 6חססקה.5חוחטוס6. ץ6ח6 30 , "הס!|8זסק6סוזק" סהסמקה.5חהוחטוס6. הז%ו\ 0חם= 1 0חהססכ).65|סה ד. 6861 "(106000/)2,2 סנוא אואע 601 ספא 685 ם ופד חם דוה" = 50501 1 66006אם. 1 החס 0.16 6 = 1אק 56% 1 וו "ץסא הר וזקץ]" = 6וחהבּ\. סד = ץ6א/זהוחוזק. סד = 6טסוחש. צוס!|1!50158טא301706 = פ!וטאאססחז. חזו סח "סזץוז" 6חסססה.5הוחטוס6. 1אס 1 החססכה.65א06ח1. 1!ט+ .6 |06אם 0 הס 66 החסס 66הון ' 8 ";₪08.4.0 67050.6%.01ו = זסוטסזק" ה6ק2.0החס 8 ";5|א.885ץוח 8209 666550 הווחה זטסזק:50606=6 כ" ";8.0 |66א7006765=5ק 060חססאם" .6 |66א= חס 28560 6607056% ץ|החס-680ז חסמס ' .ץ!חס-680ז 15 06180|6 ||₪668 ' שא = 561 56% 36 , , ,2חח6 ,"085" ח561.006ז 6 |068! חס 08560 66070566 66עו-680ז הססס' .5 ססחחהח' אש = 502 56% 1חחס = 066000 ח600ע6. 502 3 = 6קץ 562.65 6 וק 0600 301 = 6כץ 0687 562.1 "085" ח5%2.006ז פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 419 51.50 וסחט ספ 2 חס 00 ("6|05)"28%6ו=. 561 = ("6|)05)"28%6ו=. ("65]ן6]05)"1ת. 551 = ("65|!ו]" )5 |סו=. ("5חס]!|16]05)"08ת. 551 = ("5חס!|05)"8!סו=. ("חס||₪8 זסק 66ןזק")5%1.=16|05 = ("חס||8 סק 66וזק" )5 |סו=. 6 חזו/ 0חם %אס טסו 561 קסס | 067 סטפ זואם | 0 החד 2147217857- = זססוחטא.זזם +1 "35" 65.06]606|סה ד. 681 56 56 חססק656.זו= ;זססוחטא. זחם ז+חוזק. פטטסס ]0 676867 6506 + ₪0 סט 0ח= השיגרה המתוארת לעיל ארוכה מכיון שהיא מבצעת מספר פונקציות נפרדות, אס כי קשורות זו בזו. כדי ליצור טבלה מקומית שתכיל ערכי גיליון אלקטרוני של |66אם, דרוש לדוגמה זוג אובייקטיס: ח06600חח60 (- 866070560. אובייקטיס אלה מספקיס קישוריות בו-זמנית אל גיליון העבודה ואל הטבלה המקומית, כך שהשיגרה מסוגלת להעתיק שורה ממקור נתוניס אחד למשנהו. כדי להגדיר באמצעות קוד טבלה מקומית ב- 860655, הקוד מצהיר על אובייקטי 6819|00, 1806 ו- אססח1. לפני העתקת הנתוניס מ- 6א5, השיגרה מכינה טבלה מקומית שתקלוט אותם. היא פותחת בהצבת החיבור לפרויקט הנוכחי בהפניה 1חח6. הואיל ו-1חח6 מפנה לחיבור הפרויקט המקורי, אין צורך לכלול בהצהרה שלו את מילת המפתתח שוסא. מנגד, השיגרה יוצרת מופעים חדשים של האובייקטים 688/00 ו- 6|פפד (דבר שמשתקף בהצהרות שלהס, בהכללת מילת המפתתח שוסא). לאחר מכן השיגרה משתמשת בקוד ספ כדי להגדיר ולצרף שדות שיקלטו את ערכי גיליון העבודה. כדי לציין את ערכי ההתחלה וערכי הצעד לאינדקס, השיגרה חוזרת לקוד 501. יכולת ואת תלויה לחלוטין בפונקציונליות מוכללת של מנגנון 265. לפיכך, קוד 501 מותאס ספציפית למנגנון מסד הנתוניס 366. לאחר השלמת הגדרת האינדקס וצירופו לטבלה, השיגרה מכוננת חיבור אל גיליוו העבודה (בדוגמה את נעשה שימוש באותו גיליוןו אלקטרוני ששימש בדוגמה הקודמת). 0 הח 2000 406655 כל ניסיון להגדיר מחדש טבלה קיימת יחולל שגיאה שמספרה 2147217857-. השיגרה מוחקת את הטבלה הישנה וממשיכה בהוספת הטבלה החדשה. ביישוס אמיתי, ייתכן שעדיף לשמור את הטבלה הישנה בארכיון. השיגרה מתכוננת להעתקת הערכים על ידי יצירת שני אובייקטי ₪660705% - האחד עבור הגיליון האלקטרוני, והשני עבור הטבלה המקומית. הקוד משתמש בסמן ברירת המחדל עבור הגיליון האלקטרוני, מכיוו שמוטל עליו רק לקרוא מהגיליון האלקטרוני ערכים לפי הסדר. לעומת את נעשה שימוש בסמן מסוג 66/566ח30006 עבור הקישור לטבלה המקומית, כך שניתן יהיה להוסיף רשומות. מכיון ש-866655 מסוגל לחזור על חישובי 56 עס תוצאות זהות, אין צורך להעתיק שדות מחושבים. דבר זה הופך את ערכי השדה בטבלה לבלתי תלוייס זה בזאה, כך שהטבלה מנורמלת. הפעלת שגרות |66א5 מתוך שגרות 66655 בשיגרה הבאה, ‏ |אחטז, 66655 משתמש בפונקציה 06006 כדי ליצור מופע של האובייקט חסטפסו|כק של |5%66, המכיל את חוברת העבודה 685 המוצגת בתרשים 2. השיגרה מגדירה ערך 6טזד למאפיין 6|טופו של האובייקטים חסטפסווסקה ו- אוססחו/. לאחר מכן היא מפעילה את השיטה חטח של האובייקט חסטפּסוופֶקה עבור השיגרה 600685זטקחס6 בתיקיה >ססם)אזס/פוחד של הקוב 5א.685ץ. | אחרי שהשיגרה 600600685 מקובצ ה- |66א5 מחזירה את השליטה ל- 466655, השיגרה ]אחטז מפעילה את השיטה 586 עבור >סספאזס/6/עו46 ב- |ש6סאם. פעולה ואת שומרת את השינוייס ומונעת הופעתה של שאלה אס לבצע שמירה זאת כאשר השורה הבאה מפעילה את השיטה זוטס. אס אתה מעוניין לסגור את |5%68 מבלי לשמור את השינוייס ובלא השאלה אס לבצע שמירה, הצב ערך שטזד במאפיין 58/60 של חוברת העבודה בטרס תפעיל את השיטה שוטוס (עייו בשורת ההערה כדי לברר מהו התחביר הנכון). איחזור משאבי האוטומציה נעשה על ידי הצבת ערך פַחווזסא בהפניה של אובייקט האוטומציה. () |אחטז פט5 אסססאזס/\. [66א= 5 א8אז/ |אער הזוס .פע 86 0ח3 אססטאזסעט 1א 0+ הס 660 הח0ס6 הסכס ' ("5|א.085ץ]66655608009 6 חורחרחהזטסזק :0[66)"6 600 = אע |אשו 56% 6טזך = 6|סו5ו/. חס הסוסה > אע |אץוח 6 = 0!6ופו/. ("5|א.085ץ" )5וססחו/ש. תססהסו|מסה. > אז/ |ואץוח 0106 800% אזס/פוח ד חן 6זט60ס6סזק חטק ' "5 חק וח ס6. 00 אס וח ד" חטף. הססהסו|מסה. > אע |אץוח 0% חהסוסהותסלטה 0|056 ' 0 סח 56% זס 60000 58/6 6+ 6אסעחו זסחסום ' .5 8חוע58 30001 +קוחסזכ 8 סוסט3 60 סטד 60 ץ+זסקסזס ד 6 .אס 6 הסוס הסו|ססה. א אזע ואץוח 6 = 58/60.אסססאזס//6ע60ה. הס 63ו|סקה. אםאז/ |אץוח - ' חססהסו|סקה. > אע |אץוח חוח%ס] = 86אז// |אץוח 56% סט5 0חם פרק 9: שילוב 460655 עם יישומי 0066 אחרים | 421 תרשיס 9.4 מציג את גיליוו העבודה לאחר הפעלת השיגרה 685ח60+טקוחסס. שיס לב שהשיגרה מחשבת נתוני סיכוס שתי שורות מתחת לשורה האחרונה בטבלה, ומוסיפה עמודה חדשה המציגה את הקילומטראזי חיומי (במיילים) בין מילוי מיכל למילוי הבא. השיגרה מתאימה את גודל העמודות לפי הערך הרחב ביותר שלהן. [<1) - | 5 - [שסא= ))ס5סזסווא גה | |פ|=. קוו אוסטחועצ ‏ 2353 1005 6החזם= > הספת1 אושוע וב 6ום [שן =|ש ; 8|- ₪. | ₪09 )5 2 0-6 ₪ 38 ₪ ₪ ם! מכ = 2 7 ה 9 ₪ 5 8 - ב זפ 6פווו] |13סך ||80ז 351| 8סחופ ₪35 | 8!וח זפק 15ה66 | ₪06 | חם!|58 זפק פסוזק 68| 4056 5 8% 01 % 33.256 1.38 % 1.407 346.1 | 10/11/1995 39 8 5 9 103 % 1.864 1.38 % 10140 .323 | 10/20/1996 2008 9 5 10 10066 % 158 142 % 9.365 29179 10/30/1996 26 5 5 6 10055 % 30.356 1.36 % 9006 2916 | 11/05/1996 2.8 8 "5 6 102 7% 1.35 % 995 3137 | 11/111996 27 9 5 7 104 % 30.849 1.36 % 9705 299.29 11/18/1996 5.7 4 5 9 1007 % 1.368 1.46 % 721 336.3 | 11271996 1 4 5 8 104 % 0.126 1.32 % 9.510 2865 | 12/05/1996 29|[ 1 7 002 % 3.699 1.30 % 10554 324 000 2 8 5 5 104 % 30736 134 % 10740 330.1 | 12/17/1996 86 3 5 5 103 % 32.26 1.28 % 77 3188 000 226 8 5 16 1040 % 32.839 1.30 % 10993 361 007 4 0 55 039 5% 344 1.32 % 10314 347 127( 2.7 8 5 6 03 % 30635 1.33 % 217 313 0007( - 0 ] 57 448 055 8 1.3801919023 448 13483.5 | ]פוטס ב; [ [4ן / 6003ח5 ), 509662 ), 506661 ו | | 0 / | | | | 1 / תרשים 9.4: קטע פלט של השיגרה 685ח60זטקחח60; שים לב לעמודת הנתונים החדשה, ולשינוי ברוחב העמודות השיגרה 01600685קחס6 כרוכה בקוד %8 סטנדרטי בלבד, אולס היא משתמשת באובייקטים, במאפיינים ובשיטות ייחודיים ל- 5%66. אס תבצע פעולת אוטומציה, תידרש לך באורח בלתי נמנע היכרות כלשהי עס מבנה אובייקט נוסף, אחד לכל הפחות, במקרה זה מבנה האובייקט עבור יישוס 08066 שאתה מבצע בו פעולת אוטומציה. אחד היתרונות של השימוש בשיטה חטם, כמו בשיגרה |אחטז, הוא שהשיטה מאפשרת למפתחים להתמחות במבני אובייקט מוגדריס. כאשר מפתח מעוניין להשתמש בפונקציה רגילה ביישוס בלתי מוכר, באפשרותו להעתיק שיגרה שעוצבה בידי מפתח אחר. גס בלא היכרות יסודית עס יישוס מסוים, המפתת יוכל להפעיל את השיטה חט₪ עבור השיגרה שהעתיק. ()660000685וק וח ס6 50 אס 5 66%ח5ץוח הזוס זז 5 עש35%%0! ,060067ח1 5 אוסחו חחוס 08 ] 5 5עְ3סותט5 וחוס ' 661 6]076006 %0 115% (065066%5)1/ = 66%6ח5ץו 56% .וס ("085" )386 = 35600 2 ח/ 2000 466655 .680 חותט!60 55100 ' "ץְה זס0 65!ו1" = (9 ,66%.06|!5)1ח5ץוח . ץ08 ז6כ 65!ורח 6סטקוחס6 ' 0 35| סד 3 = צוסחו זס = = (9 ,00ח66%.06|!5)1ח5ץוח ("%.0" , (7 ,0סחו061!50. ("6)"085 3 / (2 ,אוסחו50ו|66. ("35" )הח )הס (7 ,א66%.06||5)!₪0ח5ץח + 5ץְהכו 50 = 5עְהסוחט5 אוסה! זאס)] הרות 5 6006 ' ,2 + 0/5.0000%ף. ("085" )₪306 )66%.06/|5 ח5ץוח "ץזהרחוח5" = ה|טותזסת.]|60/606 .65| |%0%8 6זוקרח 60 ' 166 ,60/606|].065600 "" 8 "(" 8 ש35%%0! 8 "02:0)וחט5=" = ב|טותזסח.]|60/606 .5חס||08 |0%09+ 6זטקוח60 ' 6 1 ,60/606|].05600 "" 8 "(" 8 ש35%%0| 8 "62:6)ש5=" = ב|טותזסח.]|6066ע60 .5 05 |600 6 טקוח00 ' 6 ,001/606|].)27156%00// "" 8 "(" 8 שש35%%0! 8 "ח:2ח)ותט5=" = ב|טותזסח.]|60/606 .||660] 35%] 5166 085 6זטקוחס6 ' 66 (1- ,60/606|].05600 "" 8 "(" 8 ש35%%0! 8 "03:0)ט5=" = בוט חסח.]|60/6066 .חס!|08 זסק 66וזכן 6זטקוח 60 ' ,2 + 5.000%אסף. ("085" )36 )66%.06115ח5 ץוח (2 + שש35%0!) 8 "6/" 8 (2 + ש35%%0!) 8 "=" = ב|טחחסת.||666ע60 חסו|8 זסק 65!וח 6זטקוחס6 ' 6 ,001/606|].)27156%00// = / (2 ,2 + שש66%.06|!5)]35050ח5 ץר )זה וס = ||666ע60 ("%%א.0" ,(3 ,2 + או66%.06]!5)!35%60ח5ץוח 6זך = 0|0ם.%חסת.||60666 .6 6 060% 6 קוח 00 ' 6 ,60/606|].05600 | / (8 ,2 + שש66%.06|!5)]35050ח5 ץר )הס = ||666ע60 ("0.4%%" ,(2 ,2 + צו66%.06||5)!35%%0ח5ץוח .ץ08 ז06 1!65ח 6 טקוחס60 ' 6 ,001/606|].)22156%00/ (2 ,2 + (ש5066%.06||5)!]35%%0ץח = קוחסל 55 = 602 ("%%%.0" ,35 50 (2 ,2 + ₪ש66%.06|!5)!35%0ח5 ו )הס = ||666ע60 .5 אוסח5 %0 5חוחט|60 65126 ' זו ססות ("1: 5)"3חרת ט!60. ("5066%1" )665 ח5אוס/ סט5 0חם פרק 9: שילוב 460655 עם יישומי 0666 אחרים ‏ 423 עבודה עם אסס!%ט0 מתוך 466655 תוכנת 000% משווקת עס ערכת תיקיות סטנדרטית, הכוללת תיקיות ללוח שנה, אנשי קשר, פריטים שנמחקו, טיוטות, תיבת דואר אלקטרוני נכנס, יומן, הערות, תיבת דואר אלקטרוני יוצא, פריטי דואר שנשלחו ומשימות. המשתמש יכול להוסיף תיקיות מותאמות אישית, ולקנן תיקיות זו בזו. המשתמש מבצע פעולות בפריטים בתוך התיקיות - הוספה, מחיקה, תצוגה ופונקציות נוספות. הגירסה הראשונית של אס טס שווקה עס תמיכה תוכניתית רק באמצעות 50006 של 8 07050%. ב- 2000 000006 מתווספת שליטה תוכניתית, בעזרת 88/. 0 0006 תומך ביצירת 56106 הן באמצעות ה8 והן באמצעות 560% 8/. למען תאימות עס יתרת הספר, הסעיף מתמקד ביצירת 5670% ב- אססטט0 מתוך 60655, בעזרת 84/. נוסף לכך, בכל הדוגמאות נעשה שימוש בתיקיה אנשי קשר (0860₪ח60) כדי ליצור הקשר מוכר. באפשרותך ליצור ב- 2606655 הפניה למופע של 008006 באמצעות הפונקציה %%. בטרס תוכל להפנות לתיקיה מסוימת, בדרך כלל עליך להחיל את השיטה 661%8₪650866 על האובייקט חסטפסו|סקה. האובייקט ₪80850866 הוא אובייקט בסיס מופשט שמתקיים בין האובייקט חסוטפסו|סק8 לבין התיקיות הנפרדות. השיטה מקבלת ארגומנט יחיד, שעליו להיות 1קגוא במהדורה הנוכחית. עליך להתיל את השיטה ז66+06/890(|9-0!08 על האובייקט 3850866 כדי לקבל את תיקיית ברירת המחדל של סוג נתון. השתמש בקבוע כדי להקצות תיקיית ברירת מחדל שהיישוס שלך יטפל בה. הקבוע לתיקיה אנשי קשר הוא 0866ח06700|סש!ס. ספירת פריטים בתיקיה אנשי קשר השיגרה הבאה מטפלת בתיקיה אנשי קשר וסופרת את הפריטיםס שהיא מכילה. הכן תיקיית אנשי קשר לדוגמה, וכלול בה מספר ערכיסם כדי לבדוק את אופן פעולתה של דוגמה זאת והדוגמאות הבאות. התקליטור המצורף לספר ה כולל נתוני יאנשי קשרי לדוגמה, לצורך איכלוס של תיקיית אנשי קשו. 5 !1!5%000%86%5)( הסוספסו!ססג.אסססטס 5 סקהוסעח הזוס 6 5 66הק65וחהּ ערה וחוס 5 5 %80665ח60ערח וחוס הח%860%6חה0 45 ח166ערח וחוס .000006 01 66ח5%8ח! חאה 076866 ' .6 חח 11 %5! 06ח₪61676 ' ]0+ 000%86% 1'5ק]] 66ח₪61676 ד ("חס8ס6ו|סקה.אססוט6768%600166)"0 = קה |סץוח 56% ("ק ")6635866 סק !ץוח = 6508066וחבּ ץוח 56% = = 007%8605ץ 56% 5 (605 8 010600 | 0 )6190-0106 6% 866 כ 5 שרחה צר 4 ח,/ 2000 66655 .65 56160000 %חוזכן 30 101067 +600%86 חו 05ח66| ס6זהזסותטחם ד 5 ו 1 ח166ערח ה86ם זס= 5 .הרה ,36 ז35 ]. רת166 ץח ,36 זוה . הה166ץרח זחוזק. פטס וכ סט5 0חם השיגרה פותחת בהצהרה על ארבעה משתנים: אחד ליישוס אססשטס, אחד לאובייקט 6 ה שלו, אחד לאוסף הפריטיס שבתיקיה אנשי קשר, ואחד לספירת אותס פריטים. דרושיס שלושה משפטי 56% כדי לחשוף את פריטי התיקיה אנשי קשרו. האחרון משתמש בשיטה 66%06/80|8-0!00 כדי לחזור לתיקיה אנשי קשר, וכן במאפיין 16605 כדי לגשת אל הפריטים הנפרדים. הספירה מתרחשת בלולאת חסם...זס=. לפריטיס בתיקיה אנשי קשר סדרה של מאפיינים ובהס פרטיס אודות אנשי קשר. בדוגמה נעשה שימוש בשלושה מהמאפייניס האלו כדי להדפיס שס פרטי, שס משפחה וכתובת דואר אלקטרוני ראשונה עבור כל ערך בתיקיה אנשי קלשר. הוספת פריט לתיקיה אנשי קשר באפשרותך לבנות גס פתרונות המבוססיס על 260655, המטפלים בתכולת התיקיה אנשי קשר. מבין שלוש השגרות הבאות, הראשונה, 06ח60000660ב3, מוסיפה איש קשר חדש בתיקיה. השיגרה משתמשת בקבועי מחרוזת להגדרת השס הפרטי, שס המשפחה וכתובת דואר אלקטרוני עבור איש קשר, אולס אין קושי לשנות את השיגרה כך שתעביר נתונים אלה כארגומנטיס. וה בדיוק מה שעושות שתי השגרות הבאות, [|8הח 6 60/60 ו- %866חס-)/0616%6. השיגרה |ו6503ח60עסוח6ז מעבירה כתובת דואר אלקטרוני לשיגרה -%96ח06!600460, מאתרת פריט יאיש קשרי בעל כתובת תואמת, ומוחקת פריט זה. ()%86%ח3000660 5 הסוספסו!ססג. אסססטס 5 סקהוסעח הזוס הח0%86006ה60 45 ח166ערח וחוס .00006 01 66ח5%8ח1 חאה 076806 ' ("חה680ו!קס.אססט0[66)"0 6768060 = כקה|סשוח 56 .]10 606 107 הח66! אה 076806 ' .פע חסועו הח66ו 6ח* סזה|טססק ' .הזו 6ח% 5806 ' (הח6ש%8601ח !)07686616 כ !ץוח = ח6ז1/וח 56% רח16ץרח תסו "ס00ס)" = 6וחה50זו=. "זה" = 050806 ]. "60 ץח קרח 60 טסץ זט סס)" = 1007655 |והוחם . 6 האוצ 0חם= סט5 0חם פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 425 ()|ו8רח6ח60ץסוח6ז 5 (" ה 60.ץ רת 60 טס זה 0ס?") 06|606600%86% סט5 0חם ([(0חם%86%)507חס-)/06!6%6 סט5 חסספסו!סס.אסססטוס 5 סקהוסעח הזוס 6 5 66הק65ותהּ ערה וחזוס 5 5 %8605ח60ערח וחוס הח%86006ח0 45 ח166ערח וחוס .00006 01 66ח5%8ח! ח3 0768066 ' .חח 11 %5! 061676006 ' .1006 000%86% 21'5 2 6167666 ' ("חס68ו|סק.אססט6768%600[66)"0 = מקה |סץוח 56% ("זק ")6635866 סק !ץוח = 6508066והבּ ץוח 56% = = 007%8605שוח 56% 5 (605 8 010600 | 0 )2618010106 06% 866 כ 5 שרחה רת .66 0 הה66ו 107 ה56876 60 66הזסוחטחם ' 5 ו 1 הח6ז1ער ₪86 זס= הסח דד [508 507 = 1007655 !וה רחם. וח6ש1 רת +1 6 הרת סטפ +ואם + ₪0 )אסא סחטסז ץ-%ח6 סא ' ,סע ,50-58 8 " ז0 |ו3חח6 )וצצ ההטס1 ץ חס סו" אס 5וו "2000 266655 11670500 חור וחה סק" סט5 0חם לשיגרה ואת דרושים שני אובייקטים בלבד - אובייקט חסטפסוופקה של אססטטס, ואובייקט 0ח6ז%900ח60 שייצג פריט בתיקיה אנשי קשו. השיגרה יוצרת הפניה לאובייקט ח0ס80סו|פק8 בעזרת הפונקציה 07680600[6%. הפניה זאת תומכת בשיטה וח6768%6106, שיוצרת מופע ריק של פריט עבור כל תיקיה שצוינה. עליך לקבוע את סוג התיקיה של הפריט באמצעות קבוע שיועבר לשיטה 6768061060. להגדרת מאפייניו של איש הקשר, בחר מתוך רשימה של מעל 140 מאפייניס. הדוגמה מקצה קבועי מחרוזת עבור המאפייניס 6וח50)8ז1=, 350806 | ו- ₪8111007655 (בהחלט ייתכן שלאיש קשר מסוים יותר מכתובת דואר אלקטרוני אחת). לאחר מכן השיגרה מפעילה את השיטה 86 כדי לשמור את הערך החדש בתיקיה אנשי קשר. מחיקת פריט מהתיקיה אנשי קשר השיגרה 66!6/6600086 (המופיעה לעיל) מקבלת כארגומנט מחרוזת המייצגת את ערך המאפיין 655ז11100ו8ח₪ של פריט יאיש קשרי שיש למוחקו. השיגרה מונה את איברי התיקיה אנשי קשר, עד שהיא מאתרת פריט בעל מאפיין 11007655!ו08ח₪ תואס 6 הח 2000 406655 לארגומנט המועבר. כאשר נמצאת התאמה, השיגרה מוחקת את הפריט על ידי הפעלת השיטה 6/666כ, ויוצאת מהשיגרה כדי למנוע את המשך החיפוש. אם נמנו כל פריטי התיקיה אנשי קשר מבלי שנמצא ערך תואם, השליטה עוברת למשפט של תיבת הודעה, המדווחת שלא נמצאו ערכיס תואמיס לכתובת הדואר האלקטרוני שהועברה לשיגרה. הוספת פריטים מרובים לתיקיה אנשי קשר אחת המשימות הנפוצות המבוצעות בעזרת מנהל מסד נתונים, כמו למשל 60055(, היא הוספת פריטיס מרובים לתיקיה אנשי קשר. פריטיס אלה יכולים להתווסף ממקורות מגווניסם, כמו למשל התיקיה אנשי קשר במחשב אחר, כתובות שהוונו דרך האינטרנט, ואפילו קוב אנשי קשר ישן ב- 8466655. השיגרה 8006001966 המובאת להלן משתמשת באחת הגישות לעדכון תיקיית אנשי קשר של אססטטס בנתוני אנשי קשר מתוך טבלה של ₪60655. 5 300600%86%5)( הסוספסו!ססג. אסססטס 5 סקהוסעח הזוס הח%86006ה0 45 ח166ערח וחוס צוס) 5 561 חזוס .00006 ח! 10/0067 %86%5ח60 66 הסמס ' ("ח80סו!קסה.אססט67680600[66)"0 = סקה|סשו 560 .005 שוח 06 חזוצו 80!6ז 606 הסמס ' 1 חס הסו66 חח 60600.0 6 = חה0ס 660 666 . "64080" חס6מס. האוצ 0חם= 60 60009605 8חו300 ז0? וה600%86006 8 68%6ז0 ' .1006 6+ 0+ הה6ה+ 800 0 660705ז 90|6+ 6ר% חפטסזחש סססו' חספחואזס 551508 501.0 וטח ספ (הח6ז%8601ח0ס-0|6 )0686106 סק !ץר = הח6ס1שוח 56% הח106ץרח משו/ ((6!05)0ו=. 551 ,"" , ((16!0500=. 561ז)!!ו11/)15 = 6ותה ספזו=. (16105)1=. 5%1 = 250806 |. (6|05)2!=. 551 = 1007655 |והחחם. 6 חזו\ 0חם ]טסו 561 קסס | 5515590106 סט5 0חם פרק 9: שילוב 460655 עם יישומי 0066 אחרים | 427 השיגרה מציבה הפניה ליישוס של אססשטס, ולאחר מכן פותחת ערכת רשומות המבוססת על הטבלה 80ק64ס. ווהי הטבלה המקומית בתיקיה טבלאות (1890!65) שב- 5. הטבלה מכילה 34 ערכיס בלבד, אולס השיגרה מסוגלת לקלוט רשימה ארוכה הרבה יותר של כתובות. מסיבה ואת השיגרה מפעילה שיגרה נוספת, המפעילה את המסייע בהנפשת יעבודה' ומשאירה אותו במצב פעיל עד ש- 606655( ו- אססטטס יסיימו את עדכון התיקיה אנשי קשר ב- 000% בערכיס מתוך הטבלה 064080 (פרק 8 מתאר כיצד לבנות שגרות שישלטו בהנפשת המסייע. תוכל למצוא את השגרות הללו בספריה 8 בתקליטור הנלווה). בין שתי הקריאות, האחת להפעלת הנפשת המסייע והשנייה לביטולה, לולאת 0 עוברת במחזוריות על כל הרשומות שבטבלה 064080. הלולאה יוצרת אובייקט 600696060 חדש בכל מעבר, ולאחר מכן היא מציבה את הרשומות ממעבר זה בפריט, ושומרת את הפריט. מחיקת פריטים מרובים מהתיקיה אנשי קשר השיגרה הבאה, 155ו608שסוח6ז, היא גירסה מותאמת של השיגרה 06|6%66001805 שהובאה מוקדס יותר. שיגרה זאת מוחקת רשומות מרובות מתוך תיקיית אנשי קשר. היא מוחקת את הפריטים אחד לאחד, על ידי קריאות חוזרות לשיגרה כל פעס עס כתובת אלקטרונית אחרת. הדוגמה משתמשת בכתובות שבטבלה 064080 כמקור לארגומנטיס. לשיגרה ואת שני יתרונות: קל לכתוב אותה, ויש בה ניצול חוזר של השיגרה ז06|6064600186. ()1|5 חח 6עסות6ז פט5 צשוס 5 561 וחוס .005 שוח 06 חשוצו 80!6+ 606 הסמס ' 1 חס 660 60600.0 6 = חה00 66 666 . "064080" חס6קס. הז%ו 0חם= .10100 6+ 0ף וח6וץ 800 0+ 660705 80|6+ %6 הפטסזח% קססן' חספחואזס/ 5515 501.50 וטח ספ ((16!05)2ת. 5%1]) +00|606/6-00%86 ]טסו 561 קסס | 55580060 סט 0ח= אס כי שיגרה ואת יכולה לבצע את המשימה, יש בה לפחות שני חסרונות. ראשית, השיגרה עוברת על כל ערכי התיקיה אנשי קשר עבור כל פריט המיועד למחיקה. דבר זה הופך יקר יותר בהתמדה ככל שגדל מספר הפריטים המיועדים למחיקה, מספר הפריטיס בתיקיה עצמה, או שניהס גם יחד. שנית, אם לא נמצא פריט תואס, השיגרה מציגה תיבת הודעה המחייבת את המשתמש ללחו על לחצן כדי להמשיך. אס מספר 8 ח 2000 406655 רב של ערכיס ברשימת הפריטיסם למחיקה אינו נמצא עוד בתיקיה אנשי קשר, הכורח ללחוץ על לחצן עבור כל פריט שחסר בתיקיה יכול להיות מייגע. אחת הדרכיםס להתגבר על חסרונות אלה היא להחליף את השיגרה 06!6064600%86 בקריאה לשיגרה 2 06|60, המוצגת להלן. ([ו08ח86%2)5%7+חס-)/06!6%6 ספ 3 0660627 6010 זסזזום חס הסוספסו!ססג.אסססטוס 5 סקהוסעו הזוס 6 5 66הק65חהּ )ער וחוס 5 5 %8665ח00ערח וחוס הח%86006ח0 45 ח166ערח וחוס 509 5 זסל!ו-507 וחוס .0001006 01 66ח5%8ח1 חאה 076806 ' .חח 11 65| 061676006 ' ]0+ 000%86% 1'5ק]] 06ח61676ק ד ("חס68ו|סק .00% ט6768%600166)"0 = כקה|סץוח 560 ("ז קב" )663650866 סק !ץוח = 650806וחבּ ץוח 56% 165 (605 60 6180-00-00 +06 806 65 הארת = %8665ה60עוח 56% .| 606 30 וחססו 06%זב+ סחוח ' """" 8 |ו8הח 50 8 """ = [8!]1007655וחם]" = זספון=ז50 (זסס]ו 507 )0 תו 65 סרח = ח166/וח 56% 6 הרת 0662 סטפ זואם :02 חסחד 91 = זססוחטא.זזם +[ .90 חס 666 05%[ ,616 +סח 15 הסט זך ' ]א 6506 6 .00% 655806 3 ח)וצ 2856 ,6פועוסוסס ' ,|₪68 וש ,הסחק ה656כ.זזם 8 זס)ופצ 8 " :" .8 זסטוחטא.זזם אס ₪50 "2000 266655 1167050 סחוות וחהזסזק" + 65006 + 0 סט 0ח= שיגרה ואת מחישה את החיפוש אחר פריט המיועד למחיקה באמצעות השיטה 6חו=. היא בונה קריטריון לשיטה 6חו=, המבוסס על הכתובות האלקטרוניות המועברות אליה. לאחר שהיא מאתרת פריט בעל כתובת אלקטרונית תואמת, השיגרה מחילה את השיטה ‏ ₪06!606 על אותו פריט. השימוש ב- 6חו= מניב חיסכון ניכר בזמן, גסם כאשר מדובר ברשימת פריטיס קצרה, כמו זאת שבטבלה 064085, אולס יתרון המהירות גדל ככל שגדלה רשימת הכתובות האלקטרוניות, או מספר הפריטים, כמו בתיקיה פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 429 אנשי קשר. השיגרה לוכדת גם מקרי כשל, כאשר השיטה ₪8 אינה מחזירה פריט. דבר זה קורה כאשר אין בתיקיה אנשי קשר פריט תואס לפי כתובת אלקטרונית. במצב כזה, השיגרה 1862ח06!60660 מחזירה בשקט את השליטה לשיגרה הקוראת, כדי שאו תוכל לחפש כתובת אלקטרונית חדשה, ללא צורך בהתערבות המפעיל. עבודה עם 6זס/ו מתוך 466655 הדוגמה הראשונה בסעיף זה מראה כיצד לבנות ולעצב טבלה ב- 6זס), ולאכלס אותה בנתוניס מתוך טבלה ב- 866655. בדוגמה נעשה שימוש באוטומציה כדי לשלוט ב- 0ס' מתוך 66655, והיא כוללת אפילו טופס 866655 פשוט להפעלת שגרת האוטומציה. שתי הדוגמאות הבאות מטפלות באמצעות קוד בשתי משימות של מיזוג דואר: הפקת תוויות מען, והפקת מכתב אחיד. דוגמת המכתב האחיד המובאת כאן מבצעת פעולה והה לאו של דוגמת המכתב האחיד בפרק 6. תוכל להשוות בין שתי הגישות כדי לברר איזו מתאימה יותר לצרכיך. ככלל, הרעיון שמאחורי רכיביס מרוביס הוא שרצוי להשתמש בכל אחד מהס לביצוע המשימה שהוא מיטיב לבצע. הדוגמה בפרק זה מאפשרת שמירת נתוניס ב- 60655, והפקת מכתביס אחידיסם להדפסה ב- 6זס). אס אתה מעדיף לעבוד עם מבנה האובייקט של סזסצ ועס האובייקט 06ז6!א!ופא, ייתכן שגישה ואת תיטיב לשרת אותך. לעומת ואת, אס אתה מעדיף להתרכז בהתמחות ב- 66655, ייתכן שעדיפה הגישה המובאת בפרק 6. אוטומציה של 6זס/ מתוך 466655 דוגמת האוטומציה הבאה מעבירה תכנים מערכת רשומות המבוססת על טבלה ב- 5, לטבלה ב- שזסצ. כאשר יש לך הפניות למבני אובייקטים מרובים בעלי מונחיס דומיס, עליך להוסיף בהצהרה על האובייקט קידומת לפני הקצאת סוג הנתוניס של האובייקט: לדוגמה, השתמש ב- 0.1806זס)\ במקוס ב- 7806. פעולה זאת מורה למתרגס 84/ איזה אובייקט 6פ9ד דרוש לך. וכור, שגס 860655 יכול להצהיר על אובייקט 19896 מתוך ספריית אססג. זכור גס שהתנהגות האובייקט 6פַח₪8 ב- סוס/ שונה מהתנהגותו ב- |68א5. 84/ ו- 56ח56ו!|66ח1 מאפשריס לך לבנות פתרונות על פני מספר יישומים, אולס אין הם פוטרים אותך מהכרת מבני האובייקט ביישומיס השונים. ()30!6 0/0707 ] 66655.ח0י+ 5 חסוסהסו|ססה. 0וסצ 5 מסהסשעו הזוס 6 5 06ב דער ,6ח3ה.0זס/ 45 6פההמער הזוס זז 5 |ס60!והוח6 ,וו0.66זס/ 5 |ו366 וחוס 5 אוסזן ,166070566 צוסא ₪5 561 וחוס 0 הח 2000 406655 .005 שוח 06 חזוצו 80|6+ 606 הסמס ' 1 חס 660 חח 60600.0 6 = חה0 660 ה 666 . 6 ד ,6 וק 8010660 56%6ש300726086 , ,"טהק4סס" הסמס. הז%ו 0ח= חס חטש 0חה 66ח5%3חו חסספּסו|קק3 סזס/ 8 076866 ' הסור ןחה חחואזסע %5ח551500 שחש חספחואזס 55158 ("הסול68ו!סס. זס/" 6768%600[66 = מקהס/שו 56 .0066 6 60 %9016 8 0ח3 הסספסו|סקה 66 סז זהסוהט006 8 00 ' .5 חן 8216 3007655 [ו088ח-6 ח8חץ 6זסרח 6חס |ה 60 60 5אוסז 50661 ' תת טססק. סק הס ץוח (0 ,₪306)0.+חסר 006 6ץוס6ה. סקס ץר = 6פחה3עו 56 ,806 =:06ח₪8 30165.200 .חס ות ט606ע6ה. סס הס ץוח 3 :פחוחט!ס6וחטא ,1 + ₪66070600%. 561 = : 5אוסא וטו .6 107 68085 הוחט|ס6 +וספחד ' (5)1אף. (1 )30165 ד.+ח6 ו ט006 6ע6ה. סכה סצשץוח הטו 6חהא. (16!05)0ת. 5%1 = 6א6 86.7ח661!5)1(.₪3. 6חה. (1605)1ת. 5%1 = 606 86.7ח₪3. (661!5)2. 36 . (16!05)2ת. 5%1 = 6א6 ד.86ח₪3. (601!5)3. חזו 0חם .6 66655 חס |(ההח-6 0חה ,6חחבּח 35%| ,הח 5% +ז56חז ' .סז 35%! 6+ חסטסזח+ 0ח5660 66 חו ס)חו +%86ח60 +6פחז ' 05.60% (165)1טב ד.+ח6והט6סס6טט6ה. קקהס/ץו סד 2 = וסזו זס 0 = |60|והח6 5. ( טס )5 סא (1 )30165 ך.+ח6 רת ט606ע6ה. סק הס ששוח הז ||366 ה86ם זס- ,"" , ((601|ו16105)6₪0=. 5%1ז)||טא11/)15 = 606 ד.06ח₪3. |[ססבּ ((601!ו3ח6 )16!05=. 5%1ז 1 + |60|ו08ח6 = |ס60|והוחס ||366 )אס)] +א6 טסו 561 צוסזו )אס)] חח , חסטהווח3 10!6 חס חטש ,606% 6 0+ 80|6+ זהוחזסה ' .0 חו %80|6 566 ח68 ז₪56 50 6!סופוע סזס/\ 886 ' 00 זסוטה 86 סס טח (1 )30165 .חס רת ט606ע6ה. סס ה ץוח 5550907060 6טזך = 6!סופו/. ססהס/וץוח 50 0ח= פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 431 השיגרה מתחילה בפתיחת אובייקט ערכת רשומות המבוסס על טבלה ב- 106655, הטבלה 064080 המוכרת מהדוגמאות על עבודה עס 06006 מתוך 60655. מכיון שהיישוס משתמש במאפיין %חט060ז₪660, עליך להימנע משימוש בסמן מסוג קדימה-בלבד (עוחס-6זפּווזס!). בדוגמה נעשה שימוש בקבוע %6/560ח30006 לציון סוג הסמן. לאחר פתיחת ערכת הרשומות, היישוס מפעיל את הנפשת העבודה של המסייע, ומריץ את הפונקציה 67680600[666 כדי ליצור מופע חדש של חזסצ. בשלב הבא, השיגרה בונה את הטבלה ב- 6זוס\. היא יוצרת מסמך חדש ומוסיפה טבלה בפינה הימנית העליונה שלו (בממשק עברי). הפרמטריסם של השיטה 406 באובייקט 6פפּד קובעיס שבטבלה החדשה מספר השורות יהיה גדול באחד ממספר השורות בטבלה של 5. דבר זה מותיר מקוס (שורה אחת) לכותרות העמודות, נוסף לכל הנתוניסם בטבלה . לפני שהיא מתחילה לטפל בערכי ערכת הרשומות, השיגרה כותבת את כותרות העמודות בשורה הראשונה. כותרות אלה הן שמות השדות בטבלה של ₪66055. זוג לולאות זס] מקוננות מסיירות על פני כל התאיס בטבלה. הלולאה התיצונית מתקדמת בין השורות, לפי הסדר. הלולאה הפנימית יצועדת' לרוחב העמודות בתוך שורה נתונה. שיס לב, שב- סזס\ קייס אוסף 66/5 עבור העמודות בתוך שורה נתונה בטבלה. הלולאה הפנימית מסיירת בין התאיס הנפרדיםס בתוך הטבלה של פזס/. ההפניה אל תא נפתחת באובייקט האוטומציה ססהס/ץוח, ולאחר מכן עוברת באופן היררכי לאובייקט %ח6וחט6006/עו6ה, לטבלה הראשונה באותו מסמך, ולשורה נתונה בתוך הטבלה. לאחר שזוהה תא המיועד לטיפול בתוך שורה מסוימת, פונקציית +1 המתבססת על ערכי ערכת הרשומות מחשבת ערך עבור המאפיין 6%ד של אותו תא. לאחר שהשיגרה עוברת במחזוריות על פני כל תאי הטבלה, היא מסתיימת בכך שהיא מבצעת שלוש פעולות. תחילה היא מעצבת מחדש את רוחב העמודות כך שיהיו רחבות די הצורך להצגת ערכי העמודות ללא גלישת שורות. שנית, היא מקצה הנפשת מצב לא-פעיל למסייע. בפועל, דבר וה מפסיק את הנפשת העבודה המתחילה ממש לפני הפעלת האובייקט חסטפסווסקה של סזוס/). לבסוף, השיגרה מציבה ערך שטזד במאפיין 6טופו של האובייקט חסטפסו|סקה. פעולה ואת מעבירה את המיקוד מ- 60655 ל- 6זסצ. תרשיס 9.5 מציג טופס של 06655 המאפשר למשתמש להפעיל את השיגרה בלחיצה על לחצן. התרשיס מראה את הטופס מייד לאחר שהמשתמש לח על הלחצן. דמות המסייע עדיין נמצאת בהנפשת העבודה שלה. כאשר המסייע עובר למצב לא-פעיל, המיקוד עובר מהטופס של 866655 למסמך שזס/\ המכיל את הטבלה שיצרה השיגרה 6 דוס 666557 חס הפקת תוויות מען תכונת מיזוג הדואר המוכללת ב- 6זס\ יכולה לשאוב נתוניס מתוך שאילתה או טבלת מסד נתונים של 866655, המשמשים כמקור רשומות להפקת תוויות מען. אומנס ניתן למקס באמצעות קוד את שדות מיווג הדואר, או הסימניות, כך שיתמכו בהצבת נתוני 5 במסמכי 6זס\, אולם פעמיס רבות קל יותר למקס אותס ידנית במקומות שבהס אתה מבקש להוסיף נתוניס במסמך. נוסף לכך, ניתן להיעּר באשפים מוכללים לצורך הפריסה של פקדים בתבניות עם תוויות מרובות בכל עמוד. 2 הח 2000 406655 |<1ם)ן-. ב ו - 5 ותסו) 5316 חסו בּוהססטג בוסעצ תרשים 9.5: טופס זה מפעיל את השיגרה 806 0/0107 4666551חסז); כאשר נפסקת הנפשת העבודה במסייע, המיקוד עובר לטבלה שב- זס/ בתרשים 9.6 שלהלן מוצג קטע מתוך הקוב 826!5.006!ח. שדות מיזוג הדואר מוקמו בעזרת אשף מיזוג הדואר המוכלל, אשר ניתן להפעיל מתפריט כלים (00|5ז). לאחר שמיקמת שפרסת את הפקדים, תוכל לשלוט באמצעות קוד בהדפסת תוויות המבוססות על טבלאות או שאילתות של 2066055, באמצעות האובייקט 06ז6!וו8. זט ]זו - 5!ספב!ח 31 ופ | שוסטחועע 6|ס13 10085 6הזט= =זספת1 שושוע. 08 6 ו שר ם | >= 10 > הההחתסת אוש 5סחוד = [חזסו | 6 ₪ כששם 1 | 4 +| | -- | > 68 הזס/ 156 | > ₪64 סְחַזט] 'ו58חד | 6188111165 816 911 צנ > זמ סו 0 > > 169815 0818100066 6 6 סבטהרסע 63181660 661 תגוס > 81065 1.85111 6 816 111פ עו > 1 כו 60 > 169915 :818100066 610 6 ביס ץק 6031816002 ,02175 גוס > 8117 3146 1.8811 81065 6 זבה ו 620 > 269915 :81810066 60 6 סיסע 6031816002 ,6075 )> > 911[ 816 6188111165 ב 1ב כו 620 - בכ 4 :0818102066 61 6 טבנקיסע 63181600 61 תגוס > תרשים 9.6: קטע מתוך 0 שו סע 8 5 ו , 81065 1.8811 > 8106 111 פצג > 65 קמה ו 0 > > 0169815 8181020065 60 6 טבטקדסעק 318160 01 <קנ)מגוס> > 118111 816 6138111 8106 865 ז1דמ ה כ 0 )> 68815 818100065 0 6 6 טבטקיסע 2כ603%8166 ,> גוס > 11911 816 6 1.8811 81062 6ב 1דמ ה כ 20 בכ 6108181006 6סבנקיס ץק )631815 > !תגוס )> 81065 1.88111 > 816 111 פצג > 6ב 1ב וח 0 > > 0269815 8181020065 6/0 6סבמקיסע 31816002 )> <קומגוס6> סן והש אחז חן 1 ו פרק 9: שילוב 466655 עם יישומי 066 אחרים 565 1.55111> סמום ז[ופט קר 6 דמ ו 0 > > 169815 6081812066 6 טבהדסע 63181600 6 גוס 81065 1.8511 6 31.65 111פע > ב 31 ות 60 > 169815 0818100065[ <6 ביס 6031816002 ,)> גוס 81065 1.88111 > 81146 ז1ופצג > 6 ימה כו 620 > 0299915 81810066 610 6 תרטע 631816004 ,> !תגוס )> 165 6188111 316 [11 פע > זב 1 סו 60 0299815 6081812066 6 טבנהיסעק 63181600 > ]₪ 0.5" מסמך שזס/ שנוצר לצורך הדפסת תוויות מען בתבנית 3 שגרת 6זס/\ הבאה מיועדת להפעלה מתוך התיקיה +חסוח5006וחד של התבנית |החחזסוז. היא מתחילה בפתיחת הקוב 806/5.606!₪, המכיל את שדות מיזוג הדואר הנראיס בתרשיס 9.6. לאחר מכן היא מציבה הפניה, 6ספץח, אל מסמך המבוסס על אותו קוב. למעשה, הקוב 396/5.006! אינו מכיל קוד משלו. ()306/5 ]שש6וע6זקשחוזכן פ5 חס וחט6סכ 45 6ססץח וחוס .6 006 6+ 0+ 6)676006] 56% ' "0615.006ה|רח"= : שרה )86| ה5.006זחסוטססס ("306/5 |" )חר 06 = 6ססץוח 56% .5 חן 500706 08%8 6ח% 061676066 ' = =:סוחה8 23%8500766 חה06.06ז6ו|וה. 6סס ץוח ,"9.00 8 6065560080096 פחורוחהזטסזק :6" "15% 885601 60/ 5 81 ד"=: 6600 הח ס6 006 שוח 3 0ל 806|5| %6 6600 ' 6 זוה 6ססץוח תסו רס 0 56 = הסוסהת50סכ. 6 = :טק 600006א₪. הזו\ סח .3065] %חוזק זס שוסועסזק זחוזק זסוםום ' = ,"?שחהטחוזק 060076 עשסועסזק 0 אחהצ טסץ ספ")אס ו זז הסח ד 65ץפע = ("2000 266655 1160508 סהווהותהזפסזק" ,סא5סצסצ ששסועסזקץתוזק .הרת 06 66 56 0 + ₪0 סט 0ח= המפתח למיזוג דואר עס נתונים מ- 460655 הוא להפעיל את השיטה 809500166 ח6סס עבור האובייקט 6706!ו8! בתוך מסמך, כמו למשל המסמך שההפניה 6ססץוח מצביעה אליו. פעמיס רבות תידרש להקצות שני ארגומנטים, 86 (שם) ו- ח6600חהחס6 (חיבור). עליך להציב את הארגומנט 86 כך שיצביע אל קובצ המקור ב- ₪600655, המכיל את הנתוניס למיזוג הדואר. השיגרה 8065 |שסושסזקזחוזק | מפנה אל 9זסקְהת, הקובצ עבור פרק וה בתקליטור הנלווה. השתמש בארגומנט חסו660החס6 כדי להקצות לאובייקט מסד הנתוניס סוג ושם. בעזרת הקוד תוכל להקצות סוג שפד או סוג ץזסטס. הדוגמה מצביעה אל טבלה ששמה 15% |608856/. השתמש באובייקט 66ַז!א!וא לכתיבה על גבי התבנית עם שדות מיזוג הדואר, או ליצירת מסמך חדש שיכיל את הנתוניס לאחר המיזוג. עליך להשתמש במאפיין הסו80 650 של האובייקט 06זפ!|ופא כדי להקצות את האפשרות שבחרת. בדוגמה 4 ח/ 2000 466655 נעשה שימוש בקבוע כדי ליצור מסמך חדש שיכיל את הנתוניס לאחר המיזוג. אחרי שתגדיר את כל מאפייני 6706א!81] הרצויים, החל את השיטה 6606א5 על האובייקט 6 פעולה זאת תגרוס למיזוג הנתוניס מתוך 466655 במסמך 6זס/ היוצר את תוויות המען. אם אינך צריך עוד את המסמך עס השדות הממוזגים ואת המסמך השולט בפריסת השדות במסמך, סגור את שניהם ידנית, או בעזרת תוכנית אחרת. ניתן להפעיל בנקל שיגרה כמו 80615 |שסועשזק)חוזן מתוך 866655. השיגרה הבאה עושה זאת בשלוש שורות בלבד. דוגמה את מופעלת מתוך מודול סטנדרטי בקוב 06055. ()306/5 |₪]חטז פט5 חסוסהסו|ססה. וסצ 5 מסהסששעו הזוס .6 6זס/ 86 0ח3 סזס/ ס+ הס0 660 חהחסס6 חסמס ' ("הסוס69ו|ססג. סע" )6768%600[66 = מקהס/שו 56 6טזך = 6|סו15/. חס ה6ו!ססה. סס הס ץוח .6 660סזכ |306! חחו|והוח חטא ' "06|5ה |ששסועסזקסחוזכ" חטף. הסח בסו|ססה. סס ה סצשץוח סט5 0חם הפקת מכתב אחיד השיגרה להפקת מכתב אחיד המובאת להלן והה, בעיקרה, לשיגרה המפיקה תוויות מען, להוציא פריסת שדות מיזוג הדואר, הנעשית במתכונת ישירה יותר. דבר ה נובע מן העובדה שבדרך כלל אין יותר ממופע אחד של כל רשומה בעמוד נתון, בניגוד לרשומות מרובות בכל עמוד. תרשים 9.7 מציג פריסה של מכתב אחיד ב- סזס\, שהינה זהה לפריסת המכתב שהוצג בפרק 6. אין קושי בהצבת שדה מיזוג דואר בגוף המכתב. דבר וה נראה בלוח התחתון של התרשים. אל תשתמש באשף מיזוג הדואר אס בכוונתך לשלוט בהדפסת התוויות באמצעות קוד. הקוד שהוא מפיק מכיל פרמטרים רבים נוספים, ומיועד במפורש לשימוש עס האשף, אך לא בהכרת עם יישומיס מותאמים אישית. הדוגמה הבאה וכן ואת שבסעיף הקודס מיועדות לשימוש מתוך התיקיה זחפוט6סספוחד של התבנית |חזזוסא. דוגמאות אלה הן נקודות זינוק מצוינות לעיצוב יישומי מכתבים אחידים ותוויות מען משלך. עם זאת, עליך להפעיל את אשף מיזוג הדואר כדי להוסיף בחלון המסמך את סרגל הכלים מיזוג דואר (06ז6!! |ו8ו). לאחר שחשפת את סרגל הכלים, תוכל להוסיף שדות מיזוג דואר בכל מקוס רצוי במסמך. השיגרה הבאה פועלת עס המסמך הנראה בתרשים 9.7. תרשים זה מציג קטעים מראש הקוב 606.006|חזס] ומתחתיתו. השיגרה פותחת קובצ זה. השימוש בשיטה 808506 ח6ק0 והה להפקת מכתב אחיד או תוויות מען. בדוגמה זאת, מוקציס ערכים למאפיינים 9666070זו= ו- 1850666070 של האובייקט 6סזטספפהס. השיטה 0805006 ח6ק0 מציינת פרמטריס המצביעים אל מקור הנתוניסם שהאובייקט 6 ס5זהכ מייצג. הצבת ערכיס במאפייניס 666070זו= ו- 85%66070 1 מגדירה טוות של רשומות שעבור כל אחת מהן יש להדפיס מכתב אחיד. דוגמה זאת פועלת עם סדר ברירת המחדל למיון רשומות במקור הנתוניס. פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 435 סל 050/1ז6וא - זטזוס!חוזס] ₪ |] 6מסטנו/ר 8700 1 1166 2 שא ,1011180116 ].. יכות 316 61,8501 6בתב דעי 6 קת 60 הכ 578102006 6170 6סמנ 6559160070 , 61 ב 6ב 190 7 60 .1 516% ס6טט זגוס 1181 66811 .8196 סשקט .6ם1 ,024.5 116 פםזופנ 107 גוסק אמ8םל 587 0 18 160067 פומ 6 676ם1 .689117 15 0 מעג6? 08 גוס 50 1197 68פ1זסקיה "1 זנוסקי םג 15 זגו 216956 6 סמל ול 15 5 1676 16 8 115% 076 0176 פמנמתגו6? 0תה 5106 116 תופנ 17181[7ת1 0+ 269505 זם63166116 קמהות .500 מ4281 71915 50 מ7199710מ1 618081 עגוסץ 4 400655 107 11868 סעסגם 622056 [11ק המ 5156 3016גו[8 זי 8 קגו 561 0 פמוקו סץה סקט , 6בתב םפצנ יד 1 1,676 00128 316 6 שוסם 566 30 ב0106 090% 6ב 00 215856 .0675ב 60 021106 עסםזס 6מד .6 01716 1101685105 זגוסץ פגר שמנחנם ,גוס 6617 סמ51 .20 ,050 אפסו 00 עפ 760010 +16 תרשים 9.7: קטעים מתוך מסמך 6זס/ המשמש להדפסת מכתבים אחידים 6 הח 2000 66055 ()600075 [/סוע6זק)חוזס 5 וטס 45 6ססץח וחוס .6 0+ 67676006 8 56% 0ח8 6| 1080 ' "006 ]66| ז0ס+"= : 6 ב618!= ה6ק5.0זהסותט6סס ("ז 6 רחס" )רת 06 = 6ססץוח 56% .5 חן 500706 08%8 6ח% 61676006 ' = =:סוחה 3%8500766 חה6ק 6.0 0ז6ו|וה. 6סס ץוח ,"9.00 8 6665560080096 פחור וה זטסזק :6" "5 |6008560/ = 1 ד"=: 660 ה הס 00 שוח 3 0ל 306|5| 6ר% 6600 ' 6 זוה 6ססץוח תסו וטס אס 07 חה56 שש = הסוסה 50סכ. 6זטס5האהכ. וטו/ 5 = 5466070זו=. 9 = 85666070 1. חזוש 0ח= 6 = :טק 60006א₪. ה)ו\ 0חם= .3065 ]| %חוזק זס צוסועשזק זחוזק זסתזום ' = ,"?0חהטחוזק 060076 עשסועסזק 0 אחהצו טסץ ספ")אס ו זז הסח ד 65ץפע = ("2000 266655 1160508 סהווהותהזפסזק" ,סא65צסצ סוק חק .חס ט6סכ 6/6 56 .חר 06 66 + 0חם סט 0ח= ניתן להפעיל את השיגרה מתוך 66655 על ידי הפעלת השיטה חג₪ם עבור אובייקט חסטפסו!קק של 6זסשצ, כפי שמראה השיגרה הבאה. לשם כך דרושות שלוש שורות בלבד. בעוד שהשגרות 60675!וחזסתחטז ו- 86/5 |חטז הן שגרות למודול סטנדרטי ב- 5, תוכל להציב כל אחת מהן, או את שתיהן, מאחורי טופס של 466655 ולהפעיל אותן באמצעות לחצני פקודה. אס הקוד שלך מציב שאילתה בפרמטר ה0ו08085007660000660ה6ק0ס, תוכל לשנות את השאילתה בטרס תפעיל את מיזוג הדואר ב- טזס/, וזאת כדי לשפר את שליטתך בפעולת המיסוג. ()60015 |החזס- חטז פט5 חסוסהסו|מסה. וסצ 5 מסהסשעו הזוס .6 וע 6זס/ 86 0ח3 סזס/ ס+ הס0 660 החס6 ח6מס ' ("הסוס68ו|סס. סזס/" )6768%600[66 = מקהס/שוח 56 6טזך = 6|סן15/. חס ה6ו!ססה. סס ה ס ץוח .סז 60| הזס+ הט ' "6005 |/שסוע6זקסחוזק" חטף. הסספסו|ססה. סקסה ס ץוח סט5 0חם פרק 9: שילוב 460655 עם יישומי 06066 אחרים | 437 10 עבודה עם מסדי נתונים מרובי-משתמשים בחלק ניכר משארית ספר זה, נעסוק בבניית יישומי 460655 11670506 לקבוצות של משתמשים. פרק זה עוסק בכמה סוגיות מרכזיות הנוגעות לריבוי משתמשים: שיתוף קבציס ושליטה באבטחה. תוך סקירת נושא שיתוף הקבציס, הפרק עוסק בבדיקה מפורשת של טכניקות ושאלות בנוגע לשיתוף קבציס וערכות רשומות. בפרקים הבאיס נבחן טכנולוגיות לשיתוף מסדי נתוניס של 60655, כמו למשל שכפול מסדי נתוניס, שימוש בשרת 501, ושימוש במסדי נתוניס של 806655 באמצעות האינטרנט. בכתיבת פרק זה הנחנו כי יש לך ידע מעשי בסוגיות בסיסיות של ריבוי משתמשים ואבטחה, ולכן התמקדנו בהתפתחויות חדשות בתחוס הקוד. לדוגמה, הפרק כולל דוגמאות המשוות את הנעילה החדשה, ברמת השורה, לנעילה ברמת העמוד שהיתה מקובלת עד כה בטיפול בערכות רשומות, וכן דוגמאות המראות כיצד לשלוט באבטחה באמצעות קוד דרך הספריות 8סספג ו- 0%סג החדשות. הפרק מסתיים בדוגמה של טרנזקציות בסביבה מרובת משתמשים. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 439 שיתוף קבצים הצעד הראשון בשיתוף יישוס של 460655 הוא הפיכת מצב ברירת המחדל לפתיחה לשיתופי. תוכל לעשות זאת באמצעות הכרטיסיה מתקדם (0/80660) בתיבת הדו-שיח אפשרויות (פחסטסס). כרטיסיה ואת מכילה עוד אפשרויות המקדמות את השיתוף. השיטות 56000000 ו- ח00ק06)0 של האובייקט ח800סו!קקה של 860655 מאפשרות ליישומיך לקבוע הגדרות אלה ולקרוא אותן. הצב קבצי 8460655 מרובי-משתמשיס בתיקיות של ספריות קבציס משותפות. מכיון ש- 5 עם מנגנון 3% הוא שרת קבציס ולא מסד נתוניסם שרת-לקוח, עליך לשאוף לצמצס את גודל הקבציס העובריס ברשת הפיסית. אחת השיטות לעשות ואת היא לפצל יישוס לשני קבציס. שמור את טבלאות הנתונים בקוב 206655 בתיקיית הספריות המשותפות, והפצ בין שאר המשתמשיס קוב 460655 אחר, שישמש אותס בתחנות העבודה המקומיות. בקובצ המופצ ייווצר קישור בחזרה אל טבלאות הנתוניס שבתיקיות המשותפות. עיצוב מסוג וה מחיש את העבודה ומפחית את נפח התעבורה ברשת. לרוב ניתן לשפר את רמת הביצועיס על ידי הכללת עוד תכניס בקוב המופ, כמו למשל נתוניס שאינס משתניס לעיתיס קרובות. תוכל להשתמש בשגרות אוטומטיות לעדכון נתוניס מאחסון מקומי בעקבות אירועיס קבועיס מראש, כמו למשל עס פתיחת היישוס, או בתגובה ללחיצת לחצן על ידי המשתמש. הערה: תוכל להשתמש באשף פיצול מסדי הנתונים כדי לפצל קובץ 66655 לשני חלקים (בחר באפשרות עזרי מסד נתונים מתוך תפריט כלים). אחד הקבצים יכיל את הטבלאות, ואילו האחר יכיל שאילתות, טפסים, דוחות, פקודות מאקרו, מודולים וקיצורי דרך לדפי גישה לנתונים (דפי גישה לנתונים הם אלמנט חדש ב- 2000 460055). הצב את הקובץ הראשון בתיקיה משותפת ברשת, וקשר אליו את הקובץ השני. הפץ את הקובץ השני בין המשתמשים בתחנות העבודה השונות. באפשרותך לקבוע הגדרות אבטחה ברמת המשתמש, כך שמשתמש נתון יוכל לפתוח קובצ מסוים (ומשתמשיס אחרים לא יוכלו להשתמש בו). שימוש בלעדי במסד נתוניס עשוי להיות נחוצ למשתמש על מנת לבצע שינויים, כמו למשל הוספת מודוליס חדשיס, או בדיקה חוזרת של מודוליס קיימים. בסביבה מרובת משתמשים, הגישה הבלעדית למסד נתוניס מתבצעת באמצעות המאפיין |סשחס6 הס660ההס6 והתכונה רשימת משתמשיס 1180 ז56ש). המאפיין |סזזחס6 הסו066%ס6 המאפיין החדש |סשח0ס6 ח6600חחס6 מקל על השליטה בנגישות למסדי נתוניס באמצעות קוד. ניתן להגדיר את המאפיין הזה עבור האובייקט ח6600חח60 של ססג (09[600 ₪808 6%ש460) כך שלא יתאפשר למשתמשים חדשיס להתחבר אל מסד 0 הח 2000 466655 נתוניס, ומשתמשים קיימים לא יורשו להתחבר אליו מחדש לאחר שסגרו את הקובצ. המאפיין |סשחס6 ח8000חח60 מאפשר לך להשיג גישה בלעדית אל מסד הנתוניס כדי לבצע בו שמירה של מודולים חדשים ושינוייס אחרים בעיצובי היישוס לאחר שאחרון המשתמשים הנוכחיים ניתק את הקשר עם מסד הנתונים. שתי השגרות הבאות משנות את הגדרות המאפיין |סשחס6 ח6600הח0ס6. השתמש באוסף 165ו6קסזק של האובייקט ח6600חח60 כדי להגדיר את המאפיין. ערך של 1 כהגדרת המאפיין גורס לתכונה לסגירה פסיבית כאשר המשתמשיס מנתקים את הקשר עס קוב היישוס. ערך של 2 יאפשר למשתמשים אחריס להקים מחדש את הקשר עס מסד הנתונים. תכונה זאת שימושית למפתתחים המבקשיס להעריך את השינוייס שביצעו לאחר ששמרו אותס בקוב. ()07ו60560860700660 ס5 חס 66 ה 8.60 30 5 1חחס6 וחוס הס 66 .660166 = 1חחס 56% 1 = ("|6000 ה6600חח8:60כ= 01 65)"06ו וס קסזק. [החס סט5 0חם ()ח0ו660ח חה0ס86כ ה6קס 5 חס 66 ה ה0ס6. 8 30 5 1חחס וחוס חחח .660160 = 1חחס 56% 2 = ("|60070 6600 8:60 01 65)"060ו וס קסזק. 1 החס סט5 0חם רשימת המשתמשים רשימת המשתמשים, שהוכנסה לשימוש ב- 4 36, היא ערכה של נתוני משתמשיס השמורה בקוב הנעילה של קוב 00ח.*. נתוניסם אלה ומיניס באופן בלעדי באמצעות ספק 26%, אולס תוכל לקבל גישה אליהס רק באמצעות 00 (אס מסד הנתוניס שלך שוכן בקבציס שהשיתוף שלהס הוא לקריאה בלבד, תכונה ואת לא תהיה זמינה, הואיל ו- 3% לא יוצר קובצי נעילה עבור שיתופיס לקריאה בלבד. עליך להפעיל את השיטה 0060560678 עבור אובייקט הס660חחס6 כדי להתזיר ערכת נתונים ובה ארבעה שדות נתוניס עבור כל משתמש מן העת האחרונה. השיטה שולפת נתוניס מקוב הנעילה של קוב 05ח.*. ארבעת השדות בערכת הרשומות הס: > שפח זס%טקוח0ס6 שס המחשב שממנו מבצע המשתמש את החיבור. > 6וחאח חוַפָס! שס הכניסה לצורך אבטחה ברמת המשתמש. > 6066000 שדה זה מציין אס המשתמש מחובר כרגע (לפעמים, זיהויי משתמשים נשאריס במסד הנתוניס הנעול גס לאחר שהמשתמש כבר ניתק את החיבור עס מסד הנתוניס של 16%). > 508066 505066060 שדה זה מציין סיוס בלתי-רגיל של החיבור אל מסד הנתונים. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 441 השיגרה הבאה מפעילה את רשימת המשתמשים. צור הפניה אל רשימת המשתמשיםס בעזרת זיהוי ייחודי גלובלי (ש601 - 10 6טסוח ץוו3פסו|6) המצביע אל הפקד להתזרת ערכת הרשומות של משתמשיסם פעילים. הדוגמה מחזירה ערכיסם לשדות שחת זססטקותס6 ו- שחאת הוַפַָס! עבור כל המשתמשים הפעילים. כאשר מניין המשתמשיס ברשימה זאת עומד על 1, המפתח יכול לבצע שמירה של שינויים שנערכו במודוליס של מסד הנתונים. נוסף לכך, המפתח יכול להשתמש ברשימה כדי לברר אל מי עליו לפנות כדי לקבל שליטה בלעדית במסד הנתוניס. ()6)(5615ע15660! 505 צוסא 5 501 , החס6600 הה8.60כ סכה 5 1חחס6 חחוס 6+ 6אסעחו סח 660[סזק +חה6טס 606 זס+ ה0 660 החסס 66 66% ' .5 + 156] +66 6 חס 60 6600 68ח56הסכס ' הסוח .660160 = 1חחס 56% 0650606 1.0565 חס = 561 56% ("102-5043-1101-0001-0060410926757 494700" .חח 5%!| 6806 רחס 300 6007056% 115% ז050 6ח% זסז פהו680ח ב 6חוחק ' "6וחּ] ז50(" .8 "| 36 6הוחה136א" זחוזק. פטטסס "בבבבבבבב= ‏ "8 "שבבבבב===-===" 26900.700% 51.50 וטסחט ספ ("6החהח חוףס|")6!05ו=. 551 8 ("6חחהח זססטקו 6|05)"60ו=. 561 זחוזק. פטססס טסו 561 קסס | 50 06ח= שיתוף טפסים 5 מאפשר למשתמשיס מרובים לערוך, להוסיף ולמחוק רשומות במסד נתונים, גס ללא קוד. עס ואת, תוכל לשפר כושר גה בסביבה מרובת משתמשים על ידי הפעלת מודוליס מאחורי טפסים. טופס אוטומטי פשוט המבוסס על טבלה או מקור אחר לערכות נתוניס עשוי לפעול בסביבה מרובת משתתפים. שני משתמשים, או יותר, יוכלו לפתוח טופס כזה ולדפדף ביו הרשומות. כמו כן יוכלו המשתמשיס לשנות את ערכת הנתוניס המאוגדת של הטופס בכל הדרכים האפשריות ב- 460655. ניתן לתכנת את 406655 ולשנות את ערכי ברירת המחדל השולטיס באופן ובעיתוי שבו משתמש אחד יכול לראות את השינוייס שהכניס משתמש אחר. קובצץ מסד הנתוניס המשמש אותנו בפרק זה מכיל חמישה טפסיס 50 6088561//, 1511 |608856//, 1562 |605856/, 1503 08561 60/ ו- 1564 ו608856/) המשקפים סוגיס שוניס של שליטה באמצעות קוד. 2 הח 2000 66655 נעילת רשומות באופן ידני בכרטיסיה מתקדם (660ח40/8) בתיבת הדו-שיח כלים (100!5), אפשרויות (פחסוזסס), תמצא פקדיס לשיתוף טפסים. הלחצן רשומה בעריכה (₪66010 660ו50) מחיל נעילה פסימית ברמת העמוד. בנעילה מסוג זה, 806655 נועל את העמוד (או העמודים) המכיליםס רשומה מרגע שהטופס פותח את הרשומה לצורך עריכה. אס יש בעמוד או בעמודיס אלה עוד רשומות, גס אלה ננעלות. תיבת הסימון פתח מסד נתונים עם נעילה ברמת רשומה (09ח1060 |6/6]-₪66070 חזו) 808505ז8 חה6ק0) מחילה נעילה אופטימית על הרשומה הנוכחית בלבד. רשומות אחרות באותו עמוד אינן ננעלות. תכונה ואת, של נעילה ברמת הרשומה, נוצרה לבקשת מפתחיס רביס במטרה לצמצס את הסיכוי להתנגשות בגלל טיפול מקביל בסביבה מרובת משתמשים. אספסזסו!! הוסיפה תכונה ואת כדי לבטל את ההשפעה של הגדלת קיבולת העמוד מ- 28 ל- 465 (דבר שהיה הכרחי כדי לאפשר עבודה עס תבנית 6006וח(! בשדות המבוססים על תוויס במקוס בשדות נומריים). רענון ערכי שדה בברירת המחדל בכרטיסיה מתקדם (60סחַ0/8), מרווח הזמן לרענון מציין את מספר השניות המירבי העשוי לחלוף עד שערך שדה שעודכן בטופס מסוים יופיע לעיני משתמשים אחרים. המשתמשים יכולים לרענן שדה נתון באופן ידני על ידי בחירה בפקודה רענן (ח₪6065) מהתפריט רשומות (05ז600), או בכך שיעבירו את הסמן על פני השדה. אס הסמן אינו פעיל בטופס, ייתכן שיחלוף זמן רב יחסית עד שהשינוי יופיע לעיני משתמש אחר המעיין באותה רשומה. הטופס 5% 60885601/ מציג את התנהגות הגדרות הנעילה והרענון הקיימות בטופס 5 בסביבה מרובת משתמשים. אם תפתת שני עותקים שונים של הטופס ותכניס שינויים באותה רשומה באמצעות שני מחשביס שוניס (או שתי הפעלות שונות של 5 באותו מחשב), תוכל לראות את התנהגות הנעילה ומרווחי הזמן לרענון/עדכון. הטופס 8088560]15%1// הוא גירסה משופרת של הטופס 6088560]15%%// נטול המודוליס; הוא משתמש בשתי שיגרות אירועיס קצרות, המובאות להלן. שגרת האירוע ח6ק0 חזס" קובעת ערך של 2 שניות באפשרות מרווח זמן לרענון. שגרת האירוע 61056 חזס"] מחזירה לתקנו את מרווח זמן ברירת המחדל בן 60 השניות. שיס לב, שהשיגרה משתמשת בשיטה 56000000 עבור האובייקט חסוטהסו|קק של 60655. (ז%606ח1 45 |66ח08)ח6כ0 הס 500 6זהטוזק 2 ,"(566) |10%67%8 5617657" ה56%000. הסספסווססה סט5 0חם ()6!056 וחזס= 500 סזהטוזק 0 ,"(566) |10%67%8 5617657" ה56%0000. הסספסווססה סט5 0חם פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 443 כאשר שתי הפעלות שונות פותחות את הטופס 551 |6088560/), הדבר נראה כאילו עדכוני נתוניס פשוטיס עובריס מהפעלה אחת למשניה מהר יותר מאשר בטופס %. מרוות זמן הרענוו הקצר יותר אינו משקף שינויי סדר, הוספה או מחיקה של רשומות בין הפעלות, אולס הוא משקף עדכוניס במהירות רבה, וצריכת המשאביס שלו נמוכה. העדכון הפשוט שמבצעת השיגרה ח006 חזזסז עשוי להשפיע באופן דרמטי על החיענות הנראית לעין של יישוס 466655 לריבוי משתמשים. למעשה, להגדרה זאת אין שוס השפעה בעת תפעול בידי משתמש יחיד. מטרתה היחידה היא להשפיע על העיתוי שבו שינוייס שעורכיס משתמשים אחרים יבואו לידי ביטוי בטפסים (ובגליונות נתוניס). פקדי רענון ושאילתה חוזרת הטופס 1552 6088560 מכיל לחצן ₪61+658 המפעיל את השיטה ₪665 עבור הטופס. הקוד שמאחורי אירוע הלחיצה של לחצן זה הוא ח6.86765!]. השיטה ₪665 פועלת בדיוק כמו פסק הומן של מרווח הזמן לרענון. גס כאן, המשתמשיס אינס רואיס פעולות של סדר מיון חדש, הוספת רשומות או מחיקת רשומות, אולס הס רואים מייד כל שינוי שהוכנס ברשומות בידי משתמשים אחרים. למרות שניתן להשיג תוצאות דומות על ידי העברת הסמן על פני השדה, הלחצן נקרא 8ח₪6/765 כדי שהמשתמש יידע מייד איזו פעולה הוא מבצע. השיטה ח₪6765 מהירה, אולס היא אינה מעדכנת טופס כך שישקף רשומה חדשה, והיא מציגה רשומות שנמחקו עס סמן מחיקה. הפעל את השיטה ₪067 של הטופס כדי להציג את ערכת הרשומות כפי שהיא נראית לאחר שמשתמש אחד, או יותר, הוסיף או מחק רשומות. במצב ברירת המחדל, השיטה ח₪6/765 משאירה את הרשומה הנוכחית במצב פעיל, אולס השיטה ₪606 בוחרת את הרשומה הראשונה לאחר שסיימה את פעולתה. אס תרצה לחזור למיקוס הקודם (אשר קרוב לוודאי אינו הרשומה הראשונה), עליך להוסיף לוגיקה מתאימה כדי לנווט בחזרה למיקוס הרצוי. אם משתמש מסוים שינה את הקריטריונים למיון, כמו למשל ערכי מפתח ראשי או מפתח למיון, השיטה ץזפט60ח תשקף את השינויים הללו, אולס היא אינה מעדכנת את סדר הרשומות. השיטה ₪606 פועלת בסביבת משתמש יחיד ובסביבה מרובת משתמשיס כאחת (לשיטה ₪665 אין השפעה ביישומים למשתמש בודד). שתי השגרות הבאות מוסיפות לחצן ₪606 לצד לתצן ה₪6065 בטופס 2, לשיגרה ₪166 6060061 שלושה חלקים. תחילה היא שומרת את ערך המפתח הראשי הנוכתחי כדי לסייע באיתור הרשומה מחדש לאחר שהשיטה ₪606 מעבירה את נקודת ערכת הרשומות לרשומה הראשונה בטופס. שנית, היא מחילה את השיטה שזפטף₪6. שלישית, היא מעבירה את המיקוד אל שדה המפתח הראשי (0060₪0ח00), ומפעילה את הפקודה 08₪66070חו0וה6סכ. דבר זה מתזיר את הטופס מהרשומה הראשונה אל הרשומה שהיתה הרשומה הנוכחית לפני הפעלת השיטה עזפ₪600. אס משתמש אחר מחק את הרשומה הזאת, הטופס יחזיר את התצוגה אל הרשומה הראשונה. תוכל להפעיל לוגיקה משוכללת יותר כדי להציב את הרשומה הנוכחית במיקוס אחר. 600655 2000 ,8₪ 4 ()א6116 67060765 560 ס6סהּעוזוק 665 6 סט 0ח= ()א0116 606006 500 6זפעוזק פס| 5( 6861076 חחוס .6006 061076 6טוהע שְ6א ץזההחוזק 58/6 ' 0.6 %96ח16.600] = 661076 .0 606 ץוססה ' ץח סו .ץז 061076 6ט[פע 66 הזכ 0חו סז +קוחסאה ' ...6.0 606 אכ 66070 הוח וחספ סט5 0חם נעילת רשומות באמצעות קוד נעילת רשומות פירושה נעילת ערכיס ברשומה, באופן שמונע ממשתמשיסם אחרים להכניס בהס שינוייס. 2000 460655 מאפשר לראשונה נעילת רשומות, במקוס נעילת עמודים בלבד. השליטה בעיתוי הנעילה נעשית באמצעות אפשרויות הנעילה בכרטיסיה מתקדם (10/80660) שבתיבת הדו-שיח אפשרויות (פחסטקס). כמו כן ניתן להקצות באמצעות קוד ערכיס למאפיין ₪660701.0665 (נעילות רשומה)של טופס נתון, כדי לקבוע אס הנעילה תהיה אופטימית או פסימית, ואס תחול ברמת העמוד או ברמת הטבלה. המאפיין ₪6607010665 עשוי לקבל אחד משלושה ערכים. הערך 0, שהוא ברירת המחדל, מציין נעילת עמוד אופטימית. הערך 2 מציין נעילת עמוד פסימית. הערך 1 גורס לנעילה ייחודית של הטבלה כולה. הכרטיסיה מתקדם מכילה גם תיבת סימון חדשה לנעילה ברמת הרשומה במקוס ברמת העמוד. תיבת סימון ואת נבחרת לפי ברירת המחדל. ההגדרה שהיא מכילה מאפשרת לשני משתמשים לעדכן בו-ומנית שתי רשומות שונות באותו עמוד, באמצעות טפסים. אין אפשרות לנעילה ברמת השורה בנתוניס מסוג תזכיר (סוחסוח) או בעמודי אינדקס. בדרך כלל, 806655 אינו תומך במתן שמות משתמשים עם נעילות סותרות. ניתן להגדיר בקוד באופן ידני נעילה ברמת השורה באמצעות השיטה 56000000 של האובייקט ח680ו|סק4 ב- 860655. השיטה ח000ק6600 מאפשרת החזרת הגדרות לנעילת שורה, לעומת הגדרות לנעילת עמוד. השגרות ח6ק0 חס" (- 61056 חזס" המובאות להלן מטפלות בסגנונות שוניס של נעילת עמוד ונעילת רשומה לעומת נעילת עמוד. האירוע ח6ק0 חזס] מאפשר למשתמשי טפסים לבצע נעילה אופטימית או פסימית של עמודיסם. כאשר המשתמש בוחר באחת האפשרויות, השגרה מציבה ערך 8!56] בהגדרת הנעילה ברמת השורה. אס המשתמש לא בחר באחת משתי האפשרויות לנעילת עמוד, השיגרה תציב ערך 6טזד בהגדרת הנעילה ברמת השורה. ערכי 6טזד ו-8/56] אלה מקביליס לבחירה, או הסרת הבחירה, בתיבת הסימון המייצגת נעילה ברמת הרשומה בכרטיסיה מתקדם. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים | 445 (%6061ח1 5 |66ח08)ח6כ0 הס 500 ס6זפטוזק 6 560 567 8 66| 0+ 0065 655806 01 56165 8 %ח656זק ' .והחזס? 3 זס? 8חוא6ס! |6/6!-66070ז 0חה 56/16 חַחו06%|-806ק ' = ,0ס65 ץע ,"?0חוא06! 0806 50₪6ו טק ")אס 50 זז הפחד 65ץפע = ("2000 266655 11670508 פהווהותהזסזק" 0 = ₪660701.0665. 16 6 ,"06| |6ע6!-עשסז 256" ה560000. חסוססווססה = ,650 לפש ,"?0חו066! 806 0655101506" )0 150 )51561 חח ד 65ץפע = ("2000 66655 167050 פחווהוחהזטסזק" 2 = ₪660701.0665. 116 6 ,"8 חוא06 | |6ע6 1 אוס₪ 056" ה5600000. חסוספּסווססה 6 = ,".0חוא6ס] |606!-וסז אוסח 56008" א00ף5ו "2000 266655 11670500 6 הווהוחהזפסזק" ,הסוסהוזס+חה1ט סד , "סַחוא6ס|! |6ע6!-עשסז 056" ה5600000. חסוססוופסה + 0חם 5 56160000 חַחווחזוה60 זס+ ץסחפה ' 5 זחוזק. פטטסס ("סחהוא6ס| |6ש6!-עשסז 56")חסוסק0600. הססהסו|סקה זחוזק. פטטסס סט5 0חם ()6!056 הוחזס= 500 6סהעוזק .0חוא06] 0618006 ₪65%076 ' 116 6607010665 = 2 סד , "סחואסס| |6ש6!-שוסז 1256" ה5600000. הסספּסוופסה סט5 0חם הערה: ' הגדרות הנעילה שקבע המשתמש הראשון במצב של ריבוי משתמשים, יחולו על כל שאר המשתמשים באותה הפעלה. כאשר אתה בודק שגרות המציבות ערכים באפשרויות הנעילה השונות, עליך לצאת מ- 460655 ולהפעילו מחדש עבור כל בדיקה כדי שהגדרות הנעילה החדשות יחולו. לא לכל ההגדרות במאפיין ₪6607010665 הגדרות מקבילות בכרטיסיה מתקדם. שני משפטי ההדפסה שבתחתית האירוע ח006 וחזס] משקפים הגדרות נוכחיות לסגנון וסוג נעילת העמוד, וכן אס חלה במערכת נעילה ברמת השורה במקוס ברמת העמוד. 0 860655 מכיל מאפיין אופציונלי להחלפת נעילות מרובות ברמת העמוד בנעילה אחת של הטבלה כולה. עס הגידול במספר הנעילות בכל טבלה, 06655 יוכל להחליף באופן אוטומטי את נעילות הרשומה הנפרדות בנעילה אחת לכל טבלה. קידוס זה בנעילה האוטומטית עשוי להפחית באורח דרמטי את 'יהעלותיי של ניהול נעילות, בתוספת היתרון של נעילת רשומות כאשר כמות הנעילות מועטה. תוכל לבחור תכונה את על ידי ביטול האפשרות לנעילה ברמת הרשומה כברירת מחדל, ושימוש בשיטה 6 ;חח 2000 466655 56000000 עבור האובייקט חסטפסווסֶקה. כמו כן עליך להציב ערך בערך הרישוס החדש 06% ]3016 01 066607 .88651ק. ערך ברירת המחדל, שהוא 0, הופך ללא ומין את קידוס הנעילה האוטומטית. כל ערך גדול מ- 0 מציין את המספר המירבי של נעילות לטבלה בטרס ינסה 26% להחליפן בנעילת טבלה אחת. ערך של 100 פירושו, ש- 26% ינסה להחליף נעילות עמוד בנעילת טבלה בודדת עס הצבתה של הנעילה ה- 101, ה- 201 וכך הלאה, בכל טבלה נתונה. הנסיונות יצליחו רק אס תינתן ל- 360 גישה בלעדית לטבלה (הואיל והצבת נעילה על הטבלה נועלת את הטבלה בפני כל המשתמשים, מלבד בעל הנעילה). הטיפול בנתונים ב- 3% מהיר הרבה יותר כאשר ניתנת לו גישה בלעדית לטבלה. תכונה ואת גס חוסכת מהמפתח את הצורך לקבוע מראש מתי להחיל נעילות טבלה בלעדיות. שיתוף ערכות רשומות בערכות רשומות ובמשפטי 501, 36% משתמש בערכי ברירת מחדל יחכמיסי כדי לקבוע אלו הגדרות נעילת עמוד ונעילת רשומה להחיל. באמצעות קוד 400 המסתמך על סמנים, עוברת ברירת המחדל ב- 2% לנעילה ברמת הרשומה. במשפטי 501, העשוייס בנקל להשפיע על אלפי שורות, 36 עובר לנעילה ברמת העמוד כברירת המחדל. דבר וה מאפשר ליישוס שלך ליהנות מקידוס נעילה (אם אפשרות זאת זמינה). אס אתה מחיל נעילה ברמת השורה על ערכות רשומות, תוכל להגיע לשיפור בהתאמה וברמת הביצועיס רק אס תקפיד במפורש על גלישת משימות תחזוקה של ערכות רשומות בטרנזקציות. השתמש בשיטות 7805דחו860, 5ח8ז טוח וחס6 ו- 36%ס!!ס₪ (שנדון בהן בהמשך פרק זה) כדי להבטיח גלישה בכל פעולת רשומה. בלא אמצעי זה, יצטברו עוד ועוד נעילות, עד שיגיעו לערך של הגדרת הרישוס +טססוחו דח0ו5860ח8ז דתפטו=. אס אתה מחיל נעילה ברמת הרשומה, עליך לשקול בזהירות אלו סוגי נתוניס להקצות לשדות ואלו אורכי רשומה לקבוע, כדי שתוכל לקיים בקרה על גודל קובצ מסד הנתונים. נעילה ברמת הרשומה גורמת לכתיבת שורות במקוס עמודים; שורות המשתרעות מעבר לגבול העמוד יש להעביר לעמוד חדש. באמצעות סוג נתוניס בעל אורך קבוע, תוכל לקבוע במדויק את אורכן של רשומות; לא ניתן לעשות ואת כאשר טבלאות הנתוניס ב- 466655 מכילות תוויס בעלי אורך משתנה (עס זאת, שפת הגדרת הנתוניס ב- .501 365 מכילה סוג נתוניס 034%, המאפשר לך לקבוע את אורכס של שדות מסוג 'מחרוזת'. דבר וה עשוי, בתורו, לסייע בבקרה על גידול הנפח של רשומות כתוצאה מרשומות שעמוד יחיד אינו יכול להכילן). נעילה ברמת השורה השיגרה הבאה מראה כיצד מופעלת נעילת שורות ביישוס מרובה משתמשים. השיגרה מדמה יישוס לשני משתמשים על ידי הפעלת שני חיבורים כנגד אותו קוב נתונים. ליישוס דרוש קובצ נוסף, ששמו 06.00 |או65%80ד. הפעל את השיגרה במצב צעד כדי לראות כיצד נעילת השורות מצליחה, או נכשלת, בהתאם לנסיבות השונות. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים | 447 ()6551₪01506ק 8חוא6ס.[אוס₪ סט5 ;06| אוסי )0 060 5וח% חטז ס% טסו 0חו6ס0 ]6500 ד 56 ' .אש פחד 6אזאאזא אפהצצ אםקס פסוא.א6ס ןוסא דפפד פעצגר דסא ססי הסוח 8.00 0 צוסא] 5 1חחס6 וחוס סו חח 8.00 300 צוסא] 5 2חחס6 וחוס צסא ₪5 5ז חזוס ,ד אצוסא 5 52 חחוס זז 35 [ וחוס זסחה הזז 0 ד60 זסזזם הס 6 8חוא6ס! עס חפט 00 ,08580856 58706 06 5%ה3081 5ה0 660 הח60 סט חס6מס ' "06 שוסז" 15 1 ,"006 6חַהּכ" 15 0 - 0וחן 1006 8חוא6ס | 680856הכ:8כם 01 66 ' סח 0618 |65%0 ד ס+ ה0ו660ההסס6 ל5וו1 הסקס ' = 8 " ה05.4.0;08%= 670508.26%.01ו]= זס0ועסזק" ח6ק1.0 הח6 8 ";00. 068 [צ 65% ד10 8 66655 חור ותה זססזק:6= 5066" ";1006=1! פַחו068.] ס5המה6הכ:5= 01 36%" 0 06 !050 ד 60 הס 660 ה 60 560000 הסכס ' = 8 ";08.4.0ם 01.ז11670508.26]=ז06ועסזק" ח2.076הח6 8 ";0 060.0 |ש650 ד 10 8 666556 סחוהוחהזטסזק:66=6וט50 ההכ" ";1006=1! פַחו008.] ס5הּממ6הכ:5כ= 01 36%" סז 75% 6+ 60008 חהו260 חה3 הסח66החהסס 5% 06 חו 6607056% 8 חסקס ' 3000260867560 ,1 החש , "חחוא6ס 650 ד" ח6ק5.0ז 3% 30607 ,1506 6551ק066 01 .6 ₪6|0 אוסז 56זו 01% ' ("5.=16|05)"60|1ז +חוזק. פטטסס 2 = ("16|05)"60!1ת.5] 6% 66070 6 61056 6!טסעט 6זסח 0806קט חב פחוטק ;08%6ק82.00ז ' ("5.=16|05)"60|1ז זחוזק. פטטסס .60660 566070 6 חו 6607056% 8 חסמס ' 3002686560 ,2חחם ,"חחוא6ס |ו650 ד" ח52.076ז 36% 3001 ,1506 6551ק 066 01ב 656 6 חן 376 6/ט 06חו5 ,8חו66ס! צוסיז חן ח6/6 ;אוסי זו 606 6015 0ץ +קוחסאה ' .181 ||וא פוחז ,06סר פַחואססו' ("6!05)"60]1ו=. 52 זחוזק. פטטסס 3 = ("52.=16|05)"60!1 ("6|05)"60]1ו=. 52 זחוזק. פטטסס .6 586 6 חו אוסז זסרססחה 60 סטסטן ' 6% עסו 52 6 006 8חוא6ס! וס 6 זס סח 65זסצו 15 ;צוסז +אסח 6ח+ 601% ס+ זקותססת ד .6 ס!סחצו 6 זסח ,צוסז 0!6חו5 3 0ף 5סו|מק3 ץוחס 66ס! סוט ' ("6!05)"60]1ו=. 52ז זחוזק. פטטסס (8ַחו6%ס! צוסז) |181 +סח 0!|טסתפ ' 4 = ("52.16!05)"6011ז ("6|05)"60]1ו=. 52 זחוזק. פטטסס 8 ;חח 2000 466655 .600565 8%6 קט ' 6 ו 30 660005 ה ה 60 0|056 ' 0-86 0] פחוח%ס = 1חחס 56% 9חוח0% = 2חחס 56% טטפ זוא= זס סה תחת 1 - 5.600%זסזזם. 1 חח6 סד 0 = [ זס= "ח0ו66 חח 60 1חהחם6 חס פזסזזם" +חוזק. פטטטס זסס וטא ([)פזסזזם. החש ;" : וחטא זזם החס6" שחוזק. פטטסס הססק 650 ([)פזסזזם. 1 החש ;" :656 זזם החס6" שחוזק. פטטסס [ +א6)] 1 - 5.600%זסזזם. 2חח6 סד 0 = [ זס= "ה0ו660 חח 60 2חחםס חס פזסזזם" +חוזק. פטטטס זסם וטא ([)פזסזזם. 2חחש ;" : וחטא זזם החס6" שחוזק. פטטסס הססק6567. ([)פזסזזם. 2חח6 ;" :656 זזם החס6" שחוזק. פטטסס [ ?א6] + 6506 סט5 0חם שיס לב שהניסיון שנעשה בחיבור השני לכתוב ברשומה הראשונה של הקובצ 0.0 ]סד נכשל, הואיל והרשומה עדיין פתוחה בחיבור הראשון. ניסיון וה עשוי להצליח אס החיבור הראשון יסיר את הנעילה מהרשומה (למשל, על ידי הפעלת משפט 5.00866ז). נסיונו של החיבור השני לכתוב ברשומה השנייה מצלית מייד, מכיון שלא חלה כל נעילה על רשומה זאת. הלוגיקה לטיפול בשגיאות מציגה את הערכים מהאוסף פזסזז= בחיבור של 16%. נעילה ברמת עמוד להלן קטע מהשיגרה ()0ח280610661 בעיצוב דומה, העושה שימוש בנעילת עמוד במקוס בנעילת רשומה. שיס לב שהערך של 1066 0חוא06]| 6פהּמַהּאהּכ, שהיה 1 בדוגמה הקודמת, התחלף ב- 0 בדוגמה ואת. ערכים אלה מציינים, בהתאמה, מעקב ברמת השורה וברמת העמוד. שני נסיונותיו של החיבור השני לעדכן רשומות נכשלים, הואיל והחיבור הראשון פתח נעילה, ועמוד יחיד מכיל את כל הרשומות של טבלה קצרה זאת. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 449 0618 |ס65% ד ס+ ה0 660 ההסס6 ל5ו1 הסקס ' = 8 " 4.0;08%8. ₪08 16070508.166.01 = זס0ועסזק" ה6ק1.0החס 8 ";00. 068 [צו0 65% ד10 8 66655 פחווותהזססזק:6= 50766" ";1006=0! פַחו068.] ס5המה6הכ:5כ= 01 36%" 06.0 ]050 ד 60 הס 660 ה 60 560000 הסכמס ' 8 ";08.4.0= 1670508.26%.01 = זס0ועסזק" ח6ק2.0החס 8 ";0 060.0 |ש650 ד 10 8 ח666556 סחותוחהזטסזק:66=6ט50 הכ" ";1006=0! פַחו068.] ספהּמַה6הכ:5כ= 01 36%" סז 175% 6+ 601008 חהו260 36 הסח66ההסס 56 06 חו 6007056% 8 חסקס ' 3006086756 ,1 החש , "חחוא6ס |[שס5% ד" ח6ק5.0ז 36% 3007 ,1506 06626551 01 .6 ₪60 צוסז זו 01 ' ("5.=16|05)"60|1ז +חוזק. פטטסס 2 = ("16|05)"60!1ת.5ז] ("5.=16|05)"60|1ז +חוזק. פטטסס 6066 566070 6 חו 6607056% 8 חסמס ' = 3002686560 ,2חחם ,"חחוא6ס |ו65%0 ד" ה52.076ז 36% 3007 ,1506ח6551ק066 01 6 8חא06! 0806 0655101506 01 2668056 ;אוסז 175% 6+ %/60 0+ +קוחסה ' .85 15 ,56000 ' ("6!05)"60]1ו=. 52ז זחוזק. פטטסס 3 = ("16!05)"60!1=. 52 ("6!05)"60]1ו=. 52ז זחוזק. פטטסס .6 586 6 חו אוסז זסהססחה 60 סטסטן ' עסו 52 6 חס 15 שסז 6% 06 0668056 סס 1815 15 ;צוס +א6ח 66 601% סז +קוחסאה ' .6 586 ' ("6!05)"60]1ו=. 52 זחוזק. פטטסס 4 = ("16|05)"6011. 52 ("6!05)"60]1ו=. 52 זחוזק. פטטסס 5 806 קט ' 6 6 אבטחה 5 מכיל מערך מגוון של תכונות אבטחה, התומכות בצרכיםס השונים של יישומי 5 השונים. רוב יישומי 860655 למשתמשים מרובים עשויים להפיק תועלת באבטחה ברמת המשתמש, המאפשרת למפתחים ליצור קבוצות של משתמשים. אלא שביישומיס מסוימיס יש צרכים מיוחדים נוספים. בסעיף זה נביא סקירה קצרה על טכניקות אבטחה נוספות, מעבר לאבטחה ברמת המשתמש. הסעיפים הבאיס עוסקיס בגישות שונות לניהול אבטחה ברמת המשתמש באמצעות ססה, דרך הקוד. 0 הח 2000 466655 חלופות לאבטחה ברמת-משתמש אחד היתרונות של 406655 הוא יכולתו לשרת קהלי יעד שונים. יישומיס מסוימיס הס עתירי-קוד, על כן עליך להבטיח את השקעתך בקוד מקור. יישומיס אחריס משרתיס קבוצות עבודה קטנות עס כשריס טכניים מוגבלים, אך עדיין נדרשת אבטחה ברמה מינימלית כדי למנוע גישה לנתוניס. ביישומיס אחרים, היתרון נובע מהפעלת ממשק משתמש מותאס אישית המגביל את הפונקציונליות על ידי חשיפת סדרה מוגבלת של פקודות. שימוש בממשק מותאם אישית לעיתיס ניתן ליצור אבטחה מספקת ליישוס על ידי החלפת ממשק 866655 הרגיל בממשק מותאס אישית. בתפריט כלים (10005), בחר באפשרות הפעלה (קטשז509) כדי לפתוח תיבת דו-שיח המאפשרת לך לציין כותרת וסמל ליישוס מותאס אישית, טופס פתיחה מותאסם אישית, ותפריטים מותאמיס אישית שיחליפו את אלה המקובליס ב- 5. תיבת דו-שיח זאת מאפשרת גס להשבית את החלון מסד נתונים (2890850) ואת שורת המצב. כמו כן תוכל לטפל באמצעות קוד בתכונות של תיבת הדו-שיתח הפעלה. אס סוג זה של טיפול מתאיסם לצורכי האבטחה שלך, עליך לשקול אס כדאי לתגבר אותו בשיטות שסח5 ו- ₪4106, ובמאפייניס 6|פו5ו/ ו- ח₪41006 לאובייקטיס בחלון מסד נתונים (עיין בפרקיס קודמיס, שס תמצא פרטים על טכניקות ליצירת תכונות מותאמות אישית: פרק 8 מתאר כיצד לתכנת את תבנית האובייקט 5ז083חח 60 כדי לבנות תפריטיס מותאמים אישית, ולהתאים תפריטים מוכללים; פרק 5 מראה כיצד לבנות טופס פתיחה מותאם אישית). הגדרת סיסמה למסד נתונים באפשרותך לחייב משתמשים להזין סיסמה כדי לקבל גישה בלתי מוגבלת לכל אובייקטי הנתוניס ומסדי הנתוניס ב- 866655. בהשוואה לאבטחה ברמת המשתמש, אין קושי בניהול סיסמאות. אבטחה באמצעות סיסמה היא אמצעי הולס כאשר פועלת במשרד קבוצה שלחבריה דרושה גישה וזהה לכל האלמנטים של קובצ מסד נתוניס, אולס לא כל עובדי המשרד חבריס בקבוצה. לא ניתן להשתמש בקובצ מאובטח בסיסמה כחבר בקבוצת חבריס משוכפלים, מכיון שב-260, שכפול מסד נתונים אינו יכול ליצור סינכרון עס קוב מאובטח בסיסמה (ראה פרטים בפרק 11). כמו כן עליך להיזהר ביצירת קישור עס קבצי מסד נתוניס מאובטחיס בסיסמה מכיון שכל אדס המסוגל לגשת אל הקוב המקשר אל הקובצ המוגן זוכה בגישה בלתי מוגבלת לקובצ המוגן. יתר על כן, 860655 שומר גירסה מוצפנת של הסיסמה לצד נתוניסם אחריס אודות הקובצ המקושר. לבסוף, אם מישהו יחליף את הסיסמה עבור קוב מקושר, 866655 ידרוש את הסיסמה החדשה בפעס הבאה שקובצ מסד נתוניס אחר יקושר אליו. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 451 כדי להקצות ולבטל סיסמה למסד נתונים, דרושה לך גישה בלעדית לקובץ. בצע את הפעולות הבאות: 1. כדי להקצות סיסמה לקובץ, פתח את הקוב על ידי בחירת האפשרות פתח בלעדית (6ש6!051א₪ ח6סס) בלחצן פתת (ה6ק0) שבתיבת הדו-שיח פתיחה. 2. בתפריט כלים, בחר אבטחה (50000), הגדרת סיסמת מסד נתונים 560 00סצ2855 56הַ8זהכ). 3. בתיבת הדו שיח קביעת סיסמת מסד נתונים, הון את הסיסמה שבחרת בתיבות הטקסט סיסמה ואמת סיסמה, ולח על אישור. בפעם הבאה שמשתמש יפתח את הקובץ, היישוס ידרוש ממנו את הסיסמה. 4. לאחר שביצעת פתיחה בלעדית של מסד נתונים, בחר כלים, אבטחה, בטל קביעת סיסמת מסד נתונים (0זסשש855ק 28680856 566ח0). הסר את הסיסמה על ידי הקלדת הסיסמה בתיבת הדו-שיח בטל קביעת סיסמת מסד נתונים. פעולה ואת מבטלת את הדרישה הראשונית לסיסמה כתנאי לגישה אל מסד הנתוניס. הגדרת סיסמה למודול ב- 2000 84606658 ניתן להחליף אבטחה ברמת המשתמש באבטחה באמצעות סיסמת מודול. גישה חדשה זאת יוצרת אחידות בין 466655 לבין שאר מרכיבי 2000 01866, וחלה על כל מודולי המחלקה העצמאייס והמודוליס הסטנדרטיים, וכן על המודוליס שמאחורי טפסים ודוחות. [<] טטז ]60ןטז - 0 1זסוקְהּת0 | חסוסוסו | וק 100% הוושו זם] 6%פ[סזם 106% ש] תרשים 1: השתמש בכרטיסיה ו . . 2 הסוז66+סיוק בתיבת הדו-שיח 66%[סזוק 2 0 355 חזו]חס 5 ו כדי להגדיר סיסמת אבטחה , למודולים של פרויקט | | - הגדרת סיסמת האבטחה לכל המודוליס בפרויקט 884/ נעשית בו-ומנית באמצעות עורך 8856 |808ו (85/). בתפריט פ!ססד (כליס) של הפרויקט, בחר בפקודה 65 (מאפיינים) כדי להציג את תיבת הדו-שיח 6165ו6כסיוק 0[66%פ (מאפייני פרויקט). הכרטיסיה 066908 (הנראית בתרשים 10.1) מכילה את תיבת הסימון פחוש6ו וס 66%[סיוק 106% (נעל פרויקט להצגה), ותיבות טקסט להזנה ואישור של סיסמה למודול. הקצאת סיסמה כתנאי להצגת מודוליס בפרויקט אינה מספיקה כדי למנוע מהקוד לפעול כאילו אינו מוגן. אס הקצית סיסמה אך לא בחרת בתיבת הסימון 8חושסו/ זוס= 66%[סזק 106%, כל משתמש יוכל לערוך את הקוד, ורק תיבת הדו-שיח 2 הח 2000 66655 5 0[606₪זק תהיה מוגנת. לביטול סיסמת האבטחה של מודוליס בפרויקט, מחק את כל הערכים בכרטיסיה חסופס6ספסיזום. לאחר אבטחת המודוליס בסיסמה, עליך להכניס את הסיסמה פעם אחת נוספת כדי שתוכל לצפות, לערוך או להכניס קוד חדש. תוכל לאבטח טפסים ודוחות בעזרת אבטחת רמת משתמש (ש56601 |646!-ז₪56) או סיסמת מודול (0זסשש855ק 6!טסס). אבטחת רמת משתמש מיושמת לעיצוב ושימוש בטפסיס ודוחות. תוכל לחייב את המשתמש לקבל רשות 06590 001 כדי להוסיף פקדים לטפסים. המשתמש גס יצטרך את הסיסמה למודולים בפרויקט, כדי לכתוב פרוצדורות לאירועים עבור הפקד. ידיעת הסיסמה למודולים בפרויקט אינה מאפשרת להוסיף פקדיס או להסיר פקדיס מטופס. בנוסף, הרשות ח8ַו65 /0018 (שינוי עיצוב) אינה מאפשרת למשתמש לשנות את המאפיין 85000!6 של טפסים ודוחות ל-0א. המשתמש צריך להכניס תחילה את הסיסמה עבור המודוליס של הפרויקט. שימוש בקבצי 6שוח.* קוב 06.* מעניק אבטחה מוחלטת לקוד של קוב מסד נתונים ב- 860655. בהמרת קוב 00וח.* לקוב 06.*, 460655 מהדר את כל המודולים, מסלק קוד ניתן לעריכה, ודוחס את הקוב החדש תוך שימור קוב> 05ח.* המקורי. מסד הנתוניס שלך יתכווצ בגודלו בגלל הסרת הקוד הניתן לעריכה. כמו כן, מכיוןו שההמרה יוצרת מיטוב בניצולת הזיכרון, מהירות הפעולה של הקוד תגדל. כדי לבצע המרה של קוב 00ח.* לקוב> 06ח.*, עליך לקבל גישה בלעדית לקובצ (עיין בסעיף שכותרתו ייהגדרת סיסמה למסד נתוניסיי, לעיל). בתפריט כלים בחר באפשרות עזרי מסד נתונים (865ו|0( 8856ז0), ולאחר מכן בחר באפשרות יצירת קוב =פוא (6ו= שפ!ו 6א18!). לאחר שמירת קוב ההמרה, הקפד לשמור גס את הקוב המקורי. בהגנה מסוג וה, השיטה היחידה לערוך את הקוד בקובצ מסד נתונים או להוסיף עליו, היא לערוך את השינוייס בקובצ המקורי, ולאחר מכן להמיר אותו בקוב 06וח.*. בקוב 06ח.* חלות מספר מגבלות : > לא ניתן להכניס שינוי בטפסים, דוחות או מודוליס, או להוסיף חדשים. > לא ניתן לייבא או לייצא טפסים, דוחות או מודוליס אל תוך קובצ 00ח.* רגיל. עס זאת, ניתן לייבא ולייצא ללא קושי טבלאות, שאילתות, פקודות מאקרו וקיצורי דרך אל עמודי גישה לנתוניס במסדי נתוניס אחריס. > לא ניתן להוסיף, למחוק או לשנות הפניות לספריות אובייקטים או מסדי נתוניס אחרים. > לא ניתן לבצע שינויי קוד דינמייס, הואיל וקבצי 06.* אינס מכיליס קוד ניתן לעריכה (בפרק 7 תמצא דוגמה המציגה מגבלה זאת). 4 לא ניתן לבצע המרה של חבר קיים בקבוצת עותקיס משוכפלים לקובצ 06חח.*, אולס קובצ 06.* יכול להשתתף בקבוצת עותקיס משוכפלים. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 453 > קוב> 66וח.* יכול להפנות לקובץ מסד נתוניס אחר רק אם אותו קובץ אף הוא מסוג 6ח.*. עליך להמיר קבצי פסוח.* (או קבצי תוספות 08ח.*) בטרס תמיר את קובצ 0ח.* המכיל את ההפניה אליהם. על ההפניה החדשה להצביע אל קוב 06ח.* החדש. בקרה על אבטחה ברמת-משתמש באמצעות קוד באבטחה ברמת המשתמש ניתן להגדיר קבוצת עבודה המורכבת מחשבונות משתמש ומחשבונות קבוצה. ניתן ליצור באמצעות קוד חשבונות משתמש וחשבונות קבוצה, וכן להקצות הרשאות לחשבונות אלה. מבנה 00% החדש תומך בפונקציונליות מסוג וה באמצעות האובייקט 6809/09, וכן אובייקטי האוסף 05675 ו- 5סטסז6. תרשים 10.2 מציג את ההיררכיה: קבוצות יכולות להשתייך למשתמשים, ומשתמשים יכולים להשתייך לקבוצות; הן משתמשים והן קבוצות שייכים לאובייקט 68%9|09. ו ] 0ו60!!60% [ | תטסוה] ב = | :תה || | 0 שו תרשים 10.2: יחסי האובייקטים ז056 ו- קטסז6 אל האובייקט 6808|00 תוכל להקצות הרשאות למשתמשים, לקבוצות, או לשניהס גס יחד. ככלל, השיטה היעילה ביותר היא להקצות הרשאות לקבוצות. עליך למחוק את כל הרשאות ברירת המחדל מחשבונות המשתמשים הנפרדים, ולאחר מכן להציב משתמשים בכל הקבוצות המתאימות. בסוג וה של עיצוב ברמת המשתמש, ניתן לנהל הרשאות על ידי הצבת משתמשים בקבוצות, והקצאת הרשאות לקבוצות, מכיון שכל הרשאות הקבוצה חלות על המשתמשים החברים בה. על ידי הגבלת ההרשאות המוקצות לקבוצות, עיצוב זה יוצר נקודה מרכזית אחת לניהול הרשאות. הדוגמאות הבאות מראות כיצד ליצור באמצעות קוד משימות ניהול טיפוסיות ברמת המשתמש. הואיל ומטרתן העיקרית היא להדגיש שגרות בסיסיות בניהול אבטחה, רק שתייס מהן מכילות לוגיקה ללכידת שגיאות. חיבור אל מסד נתונים מאובטח השיגרה הבאה יוצרת חיבור אל מסד נתוניס מאובטח. מחרוזת החיבור כוללת ארבעה משפטים. המשפט הראשון מייעד את המאפיין זססוטסזש לאובייקט חס660חחס6 של השיגרה. הוא מציין את 4 36% כספק 8 015. המשפט השני מקצה לחיבור את מאפיין מסד הנתוניס של המערכת, כלומר השס והנתיב של קובצ נתוני קבוצת העבודה (הקובצ צו0ח.00ח5/5%6706 בתיקיית 01706; עליך להעתיק את הקובצ באופן ידני אל 4 ח,/ 2000 466655 תוך תיקיית 01006). המשפט השלישי מצין את מקור הנתוניסם, שמבקרה ה הוא קובצ מסד הנתוניס המאובטח 16/6!.85ז056. המשפט הרביעי מציין ערכי ויהוי משתמש וסיסמה לצורך כניסה אל מסד הנתונים המאובטח. בדוגמה ואת, השיגרה נכנסת למערכת בשס חווח0. אם לא תשנה את הגדרות ברירת המחדל, יוקנו למשתמש זה הרשאות ניהול מיוחדות. .סק 15ח% פהוהחטן 0606 חס 6זט60ססז הספסו חזטד ' .3660 506 הוח 60 "סשש55הכ" +0 סזסצ55הק 55100 ' ()/6ש6 1ז56(חס6קס סט5 חס 66 ה 8.00 0 צוסא] 5 1חחס6 וחוס אסא 5 561 וחוס זסץ ההכ ץ506616 ;5006 08%8 5660760 [6/6]-ז56 06%ו9+ סז הס0 66 החס6 הסכס ' .0 55הכ 30 12 הספס! 065100806 ;₪16 הסטאוזס+חו קטסופאזוסשו "08.4.0ם 1167050.26%.01" = זססוטסזק. 1 החס = = ("08%00856 (506ש8:5= 01 65)"066ו וס קסזק. [החס ".550606 071106 0166 1670501%ו 1!65= ותהזטסזק :6" 8 ";6/6|.00 10\5671 8 666556 פחותוחהזטסזק:6=6סזטס5 הזה" ה6ק1.0החס "; 2855070 = 00שש855ק ; הור = 10 0507" .660 חח 60 60 60 66070 5%זו והסז) ₪610 5%זו1 +חוזק ' 6 , , ,1 החש ,"15 60885601/" ה6ק561.0ז (6!05)0!ח. 5%1ז +חוזק. סטטסס 16 סט 0חם שתי השורות שלאחר ההערה פותחות ערכת רשומות המבוססת על התיבור ומדפיסות את ערך השדה הראשון מתוך הרשומה הראשונה. דבר זה נועד לאימות פעולתה התקינה של הדוגמה. הטבלה 6088560115%/ היא אותה טבלה ששימשה בדוגמה לריבוי משתמשים, לעיל. כדי שהשיגרה |6/6 ]006010561 תפעל, עליך להפעיל את שגרת הכניסה למערכת. דבר וה כרוך במתן סיסמה למשתמש חווחסה. כמו כן דרוש לשיגרה גס קובצ נתוני קבוצת עבודה. במקרה זה, על שמו להיות עו 0וח50606ץ5, ועליך לשמור אותו בנתיב שצוין בשיגרה. התקליטור הנלווה כולל הן את קוב מסד הנתוניס המאובטח, והן את קוב נתוני קבוצת העבודה, לביצוע קל ופשוט של בדיקת השיגרה. הוספה ומחיקה של משתמשים כאשר מפתחים ומנהלים יישוס מותאם אישית עס אבטחה ברמת המשתמש, מתעורר בדרך כלל צורך בהוספה ובמחיקה של משתמשים. בטרס תוכל להוסיף משתמשים, עליך להיכנס למערכת כחבר בקבוצה 5חוחח0ה, למשל חוחחסה. תוכל להשתמש בשיטה 0חסקקה של האוסף 0565 כדי להוסיף משתמשיסם לקטלוג או לקבוצה. עליך לציין עבור המשתמש החדש שם, ובאפשרותך גס להקצות סיסמה. 400 מאפשר הקצאה של פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים | 455 ו סיסמה בשלב מאוחר יותר בעזרת השיטה 6ַזְסטַפפהק6פַח8ח6 של האובייקט זספש. למרבה הצער, אינך יכול להקצות פזפ, כיון שערך זה נבחר באופן אקראי על ידי ססא. שתי השגרות הבאות מציגות אחת מהגישות להפעלת השיטה 6חססקה כדי להוסיף משתמש חדש ביישום. השיגרה ז68|!14866/056 מפעילה את השיגרה ז056ו866 ומעבירה שני ארגומנטים. הארגומנט הראשון מקצה שס משתמש חדש, השני שולח סיסמה. בדוגמה, המחרוזת 'ַזסאו0855'י מכילה את הערך של ארגומנט הסיסמה. סק 5וחז פַהוהחטז סט זסוזק 615% 0% 0065 %ה36000 ז56(שוס)] 6זט5 6אהּאן ' 5% ז68!!26!60610560 חטז ,6!קותהאם זסז' ()ז6|(50א68|]₪3 פט5 "0זסצ355" ,"507 עס" ז86650וח 50 6ח= (0חוזז5 35 0זס/76 5660 ,0חו507 5 6ר )36656 סט5 0 אכ צוסא 5 6861 וחוס = = 60/660700660078. 608+1 8 ";08.4.0= 67050.26%.01ו]= זט סושסזק" 8 ";00ח.|6ש6 10\05671 8 6665560 הוותה זפסזק:766=6טס5 זכ" ₪ "1!65= הח8ז00זק:08690856=6 וח5%60ץ5:כ= 01 16%" 8 ;וח סרח 55% 6166 1166 50סז6!ו" "; 2855070 = 00שש855ק ; הור = 10 ז050" 56660 ,6רחהּ5ט סהסקכה.05075. 0871 סט 0חם השיגרה 866056 מגדירה יעד לקבוצה החדשה בעזרת ההגדרה 6600 ה 606600 באובייקט 6889|00. שיס לב, שהיא מקצה זיהוי משתמש עס הסמכות ליצור משתמש חדש, ומצביעה אל קובץ נתוני קבוצת עבודה. השיטה 0ח6ס0 בשיגרה ז8%6560 מוסיפה חבר חדש באובייקט 6808|09. לכן, המשתמש החדש עדיין אינו חבר באף אחת מהקבוצות. באפשרותך גס להוסיף חבר לאובייקט קטסז6, כך שלמשתמש תוקנה חברות מיידית באותה קבוצה. באחת מהדוגמאות הבאות ננקטת טכניקה ואת. שתי השגרות הבאות מוחקות משתמש מהקטלוג של מסד נתונים. התחביר בשיטה 6 של האוסף 565 והה לתחביר בשיטה ₪6!6066 של אובייקטי האוסף 8!65ד, 5 ו- פצסו/. השיגרה הראשונה, ז68|!0616%6/050, מעבירה ארגומנט אחד - שס המשתמש - אל השיגרה השנייה, ז06!6060050. השיגרה השנייה מוחקת את המשתמש מהקטלוג, ובמקביל מוחקת את המשתמש גם מכל שאר הקבוצות. ;סק 15 פַהוהתטז 0ף זסוזק 61565 %חט3600 ז56(צוס)] 6זט5 6אהּאן ' .-ז6)0506א68||]!13 חטז ,6!קוהא6 זסז ' ()ז68!|6!6%6)(56 5 "5 )צ6)]" ז06!6%6(50 50 06ח= 6 הח 2000 466655 (0חוז50 5 6ו571%3ט)ז06!6%6)(50 סט5 0 אכ צוסא 5 6861 וחוס = = 660700660078/ו6. 68%1 8 ";0.4.0= 67050.26%.01ו]= וס סוטסזק" 8 ";6].00ע6 10\05671 8 66655 הוותה זפסזק:766=6טס5 הכ" ₪ "1!65= הח8ז00זק:08%90856=6 וח506ץ5:כ= 01 16%" 8 ;וח סרח 55% 6166 1166 6050" "; 2855070 = 00שש855ק ; הורח0/ = 10 ז050" 36 )57 15075.26!6%6. 68+1 סט 0ח= כדי למחוק משתמש, עליך להיכנס למסד הנתוניס כחבר בקבוצה פחוחחסה. להפעלת השיטה 06/66 לא נדרשת סיסמה. כל שדרוש לשיגרה השנייה הוא ארגומנט מחרוזת המכיל את שס המשתמש שיש למחוק. הקצאת קבוצות למשתמשים אחת הטכניקות המקובלות לניהול הרשאות היא הקצאת קבוצות למשתמשים, וניהול ההרשאות עבור אותן קבוצות. ההרשאות של משתמשים נגזרות כולן מהחברות בקבוצה. הדוגמאות בסעיף זה מוסיפות ומוחקות חברות בקבוצה מתוך חשבון משתמש. בשתי הדוגמאות נעשה שימוש בקבוצה המוכללת 0568, אולס אותן טכניקות יפות גס לקבוצות מותאמות אישית. שתי השגרות הבאות מוסיפות קבוצה לחשבון משתמש ששמו ז056וו6. הקפד לוודא שחשבון המשתמש אכן קייס בטרס תפעיל את השיגרה. השיגרה הראשונה, ז וס דט סז 63|//00, מעבירה שס משתמש ושסם קבוצה אל השיגרה הבאה. השיגרה ז וס ד סז 00 המשתמשת בשיטה 6ח6סק4 כדי להוסיף את האובייקט קטסז6 לאוסף פקטסז6 עבור המשתמש. הדוגמה מעבירה ארגומנטיס לשיגרה השנייה, וארגומנטיס אלה מוריס לה להוסיף את הקבוצה 05675 למשתמש ז0560או6. ()ז056 68!!/006007 פט5 "5075" ,"ז50(עש1)6" ז050וס דקטסז 006 50 06ח= (0חוזז5 5 6וחהּ)קז ,8חו50 35 סוחהאפט)ז50 טס דקטסז 006 פט5 קז 00 6070 זסזזם חס 0 אכ צוסא 5 6861 וחוס 9-.-. = 8155 3006/|7680ז366 605% 68%1 .60/660700660078 = = = 8 ";08.4.0ם 67050%.26%.01ו]= זז סוטסזק" 8 ";6].00ע6 10\05671 608 66655 הררה זטסזק:766=6טס5 הכ" ₪ "1!65 הח8ז00זק:08%80856=6 וח5%6ץ5:כ= 01 16%" 8 ;וח 55661060 01166 1166 050ז6!ו" "; 2855070 = 2855/00 ; הור = 10 ז056" פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים | 457 6ח3 )קז 6חהססקה.5קטסזס. 68%1 סקז 0הסקקה.5קטסזס. (6רח15075)0578. 6811 ו 0 זוא= :ד חס ד 15%אם ץ06|7680ח366%3 = זססותטא.זזם + + 6506 6 חסחקן656. = ;זססוחטא. זזם +חוזק. סופספ + 0חם סט5 0חם השיגרה השנייה מפעילה את השיטה 6חס6סקג בניסיון ליצור קבוצה עס השס של הארגומנט השני שהועבר אליה. כשמדובר בקבוצות, שיגרה ואת פועלת בין אס הקבוצה כבר קיימת ובין אס לאו. הואיל ו- 05815 הוא חשבון קבוצה מובנה, הוא ממילא קיים תמיד. אס לא קיימת עדיין קבוצה עס שס הארגומנט השני, השיטה 0חסכ תצליח; אס לא, השיגרה תיפול לתוך מלכודת שגיאות ותחולל את מספר השגיאה 2147467259-. לאחר מכן היא תמשיך אל המשפט הבא. בשלב הבא השיגרה תוסיף את הקבוצה לאוסף פ5קטסז6 עבור האובייקט זספטשו6א. גס כאן, אס הקבוצה כבר קיימת באוסף 5קטסזס של המשתמש, השיגרה תמשיך אל המשפט הבא. שתי השגרות הבאות מוחקות קבוצה מתוך אוסף פ5קטסז6 של משתמש. השיגרה הראשונה, קטסזסוחסז-6!567/סוח68|!₪6 מעבירה שס משתמש ושס קבוצה כפרמטריס אל השיגרה השנייה, סטסזסוחסז-6567סוח6ז, וזו מבצעת את המשימה. הואיל ואין בדוגמה זאת בדיקה לאיתור שגיאות, עליך לוודא שהקבוצה שייכת למשתמש. תוכל לעשות ואת על ידי הפעלת הדוגמה הקודמת. ;6 סז 5וח+ פהוחחטז 0 זסוזס 567 6+ זסז 6%15% %חט3060 קטסזוס 66 6זט5 6אפון ' .056 681200607 חטז ,6!קותא6 זסז' ()קטסזס וח סז- 56( 6עסרח68!!|56 פט5 "5075" ,"ז50שצ6)]" קטסזסותסז- 567 ו6עסוחסז סט 0ח= (0חוז50 5 6וחהכזט ,0חו507 5 6ההאחפט)ס סז ו סז- 50 (6עסוח6ז 5 0 אכ צוסא 5 6861 וחוס = = 60/6607070660078. 68%1 8 ";08.4.0= 67050%.26%.01ו]= זט סוטסזק" 8 ";6].00ע6 10\05671 8 666556 חורה זטסזק:766=6טס5 הכ" 6 "1!65 הח8ז00זק:08%90856=6 וח5060ץ5:כ= 01 16%" 8 ;וח 5566060 6166 11166 50סז6!ו" "; 2855070 = 2855/00 ; הור = 10 0567" 6ח סז 5.6!6%6ק טסס. (6ח15075)0578. 68%1 סט 0ח= 8 ;חח 2000 466655 הפעל את השיטה 26!66 כדי למחוק קבוצה מהאוסף פקטסז6 של אובייקט ז56. שיס לב למיפרט ההיררכי עבור משתמש יחיד. לאחר ויהוי המשתמש, התחביר מחייב ציון של האוסף פ5קט0ז6, ולבסוף, של השיטה 6!6%6₪. התחביר מציין את שס הקבוצה כפרמטר לשיטה 6!6066. יצירה, מחיקה ומעקב אחר קבוצות בקטלוג אס בכוונתך לפתח פתרונות מותאמיס אישית ברמת המשתמש, בוודאי תרצה ליצור קבוצות מותאמות אישית בעלות שמות שמשמעותם מובנת ללקוחותיך, ושההרשאות המוקנות להן תואמות את הדרישות המיוחדות של היישוס המותאס אישית שפיתחת. ארבע הדוגמאות הבאות מבצעות, בהתאמה, את הדבריס הבאיס: יצירת קבוצה מותאמת אישית, מחיקת קבוצה מותאמת אישית, הכנת דוח ובו פירוט כל הקבוצות בקטלוג נתון והקבוצות המשויכות לכל חשבון משתמש, והחלפת מצב החברות של קבוצה באוסף 5675ש. שתי השגרות הבאות מוסיפות קבוצה ששמה 0001ז56676%0ץ1!. לאחר הפניה אל קוב מסד נתוניס עס זיהוי משתמש המספיק לביצוע ההוספה, השיגרה מפעילה את השיטה 0חססק של האוסף פקטסז6. חובה לציין גורס מכיל עבור האוסף. כאשר מוסיפיס קבוצה חדשה לאוסף 5ז056 של הפרויקט, הגורס המכיל הוא אובייקט 68₪|08. כאשר אתה מציב קבוצה באוסף פקטסז6 של אובייקט 056, עליך לציין את המשתמש כאובייקט הבסיס עבור האוסף פקטסזס. וק 5וה% פהוהחטז 061076 15%א6 +סח 0065 1קט0ז56076%07ץ1!] 6זט5 6אפּון ' .קט0ז68]!26!606 חטז ,6!קותהאם זסז' ()607000א68||₪3 פט5 "01ט566760070ץ1ז" 6670 וח טפ 0ח= (8ח501 35 סוה כזט)קטסז60אח פט5 0 אכ צוסא 5 6861 וחוס = = 660700660078/ו60. 68%1 8 ";0.4.0= 67050.26%.01ו]= זט סוטסזק" 8 ";6|.00ע6 105671 8 6665560 6 חהוהרת8זפסזק:766=6טס5 הכ" 6 "1!65= הח8ז00זק:08%90856=6 וח5060ץ5:כם 01 16%" 8 ;וח סרח ו 5% ץ011665 11166 50סז6!ו]" "; 2855070 = 2855/00 ; הור = 10 0507" 6ח3 )זט 6הססקה.5קטסזש. 68%1 סט 0ח= שתי השגרות שלהלן מוחקות קבוצה מקטלוג. בטרס תפעיל את השגרות, עליך לוודא שהקבוצה כבר קיימת בקטלוג. ברר זאת על ידי הפעלת הדוגמה הקודמת. למעשה, הדוגמה הבאה מוחקת את הקבוצה שהתווספה בדוגמה הקודמת. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 459 ;זכ 5וחם פַהוהחטז 60 זסוזק 681565 1קטסז56076%0ץ] 6זט5 6אבּאן ' .ק68]]8660700 חטז ,6!קותהאס זסז ' ()0ט68|!06!60670 ס5 "01ט566760070 ץז" 0616060700 סט 0ח= (0חוז50 5 6 13סז06|6%600)0 סט5 0 אכ צוסא 5 6861 וחוס = = 60/660700660078. 68%1 8 "0.4.0 67050.26%.01ו]= וס סוטסזק" 8 ";6|.00ע6 81005671 6665560 6 חהוררת8זפסזק:766=6ט50 הכ" 8 "1!65= הח8ז00זק:08690856=6 וח5%6ץ5:כם 01 16%" 8 ;וח סרח 55% 06166 1166 50סז6!ו" "; 2855070 = 070שש855ק ; הור = 10 ז050" שוחה זט 5.26|6%6קטסזס. 0861 סט 0ח= התחביר למחיקת קבוצה דומה מאוד לתחביר המשמש להוספת קבוצה. הוא מפעיל את השיטה ₪6!6066 של האוסף פ5קטסזס בקטלוג. לשיטה מועבר פרמטר יחיד - שס הקבוצה המיועדת למחיקה. תוך כדי הוספה ומחיקה של קבוצות ומשתמשים, והקצאה מחדש של קבוצות למשתמשים, תוכל בנקל ליצור דוח מותאס אישית העוקב אחר החברויות בקבוצות עבור האובייקט 680804 ואובייקטי ז56) הנפרדיס. השיגרה הבאה מפרטת את הקבוצות באובייקט 6819|08 שמצביע אל מסד נתונים מוגדר. לאחר מכן היא מפרטת את חברי האוסף 60005 עבור כל משתמש באוסף 05675 של הקטלוג. ( 15007007251068%! 5 0 אכ צוסא 5 6861 וחוס אסכה צוסא 5 1זפט ,קטסזס. אסכ צוסא 5 1זף חזוס = = 660700660078/ו6. 68%1 8 ";4.0.ם 0508.26%.01ז6ו]=זססועסזק" 8 ";00ח.]6ע6 810\05671 0 66655 חתותה זפסזק:66=6ט50 הכ" 8 "106 1!65]670508= הת זסזק:08%082856=6 506ש5:שכם 01 06%" 8 ;ו 506060 שץ071665" "; 2855/00 = 2855/00 ; חור = 10 ז050" 08 !]סע חו 5קטסזס ' "9|00ז68 6 חו סזה 5קטסזף " 8 זחט5.60קטסזס. 6861 זחוזק. פטטסס 75 חן 01 ה86ם זס= 1.6 קז 8 " *" ₪ (" " ,8)03חו50 זחוזק. פטטסס 1ז זאסא +חוזק. פטטסס 0 הח 2000 66655 זט ח686 חו פקטסזס ' 6+ חן זהסקק3 %8%6 5675 |506618 6 6חוסח= 6חה ז6860ז6' .4 560 60 666 0% 60 %טפ ,60166000 5ז56נ' 5 חן 571 ח86ם זס= הסח ד "סחופַחם" <> 571.86 0חג "זס+68ז6" <> ס6ותהבּא.1זפט +[ = 8 5.0000%ק00ז571.0ט 86 (" " ,9)05חו567 זחוזק. פטטסס 6וחּ)\.1זפט 8 " חו 6ז3 פקטסזם " 85 (6ר3). 125675)0571. 68+1 ח1 1קזט ח86ם זס= 1.6 זט 8 " *" 8 (" " ,8)8ח501 זחוזס. פטסטס 1ז זאסא +חוזק. פטטסס + 50 1 %א6)] 50 0חם בראש כל פירוט של חברי האוסף פקטסזס השיגרה מדווחת על מספר החבריס באוסף על ידי הפניה אל המאפיין חט60 עבור האוסף. שיס לב, בתרשיס 10.2 להלן, שדבר זה משתנה בהתאס למשתמש. המשתמש חוהח0 משתייך לקבוצות המוכללות 5ח1ווח40 (- 5ז050!. תוכל לנצל את הדוגמאות הקודמות ליצירה ומחיקה של משתמשים, קבוצות וחברויות של משתמשיס בקבוצות. |<1ם])- | 6 חחו! ה = 93 ₪%₪תם 12 שעב כ5טעגוסעא 2 כמנמבג * 8 * מנמבה ‏ מ1 שעב 5תגוסעא 2 התנמס * 3 * עש5חח ת1 שעב 5קגוסעא 1 3 * "2 תרשים 10.3: דוח על חברות בקבוצה מתוך השיגרה 08%ח051 156070 השיגרה הבאה מדגימה את אחד השימושיס האפשריים של השיגרה 68%ח51קטסז5ספו! מהדוגמה הקודמת. השיגרה קטסזספחווה0הו6פאוסְאסופָסַס עושה בדיוק מה שמשתמע משמה. היא מחליפה את מצב החברות של האובייקט ז56וו6א בקבוצה 5חוחחסה. כמו כן היא מתעדת את המצב הנוכתי של האובייקט 6050 בקבוצה 05 על ידי הפעלת השיגרה 68%ח51קטסז806וו. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים | 461 ו ()57000 חור 0 56710 ו6צ6ו000 פט5 קז סד 6070 זסזזם הס 0 אכ צוסא 5 6861 וחוס 5 = ח6000!|ס60ח1טסח 5%ח60 = = 6607070660078/ו6. 68%1 8 ";4.0.ם 67050.26%.01ו]= זססועסזק" 8 ";00ח.]6ע6 6665508010\05671 חוהותהזטסזק:5066=6 הכ" 8 "106 670508ו]1!65= ות זסזק:08%82856=6 506ש5:כם 01 36%" "; 0855000 = 85500 ; חור 0 = 10 ז56 ;ארח סרת 6 500 /ץ071665" ("5 הו 0") 5.6|6%6קטסז6. ("ז56 ")505 ו. 6811 :סד 15| סטפ זואם= :קז דופ סד הסח ד ה60!!6600ח61סח = זססוחטאז.זזום ]1 "00105" 0הססקה.5קטסז6. ("ז56 וס" )55 6871 56 חססק 656.זם ;זססוחטא. זחם זחוזק. סופספ + 0חם ₪656 סט5 0ח= שיס לב שתהליך שינוי המצב מסתמך על לכידת שגיאות. לאחר שהיא מתחברת למסד הנתוניס הרצוי ולקובצ נתוני קבוצת העבודה באמצעות ההפניה באובייקט 0861, השיגרה מנסה למחוק את פחווח0ה מתוך האוסף פקטסז6 ב- ז56או6א. אס הניסיון עולה יפה, השיגרה מפעילה את השיגרה 68%ח51קש0ז5%6!, ומסתיימת. אם לא, מתחוללת שגיאה. אס מתרחשת שגיאה מכיון שהקבוצה אינה נמצאת באוסף 5כש0ז6 של המשתמש, השיגרה מוסיפה את 015 לאוסף פ5קטסז6 של האובייקט ז050ש6א. לאחר מכן השיגרה ממשיכה כאילו לא אירעה שגיאה, ומסתיימת. הגדרת הרשאות השתמש בשיטה 67155005קז56 עבור האובייקטיס קטסזס ו- ז₪56 כדי לנהל את ההרשאות המוקנות לחשבון מאובטח. הפעל את השיטה ₪5ח671550קז66 עבור אובייקטיס אלה, כדי להתחויר ערך ארוך המציין את סוגי ההרשאות המוקציס לקבוצה או למשתמש. שתי השיטות מאפשרות מיגוון רחב של תוצאות: הן יכולות להקצות ולדווח על הרשאות שונות עבור מספר סוגי אובייקטיס של מסדי נתוניס. נוסף לכך, תוכל להשתמש בשיטה ח0סו56)067155 כדי להקצות, לבטל ולמנוע הרשאות, ולבקר את אופן השימוש בהן. 2 הח 2000 66655 שתי השגרות הבאות מעניקות לקבוצה הרשאות מלאות לכל טבלה חדשה. הגדרת ההרשאה עבור טבלה חדשה אינה משפיעה על טבלאות קיימות. לכן ייתכן מצב שבו לקבוצה יש הרשאות מלאות לכל הטבלאות החדשות, אך אין לה כלל הרשאות לטבלאות הקיימות. .סוק פהוהחטז 261076 681565 560760070001ץ1!] 6זט5 6אפון ' ()00ז0ז005-0ו155חזסק 16ב ד||68!!56% פט5 "56676%070001ץ1ז" קטסזסזס-5ח0ו55זסק סוסב דו|56% טפ 0ח= (0חו7זז5 5 6והּסזט)קטסזסוס-5ח0ו155וז6קס|סב דו|56% ספ 0 אכ צוסא 5 6861 וחוס .אסכה צוסא 5 1זפט ,קטסזס. אסכ צוסא 5 1קזף חזוס = = 60/6607070660078. 68+1 8 ";4.0. |050.26%.0ז6ו]= וס סועסזק" 8 ";00ח.]66 810\05671 00 66655 חחורותהזפסזק:5066=6 הכ" 8 "106 1!65]670508= הת זסזק:08+82856=6 ח506ש5:שכם 01 36%" 8 ;וס 506060 שץ071665" "; 2855070 = 070שש855ק ; חור = 10 ז050" ,6 30600 ,|| 615505 ק56%. (6חזהצסזף)פ5קטסזס. 681 |וט 80100‏ 3066655566 סט 0ח= השיגרה הראשונה מעבירה שס קבוצה, 1קט0ז5607600ץ1! אל השיגרה השנייה. השיגרה השנייה מפעילה את השיטה 670155005ק560 עבור חבר הקבוצה הנושא שס זה. לכן עליך לוודא שהקבוצה קיימת בטרס תפעיל את השיגרה או להוסיף לוגיקה ללכידת שגיאות. הפרמטר הראשון בשיטה מכיל ערך ווגוא מפורש. בדרך כלל, פרמטר זה מציין שס של אובייקט מסד נתונים, כמו למשל, טבלה. ערך !וטוא מצייו שברצונך להגדיר הרשאות עבור אובייקטי מסד נתונים חדשים. הפרמטר השני קובע את סוג האובייקט, במקרה זה 180!6. הפרמטר השלישי משמש כפועל; הוא מציין כי הפקודה תגדיר הרשאה. קבועים נוספים מצייניס פעולות שונות, כמו למשל ביטול הרשאות, אשר השיטה יכולה לנקוט. הפרמטר הרביעי מעניק למשתמש זכויות מלאות. השיטה והפרמטריס שלה מעניקיס לקבוצה 1קטש0ז1/56676%0/ זכויות מלאות בכל הטבלאות החדשות בקובף מסד הנתונים 16%6].000ז₪56 עס קוב נתוני קבוצת העבודה או 55 עיצוב וה הוא עיצוב בסיסי וגמיש, העשוי לשמש במיגוון של נסיבות שונות. לדוגמה, כדי לבטל את כל הזכויות בטבלאות חדשות, עליך להחליף בשיטה 5ח0ו67₪1155קז56 את הפרמטר השלישי, 80/60055560, ב- 30066055₪6/0%6. כדי להגדיר זכויות עבור אובייקט מסד נתוניס קייס, עליך להחליף, בפרמטר הראשון, את הערך ווטא בשמו של אובייקט מסד הנתונים. פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים 463 כיצד לחבר בין כל המרכיבים שתי השגרות הבאות שואבות מחתך של הדוגמאות הקודמות ומציגות פן נוסף בשיטה 5 5. השיגרה הראשונה מפעילה את השיגרה קטסזס66ּח כדי ליצור קבוצה חדשה בקובצ נתוני קבוצת העבודה ש5/506000600.00. לאחר מכן היא מפעילה את השיגרה השנייה ומעבירה אליה את שס הקבוצה החדשה, וכן את שס אובייקט מסד הנתוניס שעבורו היא מבקשת להקצות הרשאות. שתי השורות האחרונות בשיגרה הראשונה יוצרות משתמש חדש ששמו 0562ש6א, ומוסיפות את הקבוצה 2 לאוסף פקטסזס שלו. בדרך זאת חלות על המשתמש 605072 כל ההרשאות שהוקצו לקבוצה 500760070002ץ באמצעות השיגרה השנייה. ()30|6 007ז07- 26155005 3016 דכ681!56%51 פט5 5 6חה 56676%70002ץ1] 68]!60 קטסזט 8 8665 6זט60ס6סזק פוחד ' 2 0 8016 15% 285601 60/ 0+ 2671155005 06!666/+56ח₪680/1 ' ,החד סחוחחטז 261076 .2ז56(ש6] ס% 560760070002ץ₪1 3551005 חב 2ז50ש6] 6768065 6 ' .6 66 זו .6761 05671 וחסזז 5672(או6)] סח 2קטס0ס60ז560ץ1] 061606 ,פווש ' "56076%070002 1" קטס8660וח "15% 60085601" , "56676002" 316 סז זס-005ו55ו סוסב דכז 5% "5012/ו6]" 6610507 הוח "56076%070002 ץז" ,"2ז50 עסו" זס5וס דקטסז006ה סט 0ח= (6הח0!;3+ ,8חוז56 5 6ה3אקזס )טב דקטסזזס- 3016615505 ד56%510 פט5 0 אכ צוסא 5 6861 וחוס .אסכה צוסא 5 1זפט ,קטסזס. אסכ צוסא 5 1סזף חזוס = = 60/6607070660078. 68+1 8 ";4.0.ם 050.26%.01ז6ו]= וס סועסזק" 86 ";00ח.]6ע6 810\05671 0 66655 חחורותהוטסזק:66=6ט50 הכ" 8 "106 1!65]1670508= הז סק :08%82856=6 ח506ש5:כם 01 06%" 8 ;סו 506060 שץ071665" "; 855/00 = 070שש855ק ; הור = 10 ז050" 3066655560 ,3016 30600 ,6וחה ןז 5ה0ו155 +56 (6ו הכז )פקטסז6. 68%1 6-ו זכ 3070564 זז 30680 סט 0ח= השיגרה השנייה מקצה לקבוצה 5606:070002ץ הרשאות קריאה, הוספה ומחיקה עבור הטבלה 608856011%/ שבקוב 646.05 61פ. שיגרה ואת דומה לדוגמה קודמת שהתאימה להענקת זכויות לאובייקט מסד נתונים מוגדר, אולס שיגרה זאת משרשרת שלוש זכויות נפרדות כדי לקבל ערכה משולבת של הרשאות. שיס לב שהתחביר משרשר זכויות בעזרת האופרטור זס. 4 הח 2000 466655 טרנזקציות באפשרותך לארוז באמצעות טרנזקציות שתי פעולות מסד נתוניס, או יותר, כך שכולן ייצאו אל הפועל, או שאף אחת מהן לא תתבצע. טרנזקציות הן דבר שימושי במצביס משני סוגיס: כאשר מוטל על היישוס שלך לבצע סדרה של פעולות כיחידה (כמו למשל העברת כספים בין חשבון חיסכון לחשבון עובר ושב); וכן כאשר עליך להאיצ קבוצה של פעולות מסד נתוניס באמצעות גלישה בתוך טרנזקציה (מכיוןו שכתיבה אל גיכרון מטמון זמני מחירה יותר מכתיבה אל דיסק עבור כל אלמנט בקבוצת הטרנזקציה). שלושה אובייקטי ח6600חחס6 ב- 20 תומכיס בטרנזקציות: 5ח8זדחהו60, 5חז וו 60 ו- א36ם!!ס₪. האובייקט 5ח8זדחו860 פותח רמת טרנזקציה. ‏ 3% תומך בחמש טרנזקציות מקוננות, לכל היותר. לאחר שהפעלת טרנזקציה, באפשרותך לסייס אותה בעזרת השיטה 5ח8ז וח וחס6 או בעזרת השיטה א₪86!|ס₪. השתמש בשיטה 5ז זוו וס כדי להשלים את פעולות מסד הנתוניס. הפעל את השיטה >86ט!|₪0 כדי לסיים טרנזקציה מבלי לבצע את פעולות מסד הנתוניסם שהופעלו מאו שיטת 5חז ד חו60ם האחרונה. השיגרה הבאה מפעילה שלוש שיטות טרנוקציה עבור האובייקט ח66000חחס6. היא עוברת בלולאה על פני הרשומות במסד נתונים, ומחפשת התאמה לאחד משלושה קריטריוניס. כאשר השיגרה מוצאת התאמה, היא כותבת 05 בשדה ש-860655 מאחסן במטמון נתוניס, במקוסם בקובצ מסד הנתונים. השיגרה מפעילה את השיטה 605 ממש לפני הפעלת לולאת סכ. בסוף הלולאה השיגרה שואלת את המשתמש אס ברצונו לבצע את השינוייס. אס המשתמש משיב בחיוב, הדוגמה מפעילה את השיטה 5ח8זחווחח 60 כדי לבצע את השינוייס במסד הנתוניסם. אס המשתמש משיב בשלילה, השיגרה מוחקת את השינויים על ידי הפעלת השיטה >6ףסטו|ס₪. ()5ח3ז 7ח0061ח608 פט5 קזח 0 ד60 זסזזם הס חס 66 ה חה60. 308 5 1חחס וחוס צוסא 5 561 וחוס 00 ] 45 65פַח8ח6ו וחוס 7.-. = 0000610050 064600 1ח60 605% 06% %ה6זזט6 חן 15% 60885601/ חס 08560 6607056%ז הסקס ' חס 66 ח0ס60.60[סזק%ה6 60 = 1חחס 56% 3076 ,01506 ו655ק801.066 ,56%ש30026086 ,1 החש ,"15 585601 60/" ה6ק561.0ז .5 0+ 208%6 60 60056 00 %0 660705 |ו3 חפטסזחץ קססין' 5חז ד 1.56 הח6 51.50 וטח ספ |" = ("ץזחט6!05)"600ו=. 551 +[ = שד = (("ץ חס הט6]05)"60ח. 561ז)ווטא15 זס הסח "5" = ("ץח הט9%1.=16!05)"60ז זס פרק 10: עבודה עם מסדי נתונים מרובי-משתמשים | 465 "5" = ("ץזחהט6!05)"00ו=. 561 1 + 16080065 = 16080065 + 0 ]אס טסו 561 קסס | .0 58/5 501 1 5סְחַחַבּח6 |31 606 ' .06 086% פסאַההּח6 |וסא ' 8 "קט 0+ +חהצ טסץ 608% 6זט5 טסץ 6זה")א0 150 + = ,6500 ץש ,"6007052 " 8 10080065 8 " 656 " חס ד 65פע = ("2000 266655 16705060 הווחה וטסזק" וו 60. 1 הח6 56 5 ד86ם!!סה. 1 החס + 0חם סטפ זוא= 3 סטפ זוא :637 החד ז056 סח ץ0 60א6ס1.0חס6 = זססותטא.זם + ,68 6פע ,".7ז6ז3! הוהּפָ3 ץזד .86 קט זס+ 3016|והצ3 +0ח 6607056%" אס 15 "2000 266655 116705016 חווהוחהּ סק" 6 חססק ו656.זז= ;זססותטצז.זום זחוזק. פטטסס + 0חם 5 דא86ם!!סה. 1 החס 656 50 06ח= השיגרה 77805ח80061ח6 מפעילה את השיטה 866םו!₪0 גס אס מתרחשת שגיאה בזמן ריצה, כמו למשל כאשר מסד הנתונים ננעל על ידי משתמש אחר. במקרה כזה, לא מתאפשר לערוך רשומה אחת, או יותר. במסדי נתונים מסוימים, פעולה המתבצעת בקבוצת משנה של רשומות עלולה להשחית את מסד הנתוניס כולו. אס השיגרה נתקלת בשגיאה, מכל סיבה-שהיא, היא מבטלת כל פעולה תלויה ועומדת לפני שהיא מסתיימת. הפעלת השיטה א₪0!!886 שומרת על תקינותו של קובצ מסד הנתוניס. 6 הח 2000 466655 11 שכפול מסדי נתונים יישומי 66055 670506 מאפשרים להציג לפני קבוצות משתמשים שונות עותקים נפרדים, או שכפולי מסדי נתונים, תוך ניהול כל השכפולים בתור מסד נתוניס אחד. אפשרות ואת חשובה במיוחד ביישומי 466655 מתקדמים למשתמשים מרובים, או ביישומיס למשתמשים מועטים הזקוקים לגישה בלעדית למסד הנתונים, בעוד שאחרים קוראים או מעדכנים את תכולתו. שכפול של מסדי נתונים יעיל וחשוב בפרויקטים שבהס נדרש לסניפים או לעובדים ניידים שיתוף חלקי במסד נתונים, כאשר הגירסה המלאה שמורה במטה הפרויקט. ניתן לשתף נתוניס מבלי לפתוח חיבור ברציפות בין שתי נקודות. מכיון ש- 2000 8600655 הוא הגירסה השלישית של 460655 הכוללת את האפשרות לשכפול מסדי נתונים, תכונה את כבר שוכללה ושולבה בצורה טובה. פרק זה כולל סקירה כללית על נושא השכפול ומציג את תכונות השכפול החדשות ב- 2000 060655. כמו כן הוא מכיל הסבריס על ניהול השכפול בעזרת ספריית 2.1 280. דוגמאות הקוד ישרתו היטב את מי שרק החל לרכוש בקיאות בתכנות פתרונות שכפול, ויסייעו למי שכבר בקיא בתכנות שכפולים ב- 240 (09[6605 4660655 8ז08) לעבור ל- 400 (6%ע60 65 %:28%). הדיון בנושא ₪0( במסגרת פרק זה הורחב וכולל גס סוגיות אשר אינן קשורות במישרין לשכפול. כיצד עובד השכפול 5 מאפשר שכפול עותקיס מרוביס של מסד נתוניס באמצעות רשת תקשורת מקומית (א64, רשת תקשורת מרחבית (אג/), רשת אינטרא-נט ארגונית, רשת אקסטרא-נט או האינטרנט. המשתמש יכול להכניס שינויים בעותק הנפרד שלו, לפי צרכיו. החיבור בין העותקיס עשוי להיות בלתי פעיל פרקי זמן ארוכיס. כמו כן ניתן לקבוע ששינוייס המוכנסיס בעותק מסויס ישוכפלו ויופיעו גם ביתר העותקיס. פרק 11: שכפול מסדי נתונים | 467 השס הקיבוצי של קבוצת עותקי מסד נתונים ב- 460655 הוא קבוצת עותקים משוכפלים 560 60108 ; ניתן לעבוד בו-ומנית עס שתי קבוצות כאלה, או יותר. כל עותק בקבוצה נקרא שכפול, ועל אחד העותקים בקבוצה לשמש תבנית בסיס לעיצוב (ז85%6ח 40ו065). תבנית הבסיס לעיצוב נבדלת מיתר השכפולים בכך שהיא מסוגלת להעביר שינוייס מבנייס (כמו למשל דוחות וטפסיס חדשים) ושינויים בנתוניס, אל שאר חברי קבוצת העותקיס המשוכפלים (מוצריס אחרים המאפשריס שכפול מסדי נתוניס אמנס מכילים תמיכה לחילופי נתוניס בין העותקים, אולס אינס מאפשריס הפצה של שינוייס מבניים בין חברי קבוצת עותקיס משוכפלים). שכפול מסדי נתוניס מתרחש בין זוגות של שכפולים. השינוייס מופציס בין חברי קבוצת עותקיס משוכפלים תוך כדי תהליך הסינכרון של העותקיס זה עס זה. כל עותק בזוג יכול לשלוח את השינוייס שהוכנסו בו אל בן ווגו. אס אין התנגשות בין השינוייס, העותקיס מעדכניס את עצמס בחבילות השינוייס שהס מקבליס זה מזה. אס קיימת התנגשות בשינוי מסויס מכיון ששני העותקים שינו את התכולה באותה נקודה, אחד השינויים 'ינצתחי והשני ייפסידי. 860655 שומר את השינוי 'המפסידי בטבלת התנגשויות. תוכל להשתמש בטבלה ואת כדי לפתור באופן ידני את ההתנגשויות, או שהיישוס יוכל להחיל כללים אוטומטייס לעיבוד ההתנגשויות. 5 מכיל אשף לפתרון התנגשויות; תוכל לבנות אשף נפרד שיחליף או ישליס את פעולתו של אשף זה. שגיאות שכפול עלולות להתרחש כאשר שינוי מסוים הוא חוקי בעותק מקומי, אולס אינו חוקי באחד, או יותר, מהשכפולים האחרים בתוך קבוצה, כמו לדוגמה הזנת רשומה עס מפתח ראשי זהה בשני עותקים נפרדיס בקבוצת עותקיס משוכפלים. כאשר מתבצע סינכרון בין שני העותקים, מנגנון מסד הנתוניס ‏ 236% דוחה את הרשומה עס המפתח הראשי הכפול. גם בתנאיס אחרים עשויות להתרחש שגיאות שכפול, כמו למשל החלת כלל לאימות שדה בעותק מסוים, אשר כתוצאה ממנו נוצריס נתוניס בלתי חוקייס בעותק אחר. שוני עשוי להיווצר בין שכפוליס באחת משתי דרכים. ראשית, ייתכן שהס יצטרכו להשלים מחזור סינכרון שבמסגרתו כל השכפולים יחליפו נתוניס זה עס זה. ניתן לפתור בעיה ואת על ידי השלמת פעולות הסינכרון בין חברי קבוצת העותקיס המשוכפלים. שונות עלולה להיווצר גס כתוצאה מהתנגשויות ושגיאות שכפול - גס אס יש סינכרון מלא בין השכפולים. ניתן לשכפל מסדי נתוניס בחמש דרכים : > בעזרת הסמל המזוודה (871610856) בעזרת הפקודה שכפול (חסטפסו|ק₪6) בעזרת תכנות ב- 350 (או ב- סמס) בעזרת זסְפָב30 חה0סוז61163א (מנהל השכפול) / -/ / |; בעזרת סינכרון דרך האינטרנט 8 החש 2000 406655 שכפול בעזרת סמל המזוודה בעזרת סמל המזוודה (1166856) שעל שולחן העבודה של פווספחו\, יכול משתמש קצה לקחת עימו עותק של מסד נתוניס מחוצ לאתר ולבצע בו עדכוניס. עס החזרתו, ניתן לסנכרן את השכפול שבמחשב הנישא עס העותק שבמחשב האישי או המחלקתי. מפתחים יכוליס להשתמש בשכפול בעזרת סמל המזוודה כדי להציב תבנית בסיס לעיצוב במחשב הנישא, ולבנות בעזרתו דוחות וטפסים מותאמיס אישית. לאחר מכן, הס יכוליס לסנכרן אובייקטי מסד נתוניס חדשיס עס אלה שבעותק העבודה השוטף. סמל המזוודה של 1600506 ומין בשולחן העבודה של פאוסבחו\ 50%6סזסו₪א. ב- א9 פאוס0חו/ וב- 4 דא פאוססחו/ 11670508 (ייתכן שהמזוודה אינה מותקנת במחשב שלך המופעל במערכת הפעלה א9 פוספחו/. כדי להתקין את המזוודה, לחצ לחיצה כפולה על האפשרות הוספה/הסרה של תוכניות (ופזססזק 00/6ח00/₪6) שבלות הבקרה. לח על הכרטיסיה התקנת 5שסשחועצ (כש560 פ5אוססחו/)) שבתיבת הדו-שית מאפייני הוספה/הסרה של תוכניות (65ו6קסזק הההזחסזק 00/₪60/6), בהר באפשרות עזרים (1606550!659) ולחץ על הלחצן פרטים (5!ו26%9). בתיבת הדו-שיח עזרים, בחר באפשרות מזוודה, לח על אישור ופעל לפי ההנחיות). גרירה של קובצ 0ח.* מהס*ל*ר (זסזסוקאם) אל סמל המזוודה גורמת להמרת מסד נתוניס מתבנית סטנדרטית לתבנית המצוידת בטבלאות ובשדות מיוחדיסם, התומכים בשכפול (ביישומי 6 167050] אחרים, המזוודה רק יוצרת עותקיס של קבציס שלמים מבלי לבצע סינכרון בין העותקים). המפשר (6!ו6ח800ז) של המזוודה מותיר את המקור המעודכן כתבנית בסיס לעיצוב באתר המקור, ומציב עותק משוכפל במזוודה. תוכל לשנות ואת אס דרושה לך תבנית בסיס לעיצוב במזוודה. הערה: כאשר המפשר (6!ו6ח660ז) של המזוודה יוצר קבוצת עותקים משוכפלים, הוא שואל אם ברצונך לשמור גרסת גיבוי של מסד הנתונים המקורי. בחר באפשרות זאת, אלא אם כן אתה בטוח שלא תצטרך לחזור אל גרסת המקור, הואיל ותהליך ההמרה מוסיף טבלאות ושדות חדשים רבים. אין שיטה פשוטה ואוטומטית לסלק את הטבלאות והשדות הללו בעזרת כל' 460655 מוכללים. לפחות ספק חיצוני אחד (וח0סס. !8הווח6ףט. אוואו) מציע תוכנית עזר שמסירה שדות של מערכת שכפול מטבלאות המשתמש. פקודת השכפול בחר כלים (100|5), שכפול (ח00ו680ו!ק₪6) כדי לקבל גישה לפקודות להפיכת מסד נתוניס לבר-שכפול, ליצירת עותקים משוכפלים נוספים, לסינכרון בין עותקים, לפתרון התנגשויות וליצירת גרסאות דגס ראשוני של יישומי שכפול. יצירת עותק עס התכונה החדשה מנע מחיקות (26!6065 +ח6עסזק) אפשרית רק דרך תפריט כלים (אם כי ניתן לשלוט בו באמצעות קוד לאחר שנוצר). פרק 11: שכפול מסדי נתונים 469 כדי לפתור התנגשויות ושגיאות שכפול, תיאלצ קרוב לוודאי לבצע סקירה ידנית של החריגים הנפרדים המופיעיס בטבלאות ההתנגשויות. גס אס בסופו של דבר תתכנת כללי פשרה מותאמיס אישית, תצטרך לבצע הערכה ידנית של הכללים הללו בטרס תאמ אותס בעבודה השוטפת. תכנות 30 בעיקרו של דבר, תכנות 380 אינו אלא גישת ססג, הואיל והוא מסתמך על אובייקטי קישור של סס2. בעוד ש- 00 היא טכנולוגיה אוניברסלית לגישה לנתוניס, הרחבת סאנ פועלת אך ורק עם מנגנוןו מסדי הנתוניס 60(. אס תכנתת פתרונות שכפול מותאמיס אישית ב- 95 406655 או ב- 97 206655, ה הזמן המתאים לעבור מתכנות ב- 0הפ לתכנות 180. מבנה 280 תומך בשלוש משימות כלליות : > יצירה וניהול של קבוצות עותקיס משוכפלים > דחיסה והצפנה של מסדי נתונים > רענון מטמון הזיכרון כדי לשפר את רמת הביצועיס הנראית שלושת האובייקטיס המרכזיים בתבנית 380 מוצגים בתרשיס 11.1. הראשון הוא האובייקט 6חַחַח3605, התומך בתכונות שהן ייחודיות למנגנון מסדי הנתונים 16, לרבות דחיסה והצפנה של מסדי נתונים, ורענון מטמון הזיכרון. ב הסו+60!!56 תרשים 11.1: מבנה 180 האובייקט המרכזי השני הוא 860|668. אובייקט זה מייצג עותק משוכפל של מסד נתוניס. אובייקטי 68ו|ק86 הס אבני היסוד בבניית קבוצת עותקיס משוכפלים. ניתן לנהל קבוצה כזאת על ידי טיפול במאפייניס ובשיטות של אובייקטי 68ו|ס₪6. להלן חלק מהפונקציות שבאפשרותך לנהל: > הפיכת מסד נתוניסם לבר-שכפול > יצירת עותקים מתבנית הבסיס לעיצוב ומעותקיס אחרים > סינכרון בין עותקיס > קריאת אפשרות השכפול של אובייקטים נפרדים 0 החש 2000 466655 > קביעת תבנית בסיס חדשה לעיצוב 4 שליטה באורך תקופת השמירה של היסטוריית שכפול מבנה 180 מכיל גם מאפיינים לניהול תכונות חדשות ומתוקנות, כמו למשל חשיפה (שווופופוצ), סוג שכפול ופתרון התנגשויות המבוסס על קדימויות. האובייקט המרכזי השלישי הוא זזטטוו=. השתמש באובייקט וה להגבלת התכולה בעותקיס חלקיים של מסדי נתונים. ניתן לבסס מסנן על טבלה או על יחס. סמנ כולל אוסף 5ז6פוו=₪ עבור כל המסנניס של עותק. כל המסנניס הללו יחד מגביליס את הנתוניס שניתן להוזין בעותק חלקי. מנהל השכפול מנהל השכפול, הכלול במהדורת 06666 למפתחים יסייע בידך בניהול קבוצת עותקיס משוכפלים ברשת, העשויה לכלול גם חיבורי 12% ו- אג/. במהדורה הראשונה שצורפה ל- 97 806655, הכיל מנהל השכפול תמיכה בסינכרון דרך האינטרנט באמצעות קך:. אפשרות הסינכרון החדשה באמצעות האינטרנט הכלולה ב- 2000 460655 הופכת תכונה ואת לבלתי נחוצה. עס זאת, עליך להמשיך ולהשתמש במנהל השכפול עס גרסת הסינכרון דרך האינטרנט הכלולה ב- 2000 ₪60655. הפעל את מנהל השכפול כדי להתחבר באופן מזדמן אל רשת לצורך סינכרון עקיף, תהליך שבו השינוייס מהעותק השולח עובריס לעותק המקבל דרך תיבה להשארת נתוניס, אס העותק המקבל סגור באותה עת. במועד מאוחר יותר, כאשר מסד הנתוניס המקבל ייפתח, סוכן הסינכרון שבשליטת מנהל השכפול יעביר אליו את העדכוניס. מנהל השכפול כולל גם ממשק גרפי למשתמש לצורך תזמון של עדכוניס במרוותי זמן קבועיס. עליך להגדיר את תצורת מנהל השכפול עבור השרת שלך. תוכל להשתמש במנהל השכפול גס לצורך תיאוס בין עותקיס ברחבי רשת תקשורת מרחבית (א2/). ניתן להציג בו באופן גרפי את הטופולוגיה של קבוצת העותקיס המשוכפלים. אחד המבנים הנפוצים הוא טיפולוגיה של כוכב, שבה עותק מרכזי מחליף נתוניס עס קבוצה משויכת של עותקי חישור (685ו!80 500%6). כל אחד מעותקי החישור מתחבר רק אל העותק המרכזי. טופולוגיה של חיבוריס מלאיס מקשרת כל עותק במישרין עס כל שאר העותקים. דבר וה מאפשר העברה מהירה הרבה יותר של עדכוני נתוניס ברחבי קבוצת העותקים המשוכפלים, אולס הדבר מתבטא בהגברת עומס התעבורה ברשת. טיפולוגיות מסוגים נוספים מציעות יחסי רווח-הפסד שוניס בין מבנה לרמת ביצועים. סינכרון דרךך האינטרנט בעזרת סינכרון דרך האינטרנט, תוכל לשכפל מסדי נתונים דרך חיבור קז= או דדח 1 ב- 60/). החיבור יכול להתבצע במסגרת האינטרנט, רשת ארגונית או רשת אקסטרא-נט ואין צורך בחיבור רציף בין המחשבים. שלא כמו הסינכרון הישיר פרק 11: שכפול מסדי נתונים 471 הנתמך במנהל השכפול, סינכרון דרך האינטרנט אינו מחייב הפעלה של סוכן סינכרון במחשב הלקותח. יתר על כן, סינכרון דרך האינטרט יכול לפעול עס עותקים אנונימייס. אוהי אחת מהגדרות המאפיין שווופופו/ בעותק אשר שולבה לראשונה ב- 2000 06655 (עייו במאמר שכותרתו 4.0 236 ספסזסו] הפו חסו28וחסזה6הץ5 6%חזססחז (סינכרון דרך האינטרנט בעזרת 4.0 265 167050%) בכתובת ח0ס50.6סזסווח.+וסמקט5//:קטח, שס תמצא פרטיס על התקנה, ניהול ובדיקה של מערכת לסינכרון דרך האינטרנט). כפי שהזכרנו קודס, תכונת הסינכרון דרך האינטרנט הפכה את גרסת הסינכרון ב- 7 860055 למיושנת. ארבעה שיפורים מרכוייס מייחדיס את תכונת הסינכרון דרך האינטרנט ב- 2000 406655 בהשוואה לגירסה הקודמת : > תמיכה בשכפול דרך חיבור של פרוטוקול 1.1 סדדח (לרשותך תמיכה גס בשרתי 6 באמצעות פרוטוקול זה). 4 רמת ביצועים משופרת בהקשר עם הצפנה. > תמיכה בעותק 'קלי חדש המותאם במיוחד לשכפול מבוסס-60\. > מפתחות רישוס חדשים לכיוונון עדין של פסקי הומן של המסנכרן. כאשר אתה בוחר שרת ט6/ שעמו תבצע סינכרון, 806655 קובע באופו אוטומטי אס להשתמש בפרוטוקול קדז₪3 או פזם. מלבד יצירת אפשרות להפעלה על גבי שרתי 86, פרוטוקול סדד מאפשר לעותק לבצע סינכנון עס מסנכרן באינטרנט תחת המטריה של שרת שאסזק בעל תצורה מתאימה. 2000 866655 אינו תומך במפורש בתצורה ההפוכה. אם העותק המקורי שלך אינו מוצפן, סינכרון דרך האינטרנט אינו מצפין באופן אוטומטי את העדכוניס שהוא משגר אל עותק היעד לסינכרון. הגירסה הראשונית של שכפול דרך האינטרנט הצפינה באופן אוטומטי את כל העדכוניס שנועדו להעברה דרך ה- ס6/. העותקים החדשים, האנונימיים והקלים, יכוליס ליצור שכפול רק עס עותק האב שלהס בשרת ה- ט6/. את עותק האב שבשרת ה- ספו, עליך לנהל בעזרת מנהל השכפול. שינויים בעיצוב השכפול כאשר אתה מאפשר שכפול של מסד נתונים באחד האמצעיס המתואריס לעיל, בדרך כלל אתה מוסיף לכל טבלה אוסף של טבלאות מערכת, וכן קבוצה של שדות. הטבלאות והשדות הללו מסייעים בניהול פרויקט השכפול. עם ואת, הס עלוליס להגדיל באופן ניכר את נפח מסד הנתונים. מעבר לכך, טבלאות ושדות השכפול המיוחדיס גוזלים ממשאבי יישוס מסד הנתונים, דבר שמפחית בו במקצת את מספר הטבלאות המותאמות אישית המירבי לכל מסד נתוניסם, את מספר השדות המותאמיס אישית המירבי לכל טבלה, ואת מספר הבתיס הזמיניס לכל רשומה לשימושיס מותאמיס אישית ביישום מסד הנתוניס. הבנה של שינויי העיצוב הללו תסייע בידך בניהול פרויקטיס של שכפול ב- ₪60655. 2 הח 2000 406655 הערה: כדי להציג את רוב טבלאות ושדות השכפול המיוחדים, בחר את הפריט אפשרויות (פ5חסטקס) מתוך תפריט כלים (00|5ד). בחר בתיבת הסימון אובייקטים של המערכת (20[6665) הח5/506), ולחץ על אישור. שדות של מערכת שכפול בדרך כלל מתווספים לטבלאות של יישוס שכפול ארבעה שדות חדשים: 6015 5, ח67800ח6 5, 1106806 5 ו- 6806ח!!60 5. השדה 6010 5 מזהה באופן ייחודי כל שורה בכל טבלה בקבוצת העותקיס המשוכפלים. בשני עותקיסם שונים, יינתנו לשורות זהות בטבלאות זהות ערכי 6010 (מזהה גלובלי ייחודי) שונים. 460655 בונה את מחרוזות 6010 ב-16 בתיס באופן המעניק להן ייחוד גלובלי. בתכנון טבלאות ליישוס של שכפול, באפשרותך להפעיל מזהה 6010 המופק באופן אוטומטי, כמפתח ראשי עבור מסד נתוניס. אס מזהה 6010 משמש כשדה מפתח ראשי של טבלה, 2606655 אינו יוצר את השדה 6010 5 כאשר אתה הופך טבלה מסוימת לניתנת לשכפול. במקוס וה הוא משתמש במפתח הראשי לאותה מטרה. כדי להשתמש במזהה 6010 כמפתח ראשי, בחר בקוד העתק משוכפל (כ1 ח800סו!|כ₪6) למאפיין של גודל שדה (₪6!0526) עבור שדה בעל סוג הנתוניסם מספור (זספוחטא) או מספור אוטומטי (זספחטאססטה). השדה 660678000 5 עוקב אחר הדור של שינוי שהוכנס בטבלה. הנתוניס בשדה גה הס מסוג מספר שלם ארוך (ז5606ח1 בַחס1). הערך 0 מייצג שינוי חדש המחייב שכפול ללא תנאי. לאחר ההפצה הראשונית של שינוי אל עותק אחר, 860655 מעדכן את ערך השדה, כך שהוא מייצג את הדור החדש ביותר של שינוייסם. תהליך השכפול מנהל מעקב אחר הדור האחרון שנשלח לכל עותק מכל עותק אחר. כאשר נפתח תהליך חילופין חדש, 460655 ממשיך בדור החדש הבא של שינוי מאו הסינכרון האחרון שבוצע עם העותק. השדה 6806ח11 5 עוקב אחר חיסטוריית השינוייס שנעשו בכל שורה בטבלה. הנתוניס בשדה וה הס מסוג אובייקט 015. השדה מציין מתי שורה מסוימת נשלחת לעותק אחר. הוא מונע אפשרות של שיגור חוזר של שינוי שכבר נשלח לעותק אחר כלשהו. השדה 86פפחו!|60 5, המכיל נתוניס מסוג אובייקט 015 0016600 ₪ 01), תומך בשכפול ברמת-עמודה. תכונה ואת חדשה ב- 2000 866855. בגרסאות קודמות של 460655 נעשה שימוש בשכפול ברמת-שורה (בסעיף הבא, שכותרתו 'חידושיס בתחוס השכפול ב- 0 0066)60₪'י נעמיק את הדיון בנושא זה). השדה 6אַפחו!!60 5 עוקב אחר מידע המאפשר לגלות שינוייס ברמת-עמודה במהלך סינכרון. כל שדה המכיל נתוניס מסוג תזכיר (סוח6!) או מסוג אובייקט 015 מקבל גם שדה דור נפרד. מכיון ששדות אלה עשויים להיות גדולים במיוחד, אין הס מופצים, בהכרח, מעותק אחד למשנהו כאשר מתחלף ערך בשדה של שורה כלשהי. שדות אלה מופצים בין העותקיס רק כאשר ערכם משתנה בפועל. שדות הדור הנפרדים שלהס עוקבים אחר פרק 11: שכפול מסדי נתונים 473 נתוניס אלה לצורך תהליך השכפול. בגירסה הניתנת לשכפול של טבלת /680600 של 6בחושח+זסא יש שדה דור מיוחד אחד עבור הקטגוריה 65ז690ו, אולס בטבלה 665עס!מוח= יש שני שדות דור מיוחדיס - אחד עבור השדה פטס\, והשני עבור השדה סטזסחם. טבלאות של מערכות שכפול מספר טבלאות מערכת תומכות בהתנהגות של קבוצת עותקים משוכפלים, כפי שמוצג בטבלה שלהלן. חלק מהטבלאות, כמו למשל 5180!660165ש5, עשוי להיות מקוצר ובסיסי. בטבלה 1660105פ15518] שמורים מזהי 6010 עבור שמות כל הטבלאות בעותק נתון (להוציא טבלאות מערכת השכפול וטבלאות ההתנגשויות המיוחדות, המוסתרות). חלק מהטבלאות משתמשות במזהי 6010 השמוריס בטבלה ואת כדי לזהות טבלאות מוגדרות בקבוצת עותקיס משוכפלים. בטבלאות אחרות נשמריס פרטיס על פעולות היסטוריות או פעולות ממתינות. בטבלה 6חסספטוחס ד15/5] נשמרים פרטיס אודות רשומות שנמחקו. הלוגיקה המוכללת לשכפול משתמשת בטבלה זאת כדי למחוק רשומות בעותקיס המקבלים, במהלך הסינכרון. טבלה תיאור 5 | ניהול מעקב אחר כל ההתנגשויות. טבלה זאת מופצת בין כל החברים בקבוצת עותקים משוכפלים. 558 | ניהול מעקב אחר נתוני סינכרון בין עותק מסוים לבין כל שאר החברים בקבוצת עותקים משוכפלים. ו 5506 | שמירת נתונים אודות כל דור של סינכרון. טבלה זאת מונעת משלוח של שינויים מדורות ישנים לחברים פעילים בקבוצת עותקים משוכפלים, וכן עדכון של עותקים ששוחזרו מתוך עותקי גיבוי. 5/5055 | שמירת נתונים אודות דורות של עדכונים מחברים אחרים בקבוצת עותקים משוכפלים. 50 | טבלה זאת מכילה רשומה אחת, ובה פרטים הרלוונטיים לקבוצת העותקים המשוכפלים כולה. טבלה זאת מופצת בין כל החברים בקבוצת עותקים משוכפלים. 5 | בטבלה זאת שמורים נתונים על כל העותקים בקבוצת עותקים משוכפלים. 5556 | שמירת נתונים אודות שינויים בעותק המשמש תבנית הבסיס לעיצוב, לצורך הפצה בין שאר החברים בקבוצת העותקים המשוכפלים. ס0סזקהוח6ה115/556 | שמירת נתונים אודות התנגשויות בין החברים בקבוצת עותקים משוכפלים. אם אין התנגשויות בלתי פתורות, טבלה זאת לא תופיע. 555606 | טבלה זאת משמשת את סוכן הסינכרון המקומי לניהול התזמון של פעולות סינכרון עם עותקים אחרים. 4 ח/ 2000 466655 6 5550 | טבלה זאת מכילה נתונים מפורטים על התנגשויות. ו יּ ו 5 | טבלה זאת משייכת שמות טבלה למזהי כ6001. גם מערכות שיכפול אחרות משתמשות במזהי 6/0110 אלה. 6חסס5טוחס 15/51 | שמירת נתונים היסטוריים אודות רשומות שנמחקו, ותמיכה בעדכוני מחיקה בכל רחבי קבוצת העותקים המשוכפלים. 5 551 | שמירת נתונים אודות מסנכרנים המנהלים עותקים בקבוצת עותקים משוכפלים. 5505 | שמירת נתוני שורות עבור עותקים חלקיים. טבלה זאת תופיע רק בעותקים חלקיים. 555 | שמירת נתוני מסננים עבור עותקים חלקיים. טבלה זאת תופיע רק בעותקים חלקיים. הטבלה 1556000606 מפנה אל קבוצה של טבלאות שאמנס אינן טבלאות מערכת, אולס הן מוסתרות. בטבלאות אלה שמורים פרטים אודות התנגשויות ושגיאות נפרדות עבור כל טבלה. לפי כללי מתן השמות, שמה של טבלה מוסתרת כזאת יהיה 58 30160876 ד0567. לדוגמה, אס יש התנגשות אחת או יותר בין נתוניס בשני עותקי הטבלה 665ץס!מחם, נוצרת עבור העותק ש'מפסידי בהתנגשות טבלה בשס 0 665ץסוקוחם. השורות בטבלה מתעדות את הרשומה ש'הפסידהי ומכילות המלצה להמשך. כאשר משתמשים פותרים התנגשויות באמצעות לוגיקה מוכללת, 5 תלוי בטבלאות אלה ומנהל אותן. אס תבנה לוגיקה מותאמת לפתרון התנגשויות, גס הפתרונות המותאמיס שתבנה יצטרכו לנהל טבלאות אלה. לדוגמה, לאחר שנפתרו כל ההתנגשויות בטבלה מסוימת, על היישוס שלך למחוק את הטבלה 0 6ות30!68 ד0567. | פעולה ואת תמחק את השורה המקבילה מהטבלה ב ב טבלאות ושדות השכפול מטיליס מגבלות נוספות על העיצוב של יישומי 106055. לדוגמה, 06655 מתיר הצבה של 255 שדות בטבלה, לכל היותר. בשכפולים, בדרך כלל נוספיס בכל טבלה ארבעה שדות (6010 5, ח800ז68ח66 5, 1106806 - 5 ו- 6806חוווס60. .5), ועוד שדה נוסף עבור כל שדה תזכיר או שדה אובייקט 015. כאשר אתה מתכנן את השדות של טבלה, עליך להותיר מקוס עבור שדות השכפול המיוחדים. שיקולים דומיס חלים על מניין הבתיס המירבי לכל רשומה. עיין במאמר שכותרתו 8090856 0 2605 116070506 הו ח0ו680ו|₪60 (שכפול מסדי נתוניס ב- 4.0 36 67050%) בכתובת הח50.60סי6וח.+וססקט5//:קטח, שס תמצא הנחיות בנושאיס אלה ובנושאיס אחריס בתחוס העיצוב המתקדס של שכפולים. גיבוי ושחזור מסדי הנתונים המקוריים עליך לשקול ביסודיות אס רצונך להפוך קוב כלשהו לבר-שכפול, מכיון שלא קיימת תכונה מוכללת לשחזור מסד הנתוניס המקורי. מסיבה זאת, אולי רצוי שתיצור גיבוי של קובצ מסד הנתוניס בטרס תאפשר לשכפל אותו. פרק 11: שכפול מסדי נתונים | 475 אס ידועיס לך השמות של טבלאות ושדות השכפול, תוכל לשחזר מתוך אחד העותקיס של קבוצת עותקיס משוכפליס קוב מסד נתוניס חדש שאינו בר-שכפול ואשר יכיל את הנתוניס הנוכתחיים של אותו עותק. עליך לצרף טבלאות מהעותק הנבחר אל העותק החדש של מסד הנתוניס. צרף רק את שדות המשתמש, ולא את שדות השכפול המיוחדיס. תוכל לייבא את כל הטבלאות במקוס זאת (להוציא, כמובן, טבלאות השכפול המיוחדות), ולבצע שאילתות מחיקה כדי להסיר את שדות השכפול המיוחדים. הוסף את קשרי הגומלין בין הטבלאות, ולאחר מכן ייצא את שאר אובייקטי מסד הנתונים. חידושים בתחום השכפול ב- 2000 8466655 אחד מגורמי השדרוג החשובים ביותר ב- 2000 80660655 הוא השקת מבנה 80 לשליטה בשכפול באמצעות קוד. הואיל וחלק מהתכונות החדשות, כגון המאפיין שוווטופו/, אינו זמין בממשק תכנות 40 המקובל - גם לא בגירסה 3.6 העדכנית ביותר - אין ספק שיהיה עליך ללמוד את השיטה החדשה לתכנות שכפולים. שכפול דו-כיווני ב- זסעוס5 .501-36% 0 8006585 מאפשר שכפול דו-כיווני בין עותקי 260 ו- ז6/ז50 .501 4ספסלסו. העברה מסוג וה מחייבת עבודה עם 4 26% ו- 7 זסשז50 .501. העברה דו-כיוונית פירושה ש-ז6/ז50 .501 יכול לשמש כמחסן מרכזי עבור קבוצת יישומי 466655 שאינס מחוברים. עובדיס שעבודתס מחייבת ניידות, והמפעילים יישומי 66655, יוכלו להעביר עדכוניס למסד נתונים מרכזי, ולטעון את השינויים העדכניים ביותר מתוך מסד הנתוניס המרכזי. עליך להתחיל בעותק משוכפל של ז8שז56 .501, או להגדיל עותק משוכפל ב-8466655 למימדי ז6/ז 56‏ 501. כאשר אתה מגדיר קבוצת עותקיס משוכפלים של 266 ו- ז6/ז56 .501, חובה להציב עותק של ז567/8 501 במרכז, ואילו עותקי 36 יוכלו לפעול כחישורים. עותקי 36 יוכלו לבצע חילופי תכנים דו-כיוונייס עס עותק ז0ז50 .501 מרכצי, אולם לא יוכלו לבצע זאת בינס לבין עצמס. על עותק 5668 .501 המרכוי לשמש תמיד כמתווך בין כל זוג נתון של עותקי 3% המוצבים סביבו. הואיל ו- ז56/6 .501 אינו אלא מנגנוו של מסד נתוניס, שאינו מכיל סביבת פיתוח יישומים מלאה כמו 260655, לא תוכל לשכפל אובייקטי יישומיס ייחודיים של 860655, כמו טפסיס ודוחות, אל תוך ז8אז56 .501 מרכזי. עס זאת, עיצוב מסוג זה מפצה על חיסרון הנזכר לעיל בכך שהוא מאפשר שימוש בשאר היתרונות המיוחדים של מערכות ז60א56 | 501, כמו למשל עיבוד שרת-לקות, ואפשרויות דירוג של ריבוי מעבדיס (עיין בנושא 61786 חח6ות6!קחח1 5 00655 0 חה0 סוק ב- 6חו|ח 200%5 ז567/6 501, שס תמצא פרטיס נוספיס על ההתנהגות של קבוצות עותקיס משוכפלים משותפות ל- 26 ו- ז 567/6‏ 501). 6 הח 2000 406655 עדכונים ברמת-עמודה אחת השיטות החשובות להגברת התפוקה בקרב עובדים המשתמשיס במסד נתוניס בר-שכפול היא לצמצס את מספר ההתנגשויות. 2000 866655 מאפשר לראשונה עדכוניס ברמת-עמודה במטרה למזער את מספר ההתנגשויות בין שני עותקיס נתוניס. בגרסאות קודמות של 60655, עדכוניס משני עותקיס שונים התנגשו, אס נערך בהס שינוי באותה רשומה - גם אס שינו שני שדות שוניס באותה רשומה - מכיון שרמת המעקב הנמוכה ביותר אחר עדכוניס היתה רמת השורה. ב- 2000 466655 תוכל ליצור עותקיס המזהים שינוייס עד לרמת השדות הנפרדים. לכן, משתמש אחד יכול לשנות את מספר הפקס של לקוח בעותק אחד, בעוד שהמשתמש השני משנה את מענו של איש הקשר עבור אותו לקוח, בעותק אחר. כאשר נערך סינכרון בין שני העותקיס, לא מתרחשת התנגשות. מעקב ברמת-עמודה הוא ברירת המחדל עבור כל העותקיס החדשים. אס תעדיף זאת, תוכל לבחור במעקב המקובל, ברמת-שורה. כאשר מעדכניס מסד נתוניס בר-שכפול מתוך גירסה קודמת של 460055, הוא משמר את הגדרת המעקב ברמת-שורה. מכיון שמחירו של מעקב ברמת-עמודה גבוה במונחיס של רמת הביצועיס והגודל, רצוי שלא להשתמש בו אס הסבירות להתנגשויות נמוכה. התכונה מעקב ברמת-עמודה פועלת גס עס עותקי ז56/6 . 501. רמות החשיפה של עותק משוכפל 0 40600585 מכיל לראשונה שלוש רמות חשיפה של עותקים משוכפלים: גלובלי, מקומי ואנונימי. באפשרותך לשלוט ברמת החשיפה של עותק משוכפל כמאפיין ב- סח נ. לא ניתן לשנות את רמת החשיפה של עותק משוכפל לאחר שנוצר. עותק משוכפל עם רמת חשיפה גלובלית והה בתיפקודו לעותקים המשוכפליס המקובליס ב- 8466655. הם יכוליס לבצע שכפול מול כל עותק משוכפל אחר, ונראיס לעין בכל רחבי קבוצת העותקיס המשוכפלים. לעותקיס משוכפלים עס רמת חשיפה מקומית או אנונימית תפקידים מיוחדים המאפשרים צמצוס בגודלס בהשוואה לעותקיס הגלובלייס הרגילים. עותקיס משוכפלים שנוצרו מעותקים מקומייס ואנונימייס יורשיסם את הגדרת מאפיין החשיפה של עותק האב, אולס יש להס מאפיין 0 ייחודי. לא ניתן ליצור תבנית בסיס לעיצוב מעותק משוכפל מקומי או אנונימי. עותקיס מקומייס חשופים רק לעין עותק האב, והס עורכיס חילופי תכניס אך ורק עס עותק האב. היוזמה לחילופי תכנים יכולה להיות הן של עותק האב והן של העותק המקומי. נוסף לכך, עותק האב המרכזי של עותק מקומי יכול לתזמן אירועי סינכרון חוזריס מול עותק מקומי. עותקים מקומיים אינס יכוליס לערוך חילופי נתוניס במישרין עס עותקים אחריס בקבוצת עותקיס משוכפלים. עס ואת, ניתן להפיצ שינוייס בעותק מקומי, דרך עותק האב. התנגשויות בין עותק מקומי לעותק האב מסתיימים תמיד בנצחון האב. פרק 11: שכפול מסדי נתונים | 477 עותקים אנונימייס מיועדיס להפצה דרך חיבור מבוסס-60/ (פז] או 1.1 קדדה). כדי לבצע בהצלחה סינכרון בין עותק לקוח אנונימי לבין עותק מרכזי ב- פ6/צ, המקור של העותק האנונימי המקורי צריך להיות עותק גלובלי המנוהל באמצעות מנהל השכפול בשרת ה- 60). תוכל להפיץ עותקיס בכל אמצעי מתאיס (למשל, דרך ה- 6₪/ או באמצעות תקליטור). בדומה לעותק המקומי, העותק האנונימי יכול לערוך סינכרון רק עס עותק האב, אולס האב אינו יכול לתזמן שכפולים עס עותקי הצאצא האנונימייס שלו. חילופי הנתוניס נערכיס תמיד ביוזמת העותק האנונימי. התנגשויות במהלך הסינכרון מסתיימות תמיד בנצחון עותק האב. פתרון התנגשויות המבוסס על קדימויות ב- 2000 466655 חל כלל חדש כברירת מחדל לפתרון התנגשויות. במהדורות הקודמות של 866655 ההכרעה בהתנגשויות בין עותקיס נפלה לטובת העותק שביצע את מספר השינוייס הגדול ביותר ברשומה נתונה. אס שני עותקיס משוכפלים ביצעו מספר זהה של שינוייס ברשומה, ניצח העותק בעל הערך הנמוך ביותר במאפיין 6310ו1ק₪6. בערכה החדשה לפתרון התנגשויות, ברירת המחדל מחילה את הכלל: העותק בעל הקדימות הגבוהה יותר הוא זה שינצח. הערכים בהגדרות מאפיין הקדימות של עותקים עשוייס לנוע בין 0 ל-100. אס לשני עותקיס קדימות זהה, העותק בעל הערך הנמוך ביותר במאפיין ₪6016810 הוא זה שינצח. יתרונו של הכלל החדש בכך שהוא עולה בקנה אחד עס הכלל החל בשכפול ב- 7 זפשז56 501. הגדרת המאפיין שחזסוזפ (קדימות) בעותק משוכפל ניתנת לקריאה בלבד מרגע שהעותק נוצר. לפי ברירת המחדל, ניתנת לעותק הראשוני של מסד נתוניס הגדרת קדימות של 90. הקדימות שמקבל עותק גלובלי המבוסס על עותק אחר היא 90 אחוזיס מן הקדימות של העותק הראשוני. בעותקים אנונימיים ומקומיים נכפה ערך 0 במאפיין שוזסוזק. עותקיס משוכפלים שהועתקו באמצעות 5-05 או באמצעות השיטה 607086%08680856 מקבליס ערך קדימות התואס את המקור. מסדי נתוניס שעברו המרה מקבליס ערך קדימות של 90. בכל מקרה אחר, תוכל להציב במאפיין שוחזסוזס כל ערך בטווח החוקי בעת שאתה מאפשר שכפול של מסד נתונים. חובה להציב בהגדרת המאפיין שוזסוזק של כל העותקים הגלובלייםס שייווצרו בהמשך ערך שווה לזה של עותק האב, או נמוך ממנו (אלא אס כן האדס שיוצר את העותק המשוכפל חבר בקבוצה 5חוחח0ג, או שהינו הבעליס של מסד הנתונים). שכלולים שונים סדרה של התאמות שונות משלימה את פונקציונליות השכפול החדשה ב-2000 06655. שתייס מהן מפשטות משימות שגרתיות כמו הגבלת ההתנהגות של עותק משוכפל, או פתרון שגיאות סינכרון. במקרה אחר, שינוי בעיצוב עשוי להשפיע על השיטה המיטבית להפצת שינוייס בעיצוב היישוס. התכונה החדשה מנע מחיקות (26!6065 )חסעסזק) שתוארה קודס אינה מאפשרת למשתמש למחוק רשומות. באמצעות תכונה זאת ניתן בנקל למנוע ממשתמשיס בלתי מנוסיס מחיקה בשוגג של תכניס חשוביס. תכונה ואת 8 ח/ 2000 06655 אינה מונעת הפצה של מחיקות אל עותק ה מעותק אחר, למשל עותק המנוהל בידי מנהל מסד נתוניס. כפי שכבר הזכרנו, ניתן כעת לטפל בהתנגשויות ובשגיאות סינכרון באותו ממשק. האשף פתרון התנגשויות (חסטט!|₪650 6וו1ח60) מציג הן התנגשויות והן שגיאות (ראה תרשים 11.2). דבר זה מבטל את הצורך בעיבוד נפרד באמצעות שני ממשקים. נוסף לכך, האשף פועל הן בשכפולי 4 3% והן בשכפולי 7 ז6ז56 .501. "[1) 665עס!סחו -' -- '0חז.002]' זס] זסאטוצ זסו!]חס:) הסוז163ק6 !ס5סזס:וא > 5 ות :]חס זס] ה6350ה 65 חסואו 9105 !חס אופת5 + = = > 48660קנ 3!50 ב6ווקפיז זפתלסחה .סוחס 3306קט/ 365 בק ו , 6 זנוסץ תפז זפרסו= .ז6ו|/חס6 תח ל05| 86070 פוחד ‏ .6607ין 5 |8 סח ₪ 60/10 פוחל 461666 וס 66ב4קוו 3 בחולסו[]חס-)> חב 2868 הַחו150א= = 303 בחוססו!]חסם חפוצו ספוזווזפעס 7+ 3 בואט 656 > 3 8555 הפוא ספושזס עס 7+ 0303 7605008 666 7+ |[ טרה | ב | 0ז6פעטוקותם 0000000007 שמחמ | 777 שסשתמט] | 6ותהא6פא] (₪863 עזפ חפ (₪803 ובחופ] סח 102-8665-00206 [-₪07780702-9685 | 010 5 11 וס 66ח6ז876 3097] זט ש6ו1חס6 815 ]0 8655805 שרפ הַע. [ יי | = | 66 תרשים 11.2: ז66ו/ 600816 0050%ו של אשף פתרון התנגשויות מראה הן התנגשויות והן שגיאות בשעת סינכרון, מחיקות מקבלות תמיד קדימות גבוהה יותר מכל שינוי אחר הקשור ברשומה. דבר זה נכון בכל גרסאות 806055, אולס ב- 2000 8466655, רשומה ש'הפסידהי מול פעולת מחיקה, מוסיפה ערך בטבלת ההתנגשויות של טבלת המשתמש. הגרסאות הקודמות התעלמו מעדכוניס ש'הפסידוי מול פעולת מחיקה. 0 606055 כולל לראשונה תמיכה בהיררכיה של רשומות מתנגשות. אס יש התנגשות בין המפתחות הראשיים בשני עותקים, האחד "'ינצחי והשני 'יפסידי. הרשומות בטבלאות האחרות הקשורות לאותה טבלה יפסידו אף הן. כאשר אתה מתקן את המפתח הראשי בעותק המפסיד, התיקון ב- 2000 8466655 עובר בהיררכית הרשומות הקשורות לטבלה את בטבלאות אחרות, כך שאין בורך בהתאמות נפרדות. בגרסאות קודמות של 2460655 נדרשו תיקונים נפרדיס בטבלה הראשית ובטבלאות הקשורות אליה. פרק 11: שכפול מסדי נתונים 479 0 06055 מכיל תבנית אחסון חדשה העשויה להשפיע על החלטתך כיצד להפיצ שינויי תוכנה בפרויקט משוכפל. בגרסאות קודמות ניתן היה לסנכרן שינוייס באובייקטיס נפרדים של 860655, כמו למשל טפסים ודוחות. ב-2000 66655, אובייקטים של 860055 כמו טפסים, דוחות, מודולים ועמודים נמצאיס באובייקט בינארי גדול יחיד, או בקוב ''66.800[סזם" הנפרד. שיטת האחסון החדשה כופה שכפול של כל האובייקטיס אס מתעורר צורך לעדכן אובייקט מסוים. אס פתרון וה אינו אטרקטיבי, תוכל להפוך את פרויקט 406655 שבתבנית הבסיס לעיצוב לבלתי ניתן לשכפול. במקרה זה תוכל להפיץ ללא הגבלה שינויי עיצוב, באמצעיס אחריס (למשל, תקליטור). טכניקות פיתוח ב- 380 סעיף זה מציג טכניקות פיתוח ב-80( לעבודה עס שכפולים, ובין היתר הפיכת מסד נתוניס לבר-שכפול, יצירת עותק משוכפל מלא או חלקי, דחיסת מסדי נתונים, סינכרון מסדי נתונים, ותיעוד מאפייניס של עותק משוכפל. הפיכת מסד נתונים לבר-שכפול השתמש בשיטה 1608066ק86686 של אובייקט 68|ק₪8 כדי להפוך מסד נתוניס לבר-שכפול. תהליך ה גורס לעותק המשוכפל החדש להפוך לתבנית בסיס לעיצוב, עס הגדרת חשיפה גלובלית במאפיין שווופופו/. הפיכת מסד נתוניס רגיל של 460655 למסד נתוניס בר-שכפול מוסיפה את השדות והטבלאות המיוחדים אשר תוארו קודם. שדות וטבלאות אלה עשויים להגדיל באופן ניכר את נפח מסד הנתונים, לכן רצוי להכין עותק גיבוי של מסד הנתוניס בטרס תהפוך אותו לבר-שכפול. להלן תחביר השיטה 680|6ו|1866₪60 : וז דהרהט!0 ,הוח סו 66 ה ה 00 6168016 6>בהּא. ב6וופס מחרוזת החיבור מצביעה אל מסד הנתונים שברצונך להמיר לתבנית ניתנת לשכפול. באפשרותך להגדיר את המאפיין ח6600ח0ח660ע60 של האובייקט ₪60|668 בטרס תפעיל את השיטה ₪1866₪6016806. עס ואת, ארגומנט מחרוזת החיבור של השיטה עוקף | את המאפיין ה6600הה6600ע60 | של העותק המשוכפל. הארגומנט 0חוא86ז דהוחט|60 של השיטה הוא משתנה בוליאני. ערך ברירת המחדל שלו הוא 6טזד. זכור, שדבר זה עשוי, להלכה, לסייע בצמצוס ההתנגשויות בסינכרון. אס אין ה סביר שיתרחשו התנגשויות (לדוגמה, מכיון שכל העריכה תתבצע בעותק משוכפל יחיד), עליך לשקול הצבת ערך 8566" במשתנה. במקרה כזה, המעקב אחר התנגשויות בסינכרון יבוצע בשיטה הרגילה של מעקב ברמת-שורה. דבר גה מונע את הנפילה ברמת הביצועיס הצפויה במקרה של מעקב ברמת-עמודה. 0 הח 2000 406655 השגרות הבאות מחילות את השיטה 6806ו13666601] על מסד הנתוניס של בחוצוושוסא בשעה שמסד הנתוניס מבצע פונקציות של גיבוי ולכידת שגיאות. השיגרה 06510356 6א68|!!13 מציבה ערכיס בארגומנטים שלה 08% ו-6וח8אהסו!ק6ז, ולאחר מכן היא מפעילה את השיגרה ז1!35060ח88606510. בדוגמה מבוצע שרשור של משתני הזכ (- 86 63ו!0ק8? תוך הפעלת השיגרה השנייה. השיגרה השנייה מפעילה את השיטה 6₪80!6ו!866₪60ו/ עבור הערכיס שהועברו אליה. ()135%67]ח 6510 6אה||68 5 165 58 71106)011166 1670501 1!65= ותהזפסיק:6" = הזה "טרח תועשר+זסצ]" = שוחה 63ו!כסז 6סטחו 0ז 6טז ד 0+ ]6% ההק 56000 6 66% ' .05 הסוט|650 01 0חו%7866 |6/8!-חוחט|ס6 ' 6ז ד ,6 ב63ו|6 ,8 ההכ ז0ז35 66065101 הוח סט5 0חם ,הו 5 5 68| )350 3666510 5 (ח200|68 5 8חו868ז דהותט!ס6 |הּחסטקס מז דויזכ 0ד60 זסזזם הס 68| ₪0 עס 5 זס350וס6ז חזוס .וז 08%80856 %6 הוח 307 5 0חוז6560 זס? 08680856 ץקס6 60 זשא0 ' = ,"ץ6000 28660 8 86 0 סחהצ טסץ ספ")אס ו זז חס ך 65ץפץ = ("2000 66655 160508 סהווהותהזפסזק" ,סא65צסצ ("+000166 1165/5060 . חו 561" )0(66 0768160 = 5 56% "טס 886800 %5חה6והט6סכ ץו]:6" , 63ו|ק6 הסח 6וו ץק 16.60 + 0חם .6|6806ז] 08580856 68ו!ק6 סח 6 866 ץווההסטפס ' הסח ד סטזד = 8608 דחותטוס6 + סח 1366663016 ז35+0 סז 6 6 ,וח 6163016 1366 ז350 סז + 0חם .50 265/00 0+ 61676066 ז0|68 ' 8חוח%ס] = ז60185%60 56% שואם וז סטפ זואם : ספדווס = 06 2147467259- = זססוחטא.זזם +1 חסחד "600|0" = (5 ,חסחק 656.זחם )6 | 8 " 0065 1|!6 0608056 60168 6768%6 0%סח 68" אס וו ,".חוהּפָ3ּ ץז 0חה ס6וחבּח 116 הזה או .6156 %סח" "2000 66655 60508%ו] פחווחוחהזטסזק" ,ו₪68ו6סצ ]ואש 6506 פרק 11: שכפול מסדי נתונים ‏ 481 = 6ח 2147467259- = זססותטא.זזם ]51561 חס ד "ההכ" = (8 ,הסחק 6פס.זחם )6 | 8" 6 56 .630|6ו|6ז ץ680ז|3 5| ספהּסהאהכ" א0ס8 ₪150 8" 608ו|60ז] שוח 8 2856 60 60000 6806660!68ז6" "2000 66655 0508ה6ו] פחווחוחהזפסזק" ,ו₪63וושפט ,"שו חס" אכ 506 חסחד 53 = זססוחטא.זחם )56| 8 " .ץ600 8660 זס+ סהטס+ 6סח ₪16 [החופוזס" אס 150 ,68 פע ,"-חו303 ₪ 30 סח ₪6 66זס6" "2000 266655 1167050 סחוו וחהזטסזק" אכ 6ההטפס 56 חססק656.זום ;זססוחטא.זחם זחוזק. פטטסס + 0חם 50 06ח= לפני הפעלת השיטה 0]68066ק386₪6, השיגרה 00/85008ו66065ח שואלת את המשתמש אס ברצונו ליצור עותק גיבוי. אס המשתמש משיב כן, השיגרה יוצרת מופע של האובייקט 506700[16₪ץ1!65=, ולאחר מכן מפעילה את השיטה 600/16 כדי ליצור גיבוי לקובץ. דבר וה מאפשר בנקל לחזור לגרסת המקור של מסד הנתוניס, ללא שדות וטבלאות השכפול המיוחדים. השיגרה ז8500/%ח8%606510 מקבלת ארגומנט אחד, או שניים. הראשון הוא השרשור של חז8ק ו- 68%8₪06ו!0ק6ז. תבנית הבסיס לעיצוב של קבוצת העותקיס המשוכפליס החדשה היא קוב ששמו נקבע לפי ערך הארגומנט 6וח60888ו801ז. השיגרה השנייה יכולה לקבל גס ארגומנט נוסף. אס אפשרות זאת מתממשת, מדובר במשתנה בוליאני המציין אס יש להפעיל מעקב ברמת-עמודה אחר התנגשויות בסינכרון. דוגמה ואת מעבירה ערך 6טזד. עיצוב הדוגמה מחייב את המשתמש לציין פטזד בארגומנט השני כדי לממש מעקב ברמת-עמודה. אי-ציון הארגומנט השני יגרוס למשתנה הבוליאני להניח כי ערך ברירת המחדל שלו, 856]. הואיל והשיטה 630!6ו|1366₪60! יוצרת לפי ברירת המחדל עותקים משוכפלים עס מעקב ברמת-עמודה, למעשה השיגרה אינה חייבת לציין בפועל פטזד כדי ליצור עותק משוכפל עס תכונה זאת. הערה: אין בנמצא מאפיין למעקב ברמת-עמודה. לכן, עליך לעקוב ידנית אחר המצב של משתנה זה בכל העותקים המשוכפלים שלך. השיגרה לוכדת במפורש שלוש שגיאות שונות. האחת היא בהפעלת האובייקט 5 65!ו, ושתי האחרות מקורן ב- 36%. שיס לב, שמרכיב השכפול ב- 3% מעביר בחזרה מספר זזש והה (2147467259-) עבור שתי שגיאות שונות במובהק. למרבה המזל, לשגיאות אלה תיאורים שונים. הדוגמה בעמוד הקודס משתמשת 2 הח 2000 06655 בתכונה זאת כדי להבדיל בין השתייס (במערכת עובדת יש להשתמש במקטע תיאור ארוך יותר כדי לוהות בוודאות את סוג השגיאה, או להשתמש בטכניקה מתקדמת יותר לניתוח שגיאות). הערה: ניתן להבדיל בין שגיאה מקורית לשגיאות ‏ 3% מבלי להסתמך על המאפיין חסטקוז650כזזם. עם זאת, למאפיין זה נודעת חשיבות פוטנציאלית עבור מפתחים רבים. הטכניקה השנייה כרוכה בספירת האוסף ₪705 באובייקט ה6600ההס6. פעולה זאת מחזירה ממנגנון מסד הנתונים המקורי מספרי שגיאה מובחנים. יצירת עותקים מלאים נוספים החל את השיטה 0|68ק6₪6ז0768 על מופע חדש של אובייקט ₪801 כדי להפוך את המופע לחבר חדש בקבוצת עותקיס משוכפלים. בטרס תפעיל את השיטה, הגדר עבור המופע החדש מאפיין ח0וז66חח660עו6ה, כך שיצביע אל תבנית בסיס לעיצוב, או אל עותק משוכפל אחר מתוך קבוצת המטרה של עותקיס משוכפלים. שיטה ואת תיכשל אס ההגדרה ח₪60/6607006600 מציינת בשגגה מסד נתוניס אשר במאפיין 06ץ087ו|₪60 שלו הוצב ערך 680/6ו|560+ס6קץ דס₪6זן. ככלל, שיטה ואת מחזירה עותק משוכפל בעל סוג וחשיפה והים למקור. עס זאת, מכיון שאמורה להתקיים רק תבנית בסיס אחת לעיצוב, יצירת עותק משוכפל לפי הדגס של תבנית הבסיס לעיצוב מחזירה עותק משוכפל גלובלי נוסף, שגס הוא כפוף לפרמטריס עבור השיטה. התחביר הכללי להחלת השיטה מובא להלן: ,6קץ 68| , הסק656 ,6ח בא 68| 601168 070806. ב6ו!פסא שוווס9ז03כ ,שחסוזק ,שזווסופו הפרמטר ס6וח8אחסו!ק₪6 מציין את הנתיב ואת שס הקוב של העותק המשוכפל החדש, אמצעות 255 תוויס לכל היותר. חסטק 650 הוא שדה אופציונלי המסייע בזיהוי חבריס בקבוצת עותקיס משוכפלים. ערך ברירת המחדל לפרמטר 60108876 הוא ווטח6מץדס6חזן, ליצירת עותק מלא. תוכל לציין במקומו את הערך |₪3זהק6כץ דססחזן. הפרמטר שווופופו/ יכול לקבל את אחד הערכיסם הבאיס: |הפסוסעטוווטופו/ק6חזן (גלובלי, ברירת המחדל), |68סושווופו5וק6חזן (מקומי) או הסחהשווופופו/ק6חזן (אנונימי). אס לא תציין ערך עבור הפרמטר שוזסוזס, יינקטו כללי ברירת המחדל; הטווח המירבי הוא מ-0 ועד 100, כולל. לפי ברירת המחדל, עותק משוכפל מלא מקבל 90 אחוזיס מערך הפרמטר שוזסוזק של עותק האב. הפרמטר שווו08090קט קובע אס העותק החדש יהיה לקריאה בלבד (הערך ץ|תח₪9000086800ז), או לקריאה וכתיבה כאחת (הערך וט 0קנס6חזו). פרק 11: שכפול מסדי נתונים 483 הדוגמה הבאה יוצרת עותק משוכפל המבוסס על תבנית הבסיס לעיצוב של סחוצוחצ+וסו מן הדוגמה הקודמת. ההגדרה ח660006600/ו860 יוצרת את העותק המשוכפל. העותק המשוכפל החדש הוא עותק מלא, עס רמת חשיפה גלובלית. הנתיב אל העותק המשוכפל הוא 00ח.%5)00חסוחט6סכ ץו:6. בהתאם להגדרות הפרמטרים של העותק המשוכפל החדש, תיאורו הוא ''₪8ו!6ז |ו₪ ססזיי. ()68ו|0ק56|!|ט-6א8ח פט5 8 ₪0 וס 5 615% חחוס .0 35% 065100 3 3% 61135607" +חוסק ' = = 00/6007006608. 3507 סז "סרח 6 תוס 65 רת 5 01166 0166 050%6ז6ו]1!65= וחהזפסזק :6" .6ח!] 6% 06ל פַהוהחטז 61076 0616060 15 100.00 6זט5 6)בּון ' ,"68ו!60 | 0+" ,"סח 0ס]5זחה6והט6סכ ץו]:6" 6768066168 זס5ה סז וט 0קס6חזן , ,והפסוסששסוווטופו/ס6זן ,ווטחססץ דס זנ סט5 0חם אין בורך ליצור גיבוי במקרה זה, הואיל והפקודה יוצרת עותק משוכפל חדש שחייב להתבסס על עותק קיים. עס ואת, השיגרה עלולה להיכשל אס העותק המשוכפל כבר קיים, או אס התבנית האמורה לשמש ליצירת העותק אינה קיימת (כלומר, הקוב חסר), אולס מדובר בסוגיות פשוטות של לכידת שגיאות. הדוגמה הראשונית נקטה גישה מסוימת למשימה זאת, תוך יצירת עותק משוכפל. ייתכן שתרצה להניח, שהגירסה החדשה הופכת כל גירסה קיימת בעלת שם זהה למיושנת. הדוגמה השנייה מממשת את הלוגיקה הזאת בכך שהיא מוחקת את העותק המשוכפל הישן, פעולה המבטלת את הגורס האפשרי לאחת השגיאות עוד לפני שהשגיאה צצה. יצירת עותק משוכפל חלקי, ומסננים עותק משוכפל חלקי הוא עותק משוכפל שאינו מכיל את כל הנתוניס שאמור להכיל עותק מלא. עותק משוכפל מסוג וה שימושי בעבודת סניפים או עובדים ניידיס, הוקוקים לגישה אל קבוצת משנה מתוך הנתוניס המותזקים במטה. עותק חלקי מאפשר למשתמש לעיין רק בחלק מהנתוניס המלאיס, והדבר מפחית את היקף העדכון שנדרש כדי לסנכרן את העותק המשוכפל. לאחר שיצרת עותק משוכפל חלקי וריק בעזרת השיטה 68ו|0768%6₪60, עליך לאכלס אותו בנתוניס. לכל עותק חלקי אוסף פזסווו= (מסנניס). במסגרת אוסף זה, כל אובייקט זסס|ו= מציין נתח נתוניס שונה שייכלל בעותק המשוכפל החלקי. כדי שעותק משוכפל חלקי יכיל נתוניס כלשהם, עליך לציין עבורו מסנן אחד או יותר, לצרף את המסנן או המסננים אל אוסף פזטוו= של העותק המשוכפל, ולאחר מכן להפעיל את השיטה |8זהק366!טקסק. 4 הח 2000 466655 אפשר לבסס מסנן על הפסוקית =חפהּ/) מתוך משפט 501 (ללא מילת המפתח =מםח/), או על יחס. הוסף וצייו מסנניס עבור עותק משוכפל חלקי בעזרת השיטה 0הססק של האוסף פוטטווח. שיטה ואת מקבלת שלושה ארגומנטים: המאפיין חוד קובע את הטבלה שהמסנן יחול עליה, המאפיין 6מץדוסטוו= קובע בעזרת קבוע מי יסנן את הערכיס עבור הטבלה, משפט קריטריוניס ב-501 (הערך 6 דסקץ דוסטווזן), או יחס (הערך סות5חסו6|3מ6קץ דוסטוו=זן). המאפיין 668ח6זספוו= כולל את שם היחס או את הפסוקית =₪פה/ מתוך משפט 501 המגביל את הרשומות של טבלה. השיטה |8708ק806!טקסק עבור עותק משוכפל מנקה את כל הרשומות בעותק המשוכפל החלקי ומאכלסת את העותק בהתאם למסננים החלים עליו. היא עושה 1את באמצעות סינכרון של העותק החלקי עס העותק המלא. השיטה מקבלת שני ארגומנטיס. הראשון הוא משתנה אובייקט המצביע אל העותק החלקי שיש לאכלס מחדש. השני הוא משתנה מחרוזת, המגדיר את הנתיב ואת שס הקוב של העותק המלא, שמולו מתבצע הסינכרון של העותק המשוכפל החלקי. ככלל, עליך להשתמש בשיטה [08708ל8|וקסק עבור עותק חלקי כאשר אתה יוצר את העותק החלקי, או אס שינית את המסנניס שלו. כדי להפעיל את השיטה עבור עותק משוכפל חלקי, עליך לפתוח תחילה את העותק הרצוי עם גישה בלעדית, הואיל ובשלב הראשון, השיטה מנקה את כל הרשומות מן העותק החלקי כדי לאכלסו מחדש ברשומות. ארבע השגרות הבאות מדגימות את אחת הגישות להגדרת שני עותקים חלקייס באמצעות האוסף 8ז06ט!ו₪ והשיטה | זהקסזבּ|וקסק. השיגרה ז6סו|3703ק6||13>6 מפעילה את השיגרה זסטוו=|8%678708 פעמיים, כל פעס עס קבוצת ארגומנטיס שונה. תחילה היא מפעילה את השיגרה כדי ליצור עותק משוכפל חלקי ששמו )0 והשזבּק סח 6חועוהזזסא'י. לאחר מכן היא חוזרת על התהליך ויוצרת עותק משוכפל נוסף בשס "100.00 0 |הזבּק"י. ()ז0ם]ן| וזה ק6א הו||68 5 ,"סח 0חוצות+זסצ +0 |ה הק" !]קאה וח ]סרח 58 161660166 670500 1!65= ותה זטסזק:6" , "טסח. טהוצוחצ+זסא" "פ%ח6והט6סכ ץוז:6" ,"טסח.סס+" , "00.00 ז0 |הוזבק" !]וק 66 הוח סט 0ח= ,5700 5 6 68%8!|ס )ןוק 66 הח 5 (0חוזז5 5 08% ,0חו507 5 500636 8 שוסא 5 ססז הזוס סו 350 5 161 הזוס |הוזהק 0|0 6|606כ ד 6 68ו!6 8 הזה = 50706 (5077]6) 6!ן-06!6%6 הזהק 1866 ' 506636 ,6רחהּה6ו!ק6 , ההכ |החזהקס6הוח פרק 11: שכפול מסדי נתונים | 485 זט השקה 300 |הזהכן ס+ הס 66 הח 60 חססס ' = = 8ה6607006600ו60. קסז = 86 "=500706 08.4.0;2808= 11670508.16%.01]= זסועס:ק" "6ען6!05א= 6זה1006=570;" 8 ס6וחהאהבסו|כ6ז 8 הזה ₪66 58!65'= שד" ,6וטב דסקץ דז6פוו זו ,"665ץסוקוחם" סהססקה.5זספוו=. קז = ,06 ד6קץ זוז[ ,"65600675" סהסשקקה.5זספוו=. קז "סוסה וז'= 6 סא ‏ הוהספ'= ץח הטס6" .5066 וחסז) |הוצוהק 6ז3!טקסק ' 36 506% .8 8% |8 370 36!טקסק. סז טפ 0ח= (6)ו06!6%61!6)507 פט5 קז 06667 0 607 זסזזם הס חס חח 8.00 00 עוסא 5 1 החש וחוס .6 06!6%6 60 6זהסטזק ' ("+5%60000[66/י1165=. סוק 567" )66( 6768660 = 65 56% 6 15.061600-6 :0 סטפ זואם :0 החד 75 = זססוחטא.זזם זס 70 = זססוחטא.זזם +1 = 8 " .ה5/506 60 30!6|ןה הח 5 |הּוזבּק" א00 150 = 8 " 8 676816 68 57506 06 8% 50 16 61056" "2000 66655 60508ו1] פַחווחות8זטסזק" ,וה6טושפצ ,".שחס שוסח" החד 53 = זססותטא.זזם )₪561 6% 656 56 חססק656.ז= ;זססרחטא.זחם זחוזק. פטטסס 0חם 06% 6506 סט 0ח= (0חו507 5 5066086 ,8חו50 5 6 באהסו!6ז ,58 5 ה3|)08% ווק 66 סט5 8 שוס 5 סז הזוס 50666 8 הזה = ה0ס660 6600 קסז ,סכ דק6זן ,6חה63ו!6ז ,6וחה63ו|6ז 8 ה08% 68ו|0ק6768%6₪6. סז ווט00ק6זן , ,והפסוסנטסווופופוקסחזן סט 0ח= 6 הח 2000 406655 השיגרה 698!ו=|8667878ח | מקבלת ארגומנטיס מהשיגרה- 6ש!|₪|3703ק66ב1ן|הס. ארגומנטיס אלה מצייניס את שס העותק המשוכפל החלקי שייווצר, ואת העותק המלא שהוא מקור הנתונים עבור העותק החלקי. השיגרה זפפו!ן=|87008ק%6ו גס מגדירה ומצרפת את אובייקטי זוטוו" עבור העותק החלקי, ומפעילה את השיטה |18ז8 ]טוקס כדי להחיל את המסנניס. תחילה, השיגרה מוחקת את כל העותקיס החלקיים הקיימיס, ששמם והמיקוס שלהס זהיס לאלו של העותק החלקי שהיא אמורה ליצור. פעולה זאת נעשית על ידי הגדרת משתנה מחרוזת המבוסס על המשתניס 08 ו- 6ו688₪ו!ק6ז ששיגרה ואת מקבלת מהשיגרה הקוראת. לאחר מכן משתנה המחרוזת החדש מועבר אל השיגרה 6ן=06!606. אלא אס מתרחשת שגיאה בלתי צפויה, השיגרה 06!606₪|6 מבצעת אחת משלוש משימות: היא מוחקת את הקוב הישן של העותק המשוכפל, או שהיא מזכירה למשתמש לסגור עותק משוכפל פתוח כדי שהיישוס יוכל למחוק אותו, או שהיא מתעלמת משגיאה שנגרמת מכך שהקובצ אינו קיים (קוד שגיאה 53). לאחר שהשיגרה מוחקת, או מנסה למחוק, את הקובצ הקיים, היא יוצרת עותק חלקי חדש על ידי הפעלת השיגרה |866787₪8. הקריאה מעבירה שלושה ארגומנטים : חזס, 6 !60 ו- 6ו668זוס5. השיגרה |86678708 והה כמעט לגמרי בעיצובה לשיגרה 8 ]| 6אח. מלבד השימוש במשתנים לציון הנתיב ושס הקוב>, ההבדל המרכזי הוא שהשיגרה |673708א8 מציבה ערך |3זהּקסקץ דק6זן במאפיין 6סץ דבּסווקסא, בעוד שהשיגרה 8%6"0|!₪60168 מציבה במאפיין זה את הערך ו|טשפסץדס6חזן. שיס לב, שהשיגרה |678708א3 מציינת את שס העותק החדש כשרשור של המשתניס 080 ו-61088006ז. המאפיין ח6600חחה0ס66עו6ה של מופע העותק החדש מציין את העותק המלא המשמש מקור לעותק החלקי. השיגרה מציינת מקור ה כשרשור של המשתניס הזכ ו- 6וח66זטס5. לשס כך חובה לשמור את העותק המלא ואת העותק החלקי באותו נתיב, אולס אין קושי בהסרת מגבלה ואת. הדוגמה האחרונה בפרק זה מראה כיצד לעשות זאת. לאחר שהשיגרה |86608708ח מחזירה את השליטה לשיגרה זסזוו=|8ו0ז678א8ח, העותק החלקי החדש קיים, אולס אינו מכיל נתוניס. השיגרה זטוו=|678708א8ח מאכלסת אותו בנתוניס. תחילה היא מציבה את המאפיין ח60/660006600 של מופע העותק בעותק החלקי החדש, ופותחת את העותק החדש במצב של יגישה בלעדיתי. זכור, שדבר זה נדרש כדי להפעיל את השיטה |₪8ז8)608!טקסק. בשלב הבא השיגרה מגדירה ומצרפת לעותק שני אובייקטי זטוו=. המסנן הראשון מחלצ נתוני יעובדיס' שתפקידס מוגדר כינציגי מכירות'י. המסנן השני מחלצ נתוני ילקוחות' ממדריד שבספרד. לבסוף, השיטה |ּ₪ַז608ז9|טס0ק יוצרת סינכרון בין העותק המלא שצוין באמצעות השרשור של הזכ ו- 507668006 לבין העותק החלקי החדש. רק שתי טבלאות קולטות רשומות (באפשרותך להוסיף מסנניס כדי לאכלס טבלאות נוספות בעותק החלקי). פרק 11: שכפול מסדי נתונים | 487 סינכרון עותקים משוכפלים שתי השגרות הבאות יוצרות סינכרון בין עותקיס בתרחישי שכפול טיפוסיים. שתיהן מפעילות שגרות 400 בסיסיות. השיגרה 0400 דסס=6הושחתזזסא ה6הץ5 מוסיפה רשומה חדשה בטבלה 665ץס0!קח= שבעותק טסוח.6חושח+זסא. לאחר מכן היא יוצרת סינכרון בין 6חואוח+וסא ל- 00ס+ כדי להפיצץ את הרשומה החדשה אל פ6ח.סס). השיגרה השנייה, 6 ורס סס= ה6הץ5, מוחקת את רשומת העובד החדשה מ- 0ס?, ולאחר מכן יוצרת סינכרון בין סס) ל- 6חוצוח+וסא כדי למחוק את הרשומה גס מהעותק 6חושתשזס. ()000 דסס- חוצוח+זסא ה6הץ5 פט5 0.8 5 601 הזוס סו חח 5.60 0 ג צוסא 5 1 החש חחוס 5 561 וחוס .| 8 35 0חוצוחזזס] זס] 67676006 56% חב סהוצות+וסא 0+ הסו66 הח 60 הפסכ ' 8 ";508.4.0 050.26%.01ז6ו1 = זסוטסזק" ה6ק1.0החס 8 " 00106 0506ה6ו1!65]1= ות8זססיק:5006=6 זכ" "סרח 0 תוצשח+זסא 65 רוח 5 77166" 0.08 צוסא = 601 56% 1חחס = 6600 ה ה600ע6ה. 1 סז .סוסא 60 66ץ0!קוח6 עצסח 38 00 ' שו = 51 56% 006 ,56חוס 0660 801 ,3002686566 ,1 החס ,"665 שסוקותם" ה6ק561.0ז 2=8 צו0%6. 561 "16" = ("6ה ה 5זו=")6|05ו=. 561 "ח050סכ" = ("350806 6|05)"1ו=. 561 1 - 2806 = ("08%06ח+ו6|05)"8ו=. 561 19 ץר 300 5זס+טקר 60 6טספה 8חוחוה6! 0+ 65וחסס6 16 הסח/צ ' .חזסם ץ|שוסח 5עְבּאצו|3 חחה 1 ,0זס | 6ח% חו' 16 . (100.000) 60163 |01ז 65ו הזוע סהוצוח+זסא 26וחסוה6הץפש ' = ,"65]00.00ח6והט6ס ץו]:6" 26והסזה6הץ601.5ז ץז[ ,קאםק וחזסקץ דה ץז 50 06ח= ()6!6%6 0 ד הואוח+זסצ]סס- ה6הץ5 פט5 0.8 5 601 הזוס ו 0.60 45 601 , הס66 ה ה 8.60 סכה צוסא 5 1חחס6 וחוס .3 8 85 100 0+ 61676006 56% 0חה 100 ס+ ה0 660 הח 60 חהסכס ' 8 ";₪08.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס "ס00וח. %5)00חה6והט6סכ ץ606=6:]1זטס5 זה" ₪08 ₪0 צוסא = 601 56% 1חחס = ח6600ה ה600ע6ה. 1 סז 66655 2000 8 .00.00 הס 66ץ0|קרח6 חה 6עסוח6ז ס% חה חר 60 סטס6אם ד וו 208.00 עוסא = 601 56% 61 חהסו\ 1חחס = ח6600 הח0ס66ע60. 8 "665ץס|קוחם 0ת *.665שסוקוחם = זם |" = 6% דחו 60. ""ח0050 =6ו850%3 | םהםהעש " 0% = 06ץ ו 60. 6 ה)%ו 0ח= (0 0 חוששח+זס) ז35%0ח 665100 ו חואו סס+ 26וחסיוה6הץס ' ₪ "1166) 0508ז6ו]1!65= 8 זסזק :6" 26וחסזה6הץ5. 601 ו הץפזן ,סאם קוח61קץ ד6הץ5ן ,"סרח הועע חס 65 !קר ה5 706" סט5 0חם השיגרה 0400 דסס=0חואוח+וסא ה6חץ5 משתמשת ב- 0כג כדי להוסיף רשומה לטבלה באחד העותקים, ולהפיצה אל טבלה מקבילה בעותק אחר. השיגרה פותחת בהצהרה על האובייקטיס ₪60|68, ח6600חח60 ו- ₪6607056. לאחר מכן היא יוצרת חיבור עס מסד הנתוניס 6חושחזזסא ומציבה את המאפיין ח06600ח660ע60/ של העותק בחיבור. היא יוצרת מופע של אובייקט 6607056 באותו חיבור שבו נמצא העותק. לאחר מכן היא מוסיפה לטבלה רשומה של עובד בשס ח0050כ >6ו₪. השיגרה מסתיימת בהחלת השיטה 26וחסזח6חץ5 על העותק סחושחזוסא, ומציינת את ססז כעותק שעמו יש להחליף עדכונים. בשלב האחרון, רשומת העובד החדשה עוברת מ- 6חושחזזסו ל- סס]. השיגרה 6|6%6סס ד0חושוח+זסאסס- ה6הץ5 מוחקת את הרשומה החדשה מ- 0ס?. כמו כן היא מחזירה את סחושוצוסא למצבו הקודס על ידי פעולת סינכרון בין 100 ל- סחושח+זסא. שיגרה ואת משתמשת באובייקט 0ח8 60 כדי להשמיט עובד ששס משפחתו ח050סכ מהטבלה 665ץס!קוחם בעותק 100. לאחר ביצוע הפקודה, היא מחילה את השיטה 26חסזחסחץ5 על העותק 00 כדי להפיץ את המחיקה לעותק חחוצשחזוסאז. עבודה עם עותקים משוכפלים הנמנעים ממחיקות אין קושי ליצור עותק משוכפל עס מניעת מחיקות, אולס עליך ליצור אותו דרך ממשק המשתמש. בחר כלים (1008), שכפול (ח900סו|₪60), יצירת עותק משוכפל (6706800 8|), ובחר בתיבת הסימון מניעת מחיקות (26|6005 %ח6ע6זק) בתיבת הדו-שית שתיפתח על המסך. עותק משוכפל מסוג וה מאפשר ליישוס להפיצ עותק שאינו מאפשר מחיקה ישירה של פריטים מתוכו. אמנס ניתן להשיג תוצאה זהה באמצעות הגדרות האבטחה של 2600655, אולס הרבה יותר פשוט לבחור את תיבת הסימון הנזכרת לעיל. בעוד שהמשתמש בעותק עס מניעת מחיקות אינו יכול למחוק רשומות במישרין, העותק המשוכפל יכול לקבל עדכוני מחיקה מעותקים אחרים. אחד השימושיס לעותק משוכפל מסוג זה הוא לסייע בידי מנהלים למנוע מחיקת רשומות לפני שמירתן הנאותה בארכיב. פרק 11: שכפול מסדי נתונים 489 שלוש השגרות הבאות מטפלות בעותקיס עס מניעת מחיקות בעזרת סס. השיגרה 52 מוסיפה מתוך העותק 100.000 רשומת עובד חדשה לעותק .2 שס העובד הוא חספפסכ >66ו₪. השיגרה השנייה, 002ת60670!סססדעיזד, מנסה למחוק את הרשומה הואת במישרין מהעותק 002.000). הודעת השגיאה המוצגת בתרשיס 11.3 מראה כיצד 406655 מגיב לפקודה 600%6א5 הכלולה בשיגרה. אס מתעורר צורך בהגבלת הוספות פרט להגבלת מחיקות, תוכל להציב בארגומנט שווופ6ה0ק של השיטה 676806860|68 את הערך ץ!ח0₪6800קק6חזן. אין צורך בממשק המשתמש כדי לבצע פעולה זאת. השיגרה השלישית, 6|666סס ד002=סס= ח6חץ5 מוחקת את ח0050 ₪6% מהעותק 00.סס), ולאחר מכן מפיצה את המחיקה אל העותק 002.008). למרות שהמשתמש אינו יכול למחוק רשומה במישרין מתוך עותק עס מניעת מחיקות, מנהל מערכת יוכל להפיצ מחיקה בעזרת פעולה של סינכרון. ()0-002 007 ח6חץ5 ספ 0.8 5 601 הזוס חס חח 08.60 00 צוסא 5 1חחס הזוס 5 51 חזוס 8 85 100 %0 61676006 56% 0חה 100 0+ הס 660 הח 60 חהסכס ' 8 ";508.4.0 67050.26%.01ו = זסוטסזק" ה6ק1.0החס "ס00וח. %5)00ח6והט6סכ ץן]:606=6זטס5 זכ" 68| ₪0 צוסא = 601 56% 1חח6 = 6600 ה ה600ע6ה. 1 סז .0 0+ 66ש0!0ח6 סח 3 00 ' עצשוס = 51 56% 006 ,56חוס 0660 801 ,3002686566 ,1 החם ,"665 שסוקותם" ה6ק561.0ז סא 561 "א6ו" = ("6 ה )זו ")6|05ו=. 561 "ח050סכ" = ("350806 6|05)"1ו=. 561 1 - 2806 = ("08%06ח+ו6|05)"8ו=. 561 6 .002.00 הוא 100 26וחסזה6חץפ ' = ,"%5]002.0000ח6והט06כ ץו]:6" 26והסזה6הץ1.5 סז ץז[ ,אק והז קץ דה ץז סט5 0חם ()002- סז 6!6%6כס דץז ד 50 !0.60 5 ססז הזוס חר 0.60 45 601 ,660 ה חה60. כ סכג שוסא 5 1 החש וחוס .| 8 85 ז] 0+ 61676006 3 56% 800 1002 0+ ה0 660 חח 60 חהסקס ' 8 ";₪08.4.0 050.26%.01ז6ו = זסוטסזק" ה6ק1.0 החס "ס0וח. 69)002חה6והט6סכ ץ06=6:]1ט50 זה" ₪08 ₪0 צוס = 601 56% 1חחס = 6600 ה ה600ע6ה. 1 סז 0 הח 2000 406655 ;002.00 החסז? 66ץס|קרח6 6עסוח6ז 60 הרת 60 6לט66אם ' .6068 26|6665] %ח6ע6ק 8 5| 002= 0668856 18115 זו ' חר 8.60 0כג צוסא = 6001 56% 01 רסו 1חחס = ח6600 הח0ס66ע6. 8 "605 ץ0|קוחם 01 *.665ץס!קוחם ₪ דם 51" = 6% דחו 60. "ח0050כ35086='2 | םהםה/ש " 0% = 06ץ ו 60. 6 ה)ו 6חם סט 0ח= ()006|6%6 0021 סס- ה6חץ5 פט5 0.8 5 601 הזוס ו 0.60 45 601 ,6600 ה ה60. כ סכג שוסא 5 1 החש וחוס .3 8 85 100 0+ 61676006 56% 0חה 100 ס+ ה0 660 חח 60 חהסקס ' 8 ";₪08.4.0 050.26%.01ז6ו1 = זסוטסזק" ה6ק1.0החס "ס0וח. %9)00חה6והט6סכ ץו]:06=6זטס5 זה" 8 ש 66 = 601 566 1חחס = ח6600ה ה600ע6ה. 1 סז .00.00 הס 66ץ0|קרח6 חה 6עסוח6ז 60 הרת 60 ס6טס6אם ד ו 8.60 20 סא = 001 56% 61 חהסו\ 1חחס = חה6600 החה0ס66ע6. ₪ "665ץס!קוחם ₪011 *.665ץס!קוחם ₪ דם 1" = 6% דחו ס6. ""ח0050 =6וח3 850% | םהםהעש " 3% = 06ץ ו 60. 6 הז%ו\ 6ח= (0 0 חוששח+זס) זס35%ח 065100 סו חואו סס+ 26וחסיוה6הץס ' = ,"%5)002.000ח6והט6סכ ץ6:]1" 26וחסזה6הץ5. 601 ץז[ ,אק וז קץ דה ץז 50 0חם ו : (80004005) 2147467259- זסזזו6 פחום-חטת וק 0616565 לח6יפזק 3 החסז] 06656 לסחחב 6 | ו זי תרשים 11.3: הודעת השג'יאה המוצגת בעקבות ניסיון למחוק רשומה מתוך עותק המוגדר עם התכונה מנע מחיקות פרק 11: שכפול מסדי נתונים 491 עבודה עם מאפייני עותק משוכפל בדיקת המאפייניס של עותק משוכפל תסייע בידך להבין את התנהגותה של קבוצת עותקיס משוכפלים. לדוגמה, אס ידוע לך סוג העותק המשוכפל, תדע גס אס אותו עותק ישתף שינויי סכימה עס עותקיס משוכפליס אחרים. המאפיין שוזסוזס (קדימות) של עותק משוכפל קובע איזה משני עותקים 'ינצחי כאשר יש התנגשות בין שני עותקים. ככלל, העותק בעל הקדימות הגבוהה יותר ינצח. שלוש השגרות הבאות מדפיסות את המאפייניס של עותק משוכפל וחושפות תוך כדי כך ערכי מאפיינים. הואיל ולא קייס אוסף 685ו|₪60, קרוב לוודאי שתציין לפי סדר רשימה ובה מספר עותקיס משוכפלים שברצונך לעבד, במיוחד כאשר העותקיס המשוכפלים משתייכים לקבוצות עותקיס משוכפלים שונות. השיגרה שוחזסווקססץ טחוזס!|68 מגדירה משתני הזכ (- 6וח688ו!0ק6ז עבור כל עותק משוכפל שהיא מבקשת לבדוק, ולאחר מכן היא מפעילה שתי שגרות משניות. אחת מהן (06ץ687ו!ס6משחוזס), מחזירה נתוניס אודות סוג העותק המשופפל, ואילו השנייה (שחסחקזחוזק) מחזירה את ערך המאפיין שוסוזק של העותק המשוכפל. נוסף לארגומנטיס 0800 ו-6וח0888ו601ז, קבוצת השגרות מחליפה ערכים עס ארגומנט ששמו 9%אם. והו משתנה בוליאני המציין אס קוב מסויס קייס בנתיב נתון. אס הקוב לא קייס, ברור מאליו שאין לו ערך קדימות. ()וזסוזקססץ ההוזק!|68 5 80 דסקץד 0 ד60 זסזזם הס 8 0 וס 5 זס356וס6ז הזוס 509 5 6ההבבסו!ק6ז ,8חוס5 ₪5 הסה חחוס חה00|6ם 5 55וא= וחוס .65 6!₪ זס+ ח200!68 558 ' סז = 15%א₪ חח ,65חחהח 63ו|ק6ז חב הסה ח0ו55ה ' שוזסוזק 30 26 פחהשחוזק זס+ 65זט660סזק [|68 ' 65| 581 11166 1106 1670501 1!65= ותהזפסיק:6" = הזה "ססר חוצוחשזס" = שוחה הסו!קסז 6800065 6ח1!] +6%ח 06 ,615% +סח 0065 ₪16 ץז ' 36 !60 8 8% = הס 66 ה 6600 350 סז 5% ,6 6687 61350 ,36 ה6ו|6ז 6סץ ד63ו|קססחווס א ,הזכ ,6הב63ו!ק6ז עטוזסוקסחוזס "סרח ה הוששח+וס +0 60" = 6וחבּהסו|קסז 6 !60 8 הז = הסו66 60600 350 סז 5% ,6 6687 61350 ,6ח ה ה6ו!6ז 6סץ ד63ו|קססחוזס א ,הזכ ,6הבּה6ו!ק6ז עטוזסוססחוזס "סרח 2 הואותזסא" = שוחה ה6ו!קסז 6 !60 8 8% = הס 66 6/6600 350 סז 5% ,6 6687 61350 ,6הח ה ה6ו|6ז 6סץ דב63ו|קסשסחוזס א ,הזכ ,6הבּ63ו!ק6ז עסו קסחוזס 2 הח 2000 406655 "פ%ח6וחט06כ ץ)\:6" = תהק "00ח.00)" = 6החַ3ּ681%!|ק6ז 6 !60 8 8% = הס 66 6600 350 סז 5% ,6קץ 6687 6350 ,36 ה6ו|ס6ז 6סץ דב63ו|קסשסחווס א ,28% ,6הבּ63ו!ק6ז עשסוזסוזקסחוזס 65! 58 11166) 1106 1!65]1670501%= ותהזפסיק:6" = הזה "טס 6חוצור+זסצ 01 [הוזהק" = 6וחבּה6ו|ססז 6 !60 8 8% = הס 66 חח 6600 350 סז 5% ,6 6687 61350 ,6רח ה ה6ו|6ז 6סץ ד63ו|קסשסחווס א ,הזכ ,6הבּ63ו!ק6ז עטוזסוקסחווס "פ%ח6וחט06כ ץ)\:6" = תהק "100.00 01 והּווהק" = 6וחִ3ּה0!|קסז 36 !60 8 8% = הסו66 חח 6600 35% סז 5% ,6 6687 61350 ,6ח ה ה6ו!6ז 6סץ ד63ו|קסשסחווס א ,הזכ ,6הבּ63ו!ק6ז עטוזסוקסחווס "סרח קטא886" = שוחה הבסו!קסז 6 !60 8 הז = הסו66 חח 6600 350 סז 5% ,6 6687 61350 ,6ח ה ה6ו!6ז 6סץ ד63ו|קסשסחוזס א ,הלכ ,6הבּ63ו!ק6ז עטוזסוקסחווס "פ%ח6וחט06כ ץ)\:6" = תלהק "000ח.1002" = 6החִ3ּ1%ה0!|ק6ז 6 !60 8 הז = הס 66 ה ה 600ען6.. 350 סז 5% ,6 6687 61350 ,6רח 3 ה6ו!6ז 6סץ ד63ו|קסשסחוזס א ,הזכ ,הבא שווקס עטוזסוזקסחוזס :|אםסקץדך סטפ +ואם :קז קד = 0 2147467259- = זססוחטאא.זזם +1 = = (19 ,חס0ק6567.זזם )6 1 הסח ד "6ו1 ₪00 +סח 6018" 6 = 55%5וא₪ 056 56 הססק6567כ.זזם ,זספותטא. זחם זחוזק. פטטסס +|א קיד 6506 + 0חם סט 0ח= פרק 11: שכפול מסדי נתונים 493 ,0חו5 5 6החבּק6ז)6קץ ד68ו|ס6שחוזק פט5 (ח800!68 5( 15%א ,%60067ח1 45 זססוט)אסק טס הסח ד 5%וא +[ ..זס 600500005 הס8זסוהטח6 6ק ה6ו!ק6ז 66006 ד וטק 6856 561666 6 סק ד קז( 6856 ".080|6ו!6 0%ח 15 " .8 6הבּק6ז זחוזק. פטססס 65 קץ ד( 6856 ".ז185%0] 265177 3 15 " 8 6 בּ)ס6ז זחוזק. פטססס |טסקץ 60( 6856 ".68ו|ק₪6 || 3 15 ".8 6הבּס6ז זחוזק. פטססס |8וסזהקסקץ 60 ון 6856 ".68ו!ק6 |החזבק 3 15 ".8 6הבּק6ז זחוזק. פטססס ס6חם 6 0%ח 0065 6| הז זחוזק ' ".6151 0% 6065 " .8 6136 זחוזק. פטוססס + 0חם 50 06ח= (150אם ,חַחו50 5 ה8%כ ,8חו5 5 שובּא ב6ו|ססז)טוזסוזקזהוזס 5 ו ₪0 סא ₪5 6135067 הזוס 5% 656% 30 שזסוזס זחוזק ' חס ד 6ט ד = ₪016 + 0+ ה0 66 60 הף55 ' 666 8 הזה = הס66 ה 6600 ק 35% סז הסח ד 680!6ו|ק%6ססקץ דקש <> 6קץ ד68ו|ס6א. קוקז + .65| וס שוזסוזק +חו"ק ' "." 8 שוזסוזק. קז13506ק6ז 8 " 15 שחסוזס 165" זחוזק. פטטסס 6 .83 סח 0+ 1655806 זחוזק ' ".ץזוזסוזכן סח 85 6 ,6זסז6זסחדד" 6חוזק. פטס + 0חם 6 0% 0065 16 זס+ 1655806 זחוזק ' ".סוס סח 85 6 ,6זסז6וסחדד" זחוזק. פטפסס = +חוזק. טטסס סז = 5%!וא= 50 06ח= 66655 2000 8 השיגרה שטוזסוזקס6מץזחוזק!|63 משתמשת בלכידת שגיאות כדי לקבוע אס קובצ נתון קיים, וכדי להגיב כיאות אס מתברר שאינו קיים. כאשר היא מנסה להקצות את המאפיין ח6600חח6600עו60 של מופע עותק משוכפל לקובצ שאינו קיים, רכיב השכפול של 36% מחזיר את קוד זזש המקובל (2147467259-), בתוספת משפט תיאורי. מלכודת השגיאות משווה את המשפט עס קוד זזם של השכפול ב- 3%. אס הלוגיקה ללכידת שגיאות קובעת שהקובצ אכן אינו קיים, המלכודת מציבה ערך 8156 בארגומנט 85%ם, וממשיכה. שתי שגרות המשנה, 6סץ687ו!כ₪6לחוזס ו- שוזסוזק)חוזק, מפרשות את הערך 6 שהוצב ב- 15%א5 ומגיבות בהתאם. השיגרה שטוזסוזקסקץ חטחוזק||63 שולחת את ערך המאפיין 6סץ097ו|₪60 עבור עותק משוכפל כאשר היא מפעילה את השיגרה 6סץ ד68ו|₪60:חווס. השיגרה 6סץ דסו|ססזחוזס בודקת את הערך של 15%א₪ לפני שהיא מנסה לפענח את ערך המאפיין 06ץ681ו!0ק₪6. אס 5% מכיל ערך 8|56=, השיגרה רק תציג בחלון 160866 (מיידי) הודעה על כך שהקובצ אינו קיים. אס 58% מכיל 6טזך, משפט 56!606856 יפענת את המאפייןו 6 ד ו. הערה: השיגרה 6סץד9סו|קס4שחוזס מייצגת ערכי 6כץ681ו!ק9 בעזרת שמות הקבוע והטח6קץ ד68ו!ק₪6 ב- 50נ. תוכל לעיין בשמות אלה בעזרת ז6פששסו8 166%[ט0 (סורק האובייקטים). הקלד 06ץ681ו|₪60 בתיבה %א6? 8ה6ז568, ולחץ על הלחצן ת56876. מהקבוצה המוחזרת, בחר את המחלקה חטחםשסקץ087ו!ק₪6 עבור ספריית 350 (זהירות: בספריית 0גכ קיימת מחלקת והטחס6סץ ד68ו!₪60 שונה). בחירה זאת תגרום להצגת רשימת שמות הקבוע וערכי 06ץ681ו|₪60 שלהם. עיצוב השיגרה שוסוזק)חוזק שונה במקצת מזה של השיגרה 6ץדהסו|ק6מ+חוזק. השיגרה שוזסוזק)הוזק יוצרת בתוך עצמה מופע של עותק משוכפל. לאחר מכן היא ממצה ערך מאפיין עבור העותק המשוכפל. נוסף לבדיקת הערך המוצב במשתנה 85ואם5, היא בודקת גס את המאפיין 6 | במופע העותק המשוכפל. אס מתברר שהעותק אינו ניתן לשכפול (לפי הערך המוחזר 68016ו%₪601ס6כץ דק6חזן), השיגרה מדפיסה הודעה שלפיה אין ערך קדימות עבור הקוב. אחרת, השיגרה מדפיסה את הערך המוחזר של המאפיין שוזסחק במופע העותק המשוכפל. בטרס תחזיר את השליטה לשיגרה שוזסוזקסקץ שחוזק!|68, השיגרה צצטוזסווקזחוזק מגדירה את הערך של 58% כ- שטזד כדי לעבד את העותק המשוכפל הבא. דחיסה והצפנה של עותקים משוכפלים ספריית 380 תומכת ביותר מעותק משוכפל אחד. לדוגמה, ניתן לדחוס ולהצפין קבצים, וכן ניתן לרענן את מטמון הזיכרון. שתי השגרות הבאות יוצרות גיבוי של עותק משוכפל על ידי דחיסתו והצפנת העותק הדחוס. גישה ואת מתאימה במיוחד פרק 11: שכפול מסדי נתונים | 495 כאשר שולתחים באינטרנט קוב המכיל מידע רגיש. הדוגמה דוחסת את הקוב ססוח. 6הושה+זסא אל תוך 62.700חואוחזזסא. אס רצונך בכך, תוכל לציין נתיבים שוניס עבור 6חושצשח+זס\ ו- 62חוששחצוסו. ()369ק 68!!60 ס5 ,"סרח 62חואותזסצז" , "ס סח הוצות+זסצז" 86 60 165 58 17106)011166 670506ו1!65]1= ותהזפסזק:6" סט5 0חם ,50 5 636 ,56700 5 6החהס) קוח 60 פט5 (0חוז50 5 חה8%ק6 |החסטק0 ,פַחו50 5 חזהקס 6חו0ח26. 50 צוסא ₪5 6[ חזוס 500 5 50700% ,0חוזז5 5 ח501 חזוס 7 הומכ |החסוטקס 15 ' חסחד "" = ח608% +1 חזהקס = ה608% + 0חם ס6וחהּס 8 חזהקס = ח501 66 8 628% = 5000% 5 6|ו6ז06!6 | 00880856 16.00 8 ;4.0 4.6.0 67050]= ז06ועס:ק" = ,ח51 8 "=06זט50 38" 8 ;0.4.0 = ז06ועס:ק" 8 ";" 8 5000% 8 "=06זט50 זכ" "6טז 28%80856=7 %קץ67ח= :₪8 01 366" סט 0ח= 6 החש 2000 466655 12 בניית פתרונות עם =0פ!ו ופרוייקטי 00655 0 600055 11670500%] מציג שני חידושים בעבודה עס מסדי נתונים של 501 670506 ז5. החידוש הראשון הוא 505 (פחופַחם אַזהכ 50%סזסווא), מנגנון הנתוניס של 0% 505 מאפשר אחסון של נתוניס מקומייס בתבנית מסדי נתוניסם של ]5 501. בדומה למסדי נתוניס של ז6אז56 .501, מסדי נתוניס של =ספ!א יכוליס לשמש כמערכות עורפיות בפתרונות העוסקים בקבצים מסוג 800.*. הפיתוח עם =0פ!וו יקל עליך את המעבר מפתרונות המשרתיס צרכיס מקומיים, מחלקתיים, לפתרונות מורחביס המשרתים את צורכיהם של ארגוניס שלמיס ובהם אלפי משתמשים. החידוש השני הוא קבציס מסוג כַח4.* (אותיות הסיומת 800 מייצגות את המיליס 286%₪ 100655). ב- 1607050% מכניס יישומים שפותחו בעזרת קבצי 8400.* פרויקטים של 4660655. בפרויקטים של 260655 נעשה שימוש בטפסים, דוחות, מודוליס ואפילו פקודות מאקרו, כמקובל, אולס עס מסד נתוניסם של 56/6 .501 במקוס מסד נתונים 60. קובצ מסד הנתוניס מהסוג החדש אינו מכיל טבלאות או שאילתות של 11670506 860655, אולס הוא מאפשר גישה אל טבלאות, תצוגות ושגרות מאוחסנות של זפצז 56‏ 501. בפרק זה תלמד כיצד להתקין את מנגנון הנתוניס של 670504 ולנהל אותו, וכיצד לפתח יישומים מותאמיס אישית בעזרת פרויקטים של 866655. כמו כן תלמד כיצד לעבוד עס טבלאות, תצוגות, שגרות מאוחסנות, דוחות וטפסים. דוגמאות הקוד יבהירו כיצד ליצור אוטומציה של היישומיס בפרויקטים של 866655 בעזרת ססג (00[1600 28% 6%ע60) ו- הפ/ 50%סזסו₪ (הפרקיסם 3 ו-4 עוסקיס בנתיבי ₪8 015 לתבניות נוספות של מסדי נתוניס מרוחקיס פרט ל- ז5678 .501). פרק 12: בניית פתרונות עם 1505 ופרויקטי 66655 | 497 מנגנון הנתונים של +)ספסוסוו/ז (=50ו/) תוכל לנצל את מנגנון הנתוניס של 1160508 לבניית פתרונות על גבי מחשביסם אישייס בעלי מעבד יחיד, המופעלים במערכות הפעלה א9 פסטחו/ 670506 או ספססוו דא פאוססחו/. פתרונות המופעליס על גבי 1505 מתאימיס לקבוצות עבודה קטנות, אולס ניתן בנקל להעביר פתרונות 505 גס ל- 7 ז567/6 .501 אספסזסוא, ובאופן זה להרחיבס לאשכולות מרובי-מעבדיס המופעליס במערכות ההפעלה המתקדמות ביותר של פשספחו/. מערכות מתקדמות אלה כוללות את 56 םוסח ז567/6 דא פטוספחוש חסטו0ם, ומערכות הפעלה מתקדמות יותר מסדרת 2000 פצוסטחו/ץ. פתרונות 505 תואמיס לחלוטין את אלה שפותחו עבור 7 ז6ז56 .501. תוכל ליצור דגס אב של פתרון בעזרת 505!! וקבצי מְ0ַ.* במחשב המקומי, ולאחר מכן להעביר את הטבלאות, התצוגות והשגרות המאוחסנות של מסד הנתוניס ל- ז8/ז56 .501 לצורך בדיקה, ליטוש ופרסום. ניתן להפיצ בין הבוחניס והמשתמשיס את קבצי 300.* ולשנות את קישור הנתוניס שלהסם כך שיצביע אל מסד הנתוניס של ז8/ז56 .501 במקוס אל מערכת האב המבוססת על 505. יישומיס מסוג זה מתאימים לצרכיו של ארגון, ולא רק לצרכים מחלקתיים. =50ו לעומת 36% בעיקרס, פתרונות 866655 המבוססים על 366 קליס יותר לניהול, מידת התאימות שלהם עס פתרונות שנבנו בעזרת גרסאות קודמות של 406055 גדולה יותר, והם גוזליס פחות משאבים. בניית פתרונות 866655 המבוססים על 1505 מחייבת בקיאות מסוימת בסוגי הנתוניס החדשים, בכללים השוניס לפיתוח שאילתות, ובטכניקות של ניהול מסדי נתוניס. לעומת ואת 505 מציע אפשרויות שחזור נתוניס מעולות, רישוס טרנזקציות מוכלל, אבטחת זא פאוססחו/ משולבת ופוטנציאל לקיבולת מסד נתוניס אדירה (בעת המרה ל- 7 ז6שז56 .501). תוכל לנצל את ממשק המשתמש של 66655 לבניית טפסים ודוחות עבור פתרונות המבוססיס על כל אחד משני המנגנוניס הללו. בשל העיצוב במתכונת שרת-לקוח הטבוע בפתרונות 05פ, יהיה עליך לציית למספר כללים בהפעלת 1505 והממשק למשתמש. תוכל לתכנת פתרונות לשני מנגנוני מסדי הנתוניס גס בעזרת 84 ו- ססה. הן 505 והן 36 תומכים בשלמות קשרים מוצהרת, דבר שמאפשר הצהרה על יחסיס בין טבלאות באמצעים גרפייסם. עס זאת, בעוד ש-360 תומך בעדכוניס ומחיקות בהתאסם להיררכית קשרים, ברמת המנגנון, עס 1505 חובה לממש תכונות אלה ב- 501 באמצעות גורמיס (59ז996ו₪) טבועיס בקוד. ניתן ליצור תבנית גורס לטבלה בלתחיצת עכבר ימנית על הטבלה הרצויה בחלון מסד נתונים (80856ז8כ), ובחירה באפשרות גורמים (5ז96פוזד). לאחר מכן יש ללחוץ על חדש (ששפא) כדי לפתוח את התבנית. ב- 6ז|ח 80065 ז6/ז56 .501 תמצא כללי תחביר, דוגמאות ורקע כללי על פיתוח גורמיס). 8 הח 2000 406655 אס דרוש לך רק שחזור מלא מתוך קובצ גיבוי, בחר כלים (0!5ס1), עזרי מסד נתונים (0665507165// 08%80856), שחזור (₪6560706) בפרויקט 66655/. פעולה ואת דומה לשמירת עותקי גיבוי של קבצי מסד נתוניס ב- 36 ושחזור הקבציס מתוך העותקים. רק 505!ו תומך בשחזור עד לנקודת זמן נתונה מתוך קוב> יומן. עליך לתכנת שחזור מסוג וה בעזרת ‏ 1780586-501, שיש לו תמיכה בעזרה המקוונת של 2000 860655. העזרה המקוונת כוללת דוגמאות +56710 ותחביר לשחזור נתוניס בטבלה עד לנקודת זמן נתונה מתוך קובצ היומן של הטבלה. הערה: אם בנסיבות מסוימות מוטל עליך לנהל אוסף של משימות המחייבות שימוש ב- 85868-501זד, רצוי להשיג עותק מלא של 7 ז6צז56 .501 (במקום חבילת 5 החופשית המכילה בעיקרה קוד זהה של מנגנון מסד נתונים). ז6/ז56 .501 זי 86וזכןזספח= מכיל אוסף גדול של אשפים וכן ממשק גרפי למשתמש, המבטל את הצורך בקוד של 596-501ח8זד לביצוע משימות כמו גיבוי ושחזור. קבצי מסד נתוניס ב- 3% הס ככלל קטנים מקבציס שווי-ערך המבוססים על =ספוו. גודלו של קוב טסוח.6חושוחזוסא עומד על כ- 2%8. היקף זה כולל את כל טבלאות מסד הנתוניס, שאר האובייקטיס של מסד הנתונים, והקוד. גירסת טחושוחצוסא המבוססת על 505 כוללת קובא מסד נתונים (0וח.*) וקוב של פרויקט 60655( (כ80.*). גודלס של קבציס אלה עומד על כ- 3.7%8. פתרונות 1505 מנהלים באופן אוטומטי קבצי יומן המסייעים במקרי שחזור. עס זאת, על מסדי נתונים ב- 3% להעביר את מסדי הנתוניס שלהס ברחבי הרשת כשמדובר בפתרונות מרובי-משתמשים. לעומת ואת פתרונות המבוססים על 1505 מבצעים את כל עיבודי מסד הנותניס בשרת, ומעביריס רק את הקבוצות המוחזרות ברחבי הרשת. דבר זה עשוי להפחית את נפח התעבורה ברשת, ולהאיצ את מהירות הביצוע. הן ‏ 38% והן 1505 מאפשרים מסדי נתוניס בנפת של עד 268, אולס פתרונות 505 ניתניס להמרה בנקל למערכות 7 56/6 501 ויכולים לתמוך במסדי נתוניס בנפח העולה על 1 מיליון טרה-בית (טייב). רמת הביצועיס של 7 ז%6ז58 501 עולה ככל שעולה מספר המעבדיס במחשביס שבהס הוא מופעל, אולס רמת הביצועים של 36% אינה משתנה באופן משמעותי בעקבות תוספת של מעבדים. הערה: בדומה ל- 7 ]56 501 הוותיק יותר, 1505 מיועד לעבודה עם קבוצות עבודה קטנות. ו- 155 נועדו, כל אחד, למטרות משלו. 505 הוא הכלי האידיאלי עבורך אס בכוונתך להשתמש ב- ז6/ז56 .501 בגרסאות עתידיות של היישוס. כאשר 505 פועל במערכות דא פאוססחו/), הוא מעניק אבטחה משולבת של מערכת ההפעלה ומסד הנתוניס, דבר העשוי להפתחית את העומס בתחוסם ניהול האבטחה. כמו כן 505 פרק 12: בניית פתרונות עם 1505 ופרויקטי 66655 - 499 מאפשר שחזור לנקודת ומן נתונה. לעומתו, 2360 מתאיס יותר ליישומים שאינם יישומי משימה קריטיים, אשר השיקול המכריע בהס הוא פשטות הפיתוח. פתרונות 236% גוזליס פחות מקוס ובמקרים מסוימים הס עדיפים, אם אתה כפוף למגבלות של ויכרון או מקוס פנוי בדיסק. הואיל ומנגנון 26 המשווק עס 2000 66655 עודכן במידה שולית בלבד, רמת התאימות הגבוהה ביותר שלו היא מול 97 860655 וגרסאות קודמות. התקנה והגדרת התצורה של =50!ן/ 505 הוא מנגנוןו מסד נתוניס אופציונלי למפתחי ומשתמשי 866655. תוכל להתקין אותו על ידי הפעלת הקוב 6א56000501..6 מתוך תקליטורי 2000 06066. אין צורך בהכנות מיוחדות לפני התקנת 1505 במערכות הפעלה א9 פווססחו/ו. לעומת זאת, על משתמשלי 4 דא פאוססחו/ לבצע שתי פעולות כהכנה להתקנת 505. תחילה עליהס להתקין את 3 7866 66ו//56, ולאחר מכן להפעיל את הקובף 66א6.אושסח מתוך תקליטורי 2000 06066. ב- 4 דא פשססחו/ עס 4 786% 567/66 אין צורך בפעולות מכינות לקראת התקנה. לאחר שהתקנת את 05פ!א, עליך להפעיל את המנגנוו בטרס תוכל להשתמש בו. במחשבים עס מערכות הפעלה א9 פאוססחו/, בצע את הפעולות הבאות: 1. בתפריט התחלה 5070) בחר באפשרות תוכניות (פוחפזףסזק). 2. בחר באפשרות 8506 ולאחר מכן בפריט זסטַבח13/ 5617/166 (מנהל השירותים). 3. בתיבת הרשימה הנפתחת 1665עז56 (שירותים), בחר באפשרות ז6עז₪1550156, ולח על 6טח1זח60 /+5+91 (התחל/המשך). תוכל לבחור את תיבת הסימון 567166 0-5%97%ט2 אס אתה מעוניין בהפעלה אוטומטית של 05פא בכל אתחול של מערכת ההפעלה. אס לא בחרת באפשרות זאת, תיאלצ לחזור על הפעולות המתוארות לעיל כל פעס שתשתמש ב- 505!. משתמשלי ד פאוספחו/ יכוליסם להפעיל את שספוא כמו כל שירות אחר של דא פאוספחוצ. בלוח הבקרה, לח לחיצה כפולה על הסמל 065וש567, ולאחר מכן בחר באפשרות 65 1505. לחצ על +5%37 בתיבת הדו-שיח 56/1065 כדי להפעיל את השירות. כעת לח על 5587540 ובחר אחת מהאפשרויות בפריט 6קץד 502ז5%3 (סוהּוחססט, [הטחבּוא, או 60וטב3ּפופ). לאחר ההתקנה וההפעלה, יופיע בשורת המשימות של פצוססחו/ סמל המייצג את מנהל השירותיסם ב- ז566 .501. השתמש בסמל זה כדי להפעיל, להשהות או לעצור את =ספוז. השתמש בו גם לפתיחת זסַטַבּח3!/ 561/166 כדי שתוכל לבצע פונקציות דומות עבור זסזחוסס) ה58600חהזד 60סטפו50וכ 0ס5סזסו וסוכן ז 5617/6‏ 501 ספסזסוו. 0 הח 2000 406655 מקובל לדרוש מהמשתמש להזין זיהוי וסיסמה בטרס יורשה לפתוח קוב עבור מסד נתוניס שרת-לקות. 1505 מאפשר לך לנהל את אבטחת הכניסה בעזרת חשבונות פרטיים וקבוצתיים עבור מסדי נתונים מוגדריס, או בעזרת אבטחת תפָטסזח)-0855 משולבת הלקוחה ממערכת דא פשספחו/צ. ערכי ברירת המחדל של 05פ!] הס 58 כזיהוי משתמש, ותו ריק כסיסמה. כדי ליצור חשבונות אבטחה לגישה אל מסדי נתוניס נפרדים, בחר כלים (!100), אבטחה (5000), אבטחת מסד נתונים (פהּסּזהכ שוזטס56). משתמשל א9 פווספחו/ יכוליס להשתמש בחשבונות אבטחה של שספוז רק למסדי נתונים נפרדים. התפקידים של מסדי נתונים ב- 505 דומים לתפקידי הקבוצות ב- 806655. מסד נתוניס יחיד יכול להשתייך לשני תפקידים שונים, או יותר, והוא יורש את רמת האבטחה הנמוכה ביותר מאלה החלות בתפקידים השוניס שאליהם הוא משתייך. כאשר מפעילים את 1505 מתוך א9 פוסנחושצ, הוא תומך בפרוטוקול קז/קסד ו ב- |06060זק-טוטי], אך לא ב- 1065 60וחגּא. עס זאת, רוב הלקוחות מנסיס להתחבר לשרת 505 באמצעות 65כ1 6ַסוח8ּ4! כברירת מחדל. אם אתה מעוניין שמחשב-לקותח ייצור כינוי עבור שרת 505 המתחבר באמצעות ק1/ק6ד או באמצעות |%060סזם-שוטו, בחר בפקודה שו81 אוסצט6א זח6ווס מתוך תפריט המשנה 8566, לאחר לחיצה על התחל. פרויקט' 466655 בעורת פרויקטים של 466055 עס 505 או עס 568 501, תוכל לפתח יישומי שרת-לקוח באותה קלות שאתה מפתח יישומי שרת קבצים. הממשק של פרויקטי 5 חושף תשעה סוגים בסיסיים של אובייקטי יישומים. טבלאות, תצוגות, שגרות מאוחסנות ודיאגרמות של מסדי נתוניס מיועדים לקטלוג של מסד נתוניס 1505 או 5 501; אלה נשמרים בקוב> מסד הנתונים. טפסים, דוחות, דפי גישה לנתוניס (לפיתוח תכני סס6)), פקודות מאקרו ומודוליס נשמריס בקוב כַ0ַ4.*. פרויקט 460655 מבצע תיאוס עס מסד הנתוניס שרת-לקוח באמצעות חיבור 08 015. קובצ מסד הנתוניס שהוא בדרך כלל קוב מסוג 06ח.*, וקובצ 800.* - הס שני החלקים המרכיבים את פתרון השרת-לקוח. חיבור פרויקט 466655 עם מסד נתונים תוכל לחבר קובצ כְַ30.* עס מסד נתוניס מאחד הסוגיס הבאיס: > קובץ מסד נתוניס 7 567/68 501 במערכת א9 פטוססחו) או דא פוספחוצ (עס 4 286% 5670106 ומעלה). > קובא 505 במערכת א9 פוססחו/ או דא פאוססחוצ. > 6.5 ז50/6 .501 במערכת דא 5אוססחו/ (5 286% 66וצז56 ומעלה). פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 501 כדי לפקתח על התיבור עס מסד הנתוניס שרת-לקות, או כדי לאפס אותו, בחר באפשרות התקשרות (ח66000חחס60) מתוך התפריט קובץ 6ו=). בתיבת הדו-שית 5 = ח1] 8% (המוצגת בתרשיס 12.1, להלן), בחר בשרת של מסד נתוניס, סוג אבטחה ושס מסד הנתוניס. בדרך כלל, שס השרת של מסד הנתוניס הוא שס המחשב שבו מופעל השרת. | < | ווספםסז] אחו ! 0313 ₪5 [ 81 | 34030066 | חסוספחחסכו :3 זס/ז56 .5001 0! וספהחסס 0? סחואוסווט] 6 עזוססס 5 :3 501/61 3 זסוחם זם 58|601 .1 | הזוס | * 5 6 סו חס ַס! סז הפוובזסזחו זפזח= .2 560 360זטטוח| 4 פטוסהחוע 56 7+ 355 30 שוחב ז56גו סו/וססק5 3 56! + 8 :בה 56 בס ופפ 5ב החו5 אוס!]ה ש] | בזסש355ם אחבום שן זז סח חס 3630386 6! 5601 > 3 | - התוהז 4] | :בח 03130356 3 35 6] 03130896 3 מסב)ה ‏ 7+ 5 חוואות!זס 1 [שוחםחסון ו טופ וו | פופה חס 85% | סופת | |08ח3 תרשים 12.1: תיבת הדו-שיח %165זסקסיוק אחז] באה (מאפייני קישור הנתונים) התרשיס מציג חיבור אל מסד נתוניס 505 הפועל במחשב ששמו 68%11. שוס פרט בתיבת הדו-שיח אינו מציין במפורש שמדובר במסד נתוניס 505א, ולא במסד נתוניס זז 501. הואיל והמחשב 648%11 מבוסס על מערכת ההפעלה א9 פוסטחו\, אין באפשרותו להפעיל אבטחה משולבת של זא פאססחו/. | תיבת הדו-שית 65 1% ₪8%8 משתמשת בערכי ברירת המחדל של נתוני הקישוריות הייחודייס למשתמש. לאחר שהוקס הקשר עס שרת מסד הנתונים, תיבת הרשימה הנפתחת מציגה את כל מסדי הנתוניסם שנמצאיס בשרת. אחרי שתבחר בפריטיס 2 הח 2000 466655 הרצויים, קוב 800.* יאכלס באובייקטיס את הטבלאות שלו ואת התצוגות, השגרות המאוחסנות ואוספי התרשימים של מסדי הנתונים. הגדרות אלה נשארות בתוקפן בין מופעים שוניס של פרויקט 66055 נתון. לימוד ממסדי הנתונים 65שחושטח+וסא ו- פטס 0 46060585 משווק הן עס שרת הקבצים והן עס גרסת שרת-לקוח של יישוס ההדגמה בחושחזזסא. גירסת השרת-לקוח מוגדרת כפרויקט 866055. מסד הנתוניס פסטם אינו משווק עס 2000 860655, אולס מזה ומן רב הוא נחשב למסד הדוגמה הסטנדרטי של 501. אס אתה מפעיל פרויקטיס של 406655 עס מנהל מסד נתונים זפצז56 .501, איו כמעט ספק שדוגמה זאת תעמוד לרשותך. תוכל לפתוח אותה בתוך פרויקט 5. דוגמאות סכ ודוגמאות מסדי נתוניס רבות אחרות בקבצי העזרה המקוונת של 2000 866655 מכילות הפניות למסד נתונים זה. לכן, תוכל להרחיב את היכרותך עס התכונות החדשות של מסדי נתונים ב- 2000 866655 באמצעות ההיכרות עם מסד הנתונים פ5טטס. שימוש בפרויקט ובמסד הנתונים של 65שחושח+וסא הקוב 665.800חווח+זסא מועתק אל המחשב שלך בעת ההתקנה של 580065 66655 (מסדי נתוניס לדוגמה של 5). צהו פרויקט 5 בעל רכיביס תפקודייס דומיס ונתוניס זהיס לאלו שבקובצ 00ח.6חואוחזזס הקלאסי. 2000 66655 מעמיד לרשותך את שני הקבצים. כדי להשתמש ב-65סחוווחצוסא, עליך להתקין תחילה את 505 במחשב, או ליצור חיבור עס מנהל מסד נתוניס 7 ז6/ז 56‏ 501, מכיון שקבצי מסד הנתוניס של סחושח+וסא משווקיס עס שני מוצריס אלה. כאשר תפעיל את 665.800חואוח)זסא לראשונה, קטע 560% מתאים יברר אס 505 מותקן במחשב שלך. אס כן, תתבקש להורות ל-56770 אס ברצונך לטעון את מסד הנתוניס ולחבר אליו את פרויקט 65חוצוחזוסא. אס לא, תוכל להצמיד את פרויקט 5 אתוסא אל מסד הנתוניס של טחואוחזוסא במנהל מסד נתוניס ז8/ז56 .501. פרויקט 465חואוחזזסא! מוסיף פריט 16 שסח5 (הראה לי) מיוחד בשורת התפריטיס. אס תבחר בפריט זּה, תוצג לפניך תיבת דו-שיח (הנראית בתרשים 12.2), המעמידה לרשותך את ההדגמה של פרויקט 8066655. במסגרת ההדגמה יוסברו התכונות המיוחדות של פרויקט 8460655 וסוגי הנתוניס השוניס ב- ז6אז56 .501. על אף קיוס התאמה מסוימת בין סוגי הנתוניס ב-36 וב- 56746 501, יש ביניהס גס הבדליס משמעותיים. לדוגמה, סוג הנתוניס קוח3ּזפ6וחוד הוא ייחודי ל- זפז56 .501. כמו כן, ב- ז567/8 .501 ניתן לייצג ערכי צסחסייוטס (מטבע) וערכי ש6וחוד/ 36 (תאריך/שעה) באופן שונה מאשר ב-36. נוסף לכך, ב- ז56%60 .501 קיימים במפורש סוגי נתוניס 6 וכאלה שאינס ב- 06סס6וחש. פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 - 503 |< וםן| = 40050 ב 6 אוסת5 כס4] אוסטחוצצ 1005 6זספתך אושוע. 0 5 | 3 ₪ ג 4 3 ₪9 שו כ | 5 | % | אפ 0 קספ סחועצח+וס! 01 עצסושסשכ) 8 בסו זב עס 58/65 | |5 סחואשח+וס4! פַחוזסוסאם ובו )וספת 53165 = ₪ 8 1 8 חואו ח10] ח]זואי 186חו3 30 פהחסספם 10 עפ 0881 טח זז |5 החופט 2 800765 18111898 , פוחזסז הז חו 0818 ₪01 טחה זפזהם ו ופט | חפה ך .15סקפז 108 זחוזם 3 , פפזטוספססזק 80זס51 ח3 פאופוו 18 זו | 118 זטסץ3| זס פזטזסטז51 108 81 אסס| 10 אופוי חו85 סז תפזושופ = , החזס? 108 868 1081 15חפוס מח3 85וה8קסזכ 108 תה ,01פ[טס שש -אזסשו 801[פ0 01087 זם , הסספז סקס בו הטוס 835856 2 18 091885 , הווח 1וס4! זט הה519ץ5 6|0ר] 8ח1 , ₪ עוסתם 5 5 3 8015[ 03182858 188 01 חח 01 19310185 הַחו891ז)חו סך .אזסצו 8015[פס 108 אוסת ]טס טח 10 אסס| 10 פזפחצר טסץ פאוסתפ בו הפרח 108 חס הסזונוט ₪8 צצסת5 6ח1 >סוןס , סופרן המואוההס] אופר 8 פת1 אסו[ס , ק|18] 400855 ס0פסזסוו ופ סד וו חפ 161 108 חס ₪161 266655 א 50סזס:₪ >סווש זס ,55191801 5 ב יר ?7 0+ )חה/ש נוסץ 60 )החעצ 880 3001 58 58 510784 300 פעופוע 80001 886 זט ]3000 888 ספ 3001 888 58 3008855 0318 ||518ח! 880 30001 0318 300855 58 תרשים 12.2: תיבת הדו-שיח 16 עשסח5 בפרויקט 65סחואוחצזסו הבדל עקרוני נוסף בין פרויקטיס של 460655 וקבצי 00ח.* מקובלים טמון בשימוש בתצוגות, בשגרות מאוחסנות ובשאילתות. תיבת הדו-שיח 16 שסח5 מסבירה כיצד התצוגות והשגרות המאוחסנות מחליפות את השאילתות ביישומיס מותאמים אישית. זכור, שבעזרת קבצי 00ח.*, תצוגות ושגרות מאוחסנות הופכים לזמינים מול מנגנון מסד הנתוניס -236%, אולס יש הבדל בין כללי התחביר החליסם על תצוגות ב-36% לעומת 5 501. לדוגמה, קבצי פסוח.* מאפשרים מיון רשומות בתצוגה באמצעות מונח ה- יץצם משסחסי. המשפט צ8 הפסחס ב- 501 עבור תצוגה אסור הן ב- ז8/ז 56‏ 501 והן ב- 505!. במנהלי מסדי נתונים אלה מסוג שרת-לקות, משפט 8 מפסחס שמור לשגרות מאוחסנות בלבד. אס תיבת הדו-שיח 86 שסח5 אינה עונה על צרכיך באופן מלא, נסה להיעור בעזרה המקוונת של 406055. פתח את העזרה המקוונת וחפש עזרה בנושא ייעבודה עס פרויקט 5 %)11670501]!'. תמצא עזרה מקוונת נוספת בנושא פרויקטיס של 460655 אס תפתח טבלה של פרויקט 206655 בתצוגת עיצוב (ח0ו65כ) ותלחצ על 1=. סגור את חלון העזרה של 606655( 1167050 לפני הלחיצה על 1= כדי להיכנס לחלק אחר של מערכת העזרה. בתחוס וה של העזרה המקוונת תמצא גס פרטים אודות .5860-501ח8זד והודעות שגיאה ב- ז6וז56 .501. לבסוף, תוכל להסתייע גס ב- 6חו|חס 80065 זסז56 .501 (כדי להיעזר במשאב זה דרוש לך מחשב שמותקנת בו הגירסה המלאה של 7 ז68/ז56 501). 4 הח 2000 466655 שימוש במסד הנתונים 05ט? עם פרויקטים של 466655 אס עבדת בעבר עס 00860176%, או שפיתחת פתרון מותאם למסד נתוניס מרוחק בעזרת 2606655, קרוב לוודאי כבר פגשת במסד הנתוניס 5פטק. תוכל להסתמך על היכרות ואת ולהרחיבה בעבודה עס פרויקטיס של 4/06655. וכור שדרוש לך עותק של 5 501 כדי לעבוד עס מסד הנתוניס 5פטק. תוכל להפעיל את מסד הנתוניס עס פרויקט 00655 ב- 7 ז6/ז56 .501 או ב- 6.5 ]56/6 .501. כדי לעבוד עס מסד הנתונים 5פט6 מתוך פרויקט 460655 דרוש לך קובץ 800.* שיצביע אל פ5פטק. אס לא עומד לרשותך קובצ סַ840.* מנותק, תוכל ליצור קובצ כזה על ידי יצירת פרויקט 860655 חדש ולאחר מכן שחרור מסד הנתוניס שלו. בשלב הבא עליך לפתוח את תיבת הדו-שיח 65ושו6קסיוק %ח1] הזה ולכוון את פרויקט 866655 המנותק כך שיצביע אל מסד הנתוניס פפטס. כדי ליצור קוב ק80.* חדש, הפעל את 460655 וצור מסד נתוניס חדש. לשס כך בחר בלחצן האפשרות אשפי מסד נתונים, דפי ופרויקטים של 266655 (28%80856 06655 65 שוחה 2806 ,0ז28ו/). פעולה ואת תפתח את תיבת הדו-שיח חדש (ש6א) (לחילופין, תוכל ללחו על הפריט חדש בסרגל הכליס מסד נתונים). בחר בכרטיסיה כלל* (|8ז6ח06), ולאחר מכן לחצ לחיצה כפולה על הפריט פרויקט (מסד נתונים חדש) ((28+820850 ש6א) 66[סזק). בתיבת הטקסט שם הקוב חגא 6=) הקלד שם עבור קובץ 0ק80.* החדש. לחיצה על צור (070806) מפעילה את אשף מסד נתונים 501%סזסו1 6 חזסע56 .501 (המוצג בתרשיס 12.3). האשף מכיל את שס השרת המקומי (ע1א68 בדוגמה שלנו), וכן הצעה של שס למסד הנתוניס, המבוססת על שס הקוב שהקלדת. עליך להזין את נתוני חשבון המשתמש (זיהוי משתמש וסיסמה - 58 כזיהוי ותו ריק כסיסמה בדרך כלל מספיקים). כעת לח על הבא (א6א) ולאחר מכן על סיום (חפוחו=) כדי להשליס את התהליך. מרגע שפרויקט 60655 ומין, נתק אותו ממקור הנתוניס שלו על ידי שתרור מסד הנתונים: בחר כלים (100), עזרי מסד נתוניס(6065507165/ 6פהַּהִזה), שחרור מסד נתונים של 501 (ספהּפ88ּזה0-.501-ססזס). לבסוף, פתח את תיבת הדו-שיח 65וסקסזק אחז] 318 של פרויקט 06655 המנותק. הזן את הנתוניס שיכוונו את קובצ הפרויקט אל מסד הנתוניס 5טטק ב- ז6/ז56 .501. הערה: אם כל שדרוש לך הוא קובץ כַחַ3ּ.* מנותק (כדי לכוון אותו אל מסד נתונים 5 או מסד נתונים אחר כלשהו), תוכל לקצר את התהליך. הקש על המקש 6 כאשר מופיע מסך הפתיחה של אשף מסד נתונים זסעז56 .501 1%ס5סזסווא 6. לאחר מכן פתח את תיבת הדו-שיח 165ז6קסזק א%חז] בהזה של קובץ כק0ג.* המנותק שייווצר, וכוון אותו כך שיצביע אל מסד הנתונים הרצוי. פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 = 505 ו 7 פור זס] 156 ספ 66|| ופי ב|טוסשאו 5 501 זבחעצ 1 וב 30 חב 0 בזס355ק חב 10 חוסַס| חש 5066 6356ום 56 5וחל חס 65הָפוויוזק 855 דכ = דה 0 תסו = :0 וטס 1 7 ז86/יזס5 .5001 אוסח זוסץץ סחחבח 50 >חבעט טסץ סה זבחעעצ 501506 =חחסזתפסנוקן | הוחו > | | 03006 תרשים 12.3: מסך הפתיחה של אשף מסד נתונים זסעצז 56‏ 501 1605006 6 ב ופ ופטח ופד אופוע ₪46 ₪6 | ₪ | -8 םי | = | ₪ ₪ ₪ | ₪ 5 5 | ₪ | - | 56 ואסב )סז ]5 טטו] מו 1 רק ב | 6 | אא[ פס | ת₪ ! 0ח95 חו 6זטסססזק 550180 76866 עשוה עסזעם 2 פוסור 0-7 |< וםן. | זז 66ז0ו5 - עווהעסזעם 35 5 2 %חו פהַלהטסזט) הסיט שמוסם0כמם זו ג 53 | | 5 בי - זר 63 החוס 4 גה 56%| 55 הסט = זטכןף|3 עס רפוו בוטר טפס בי % 6זט6ססז?] 510160 : עווהעסועפעו 5 זחו פהַבּזהט סוטמ /ף!הּעסזעטע םמסםסחס ופוג || שש | 5גן ובר גוב. 5'זסרוב , הבח גובּ. פ'וסרטגוה , זפכןסובּעְסז ד0= וסכן פחוסכן. "רשוה אזסל לשוין פ'וסרטווב הזכ-ן בו גובּ. זסרט ובס = ב גב 5זסרטגובּ כ זסונוהסוד הבז הט = זסקפ!3 עסו זסרטג ופוט =מורו/ון תרשים 12.4: השגרות המאוחסנות במסד הנתונים פפווק 6 הא 2000 06055 לאחר שיצרת פרויקט 460655 המקושר אל מסד הנתוניס 5טטפ, תוכל לשאוב ממנו דוגמאות מעניינות של הטכנולוגיה ז567/9 501 שיאפשרו לך ללטש את הכליס שלך. תרשים 12.4 מציג את ארבע השגרות המאוחסנות ב-5טטק כאשר השיגרה שוץסזץט פתוחה. דוגמה זאת מחזירה את זיהויי המחבר של כל מחבר בעל הסכם על אחוזי תמלוגים, אשר תואם את הקלט היחיד בתגובה לשאילתת הפרמטרים. השיגרה המאוחסנת עזוּנסזץפץו! היא הרחבה של השיגרה הראשונה, והיא מחזירה את שמו הפרטי, שס המשפחה ומספר הטלפון של המחבר. שחזור מסדי נתונים של ז6/ו 56‏ 501 ]5 501 הוא מסד נתוניס בעל עוצמה תעשייתית, אולס ניתן לפגוע במערכת באופן שגורס לאובדן היכולת לעבוד עס הנתוניס. לדוגמה, כשל במדיה עלול להשחית את העותק הראשי של מסד הנתוניס. כאשר הנזק חמור מאוד, ייתכן שלא תצליח כלל להפעיל את ז6ז56 .501. במקרה זה תיאלצ להסיר את ההתקנה של זפצז56 .501 או 05פוז. להסרת התקנה פגומה, בחר באפשרות 505א, 505 וו5%הוח₪ מתפריט התחלה 70ז0ז5) או מלוח הבקרה. פעולה זאת תסיר את כל מסדי הנתוניס של המערכת, כמו העותק הראשי של מסד הנתונים, אולס תשאיר על כנס מסדי נתונים של משתמשים, כמו למשל 65שחוצוחשזסו. כאשר תתחיל לעבוד עם 1505 או עס ז 567/6‏ 501, בוודאי תחזור שוב ושוב על התקנת מנהל מסד הנתוניס שרת-לקות כדי להעמיק את היכרותך עס התהליך. לאחר התקנה מחדש של זפעז50 .501 או =ספוז, העתק אליהס את העותק הראשי החדש מתוך עותק גיבוי עדכני של העותק הראשי של מסד הנתונים, או בנה מחדש את העותק הראשי כך שיכיר במסדי הנתוניס הקיימים. כל אחת משתי השיטות הללו תאפשר לך להתחבר עס מסדי הנתוניס הקיימים. רצוי בהחלט לשמור עותק שוטף של העותק הראשי של מסד הנתונים, הואיל ודבר וה עשוי לפשט את פעולת החיבור של התקנה חדשה של ז6/ז 56‏ 501 עס מסדי נתוניס קיימים. צור גיבוי לעותק הראשי של מסד הנתוניס לאחר יצירה או מחיקה של מסד נתוניס חדש של משתמש, או חשבונות כניסה למערכת. הוספת משתמש חדש למסד נתוניס אינה משנה את העותק הראשי, מכיון שנתוני אבטחה, כמו חשבונות משתמשים, נכנסים אל תוך קוב מסד הנתונים. שחזור העותק הראשי כרוך בשינוי השס של קבצי מסדי הנתונים הישנים של המשתמשים, ויצירת מסדי נתונים של מצייני מיקוס עס שמות מסדי הנתוניס הקודמים. עליך ליצור פרויקט 460655 עבור כל קוב מסד נתוניס שבכוונתך לשחזר. כאשר אתה יוצר פרויקט 860655 חדש, ערוך את השס בתיבות הדו-שיח שלו באשף מסדי הנתוניס 86 50 5021 050סווא, והקצה לו את שמו של אחד מקבצי מסד הנתוניס שאתה מבקש לכלול בעותק הראשי החדש. לאחר שבנית פרויקט 60655 חדש עבור כל אחד מקבצי מסדי הנתונים שאתה מבקש לשחזר, העתק את קבצי מסדי הנתוניס הישניס (אלה שאת שמס שינית) על גבי הקבצים החדשים שיצרת. פעולה זאת מעדכנת את העותק הראשי כך שיזהה את קבצי מסדי הנתוניס של המשתמשיסם מההתקנה הקודמת. כל קוב ישן מועתק אל שס שהעותק הראשי מכיר. פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 - 507 דיאגרמות וטבלאות של מסדי נתונים דיאגרמה של מסד נתוניסם היא אוסף של אובייקטי מסד נתוניס, בדומה לטבלאות, תצוגות ושגרות מאוחסנות. 2000 466655 שומר אותן יחד עס קובצ מסד הנתונים של 5 501 או 505וא, שלא כמו פרויקט 8460655. בעוד שדיאגרמה של מסד נתוניס נפרד עשויה לדמות לתצוגה המופיעה בחלון קשרי גומלין (105ח5ח6|300ח) של קוב 5ח.* קלאסי ב-60655, דיאגרמות של מסדי נתוניסם שרת-לקוח גמישות הרבה יותר, ומאפשרות שליטה הדוקה יותר בעיצוב מסד הנתונים. לדוגמה, תוכל ליזוס עיצוב של טבלאות חדשות מתוך חלון של דיאגרמת מסד נתונים. מיפוי קשרי גומלין באמצעות דיאגרמות של מסדי נתונים תרשים 12.5 מציג את דיאגרמת מסד הנתוניס של מסד הנתונים 065חושחזזסא. בדומה לחלון קשרי גומלין בקבצי 466655 רגילים למסדי נתוניס 366, הדיאגרמה מתארת את הטבלאות שבעיצוב מסד הנתוניס ואת קשרי הגומלין ביניהן. תוכל לבצע כיוונון עדין של קשרי הגומלין בין שתי טבלאות על ידי לחיצה על הקו המחבר ביניהן, ובחירה באפשרות מאפיינים (פ65וז6ססזק) מתפריט הקיצור. בתרשיס 12.5 מוצג קשר הגומלין בין הטבלאות 0006065זק ו-6816007165, כשהוא נבחר. [<1ם) -| [חבּזהָבּו3 : 5קוח5חסוו16]3] - 260655 ))ס5סזסוו ב] ₪ |₪]=. וס כ[ ויוסחושע וס חחבזטבום >זספת1 אוסו 38 ₪6 בש | | מ | | = == | = 0 ל | פם מ | א | ו 35 | 6 10ושחטבט= | 9 סזו0זס | 9 זוז 110ו6צסזק | 9 סזומופקטב | 9 םוחב 10ושוחב)בט> 0 =0חב !101061 חב !חב קהחבכ). !]| הבכ וח 0זושומפט5 !]| חב2> ב [ זב ו חב 1 חבט זה ה ה 0 0 ה וש ]01ב טח ה ם 5 שד וז בכ שיד 10 0זושפם חב | 9 וא - = טבשב | 9 ור ו -] חכנ! מו 251 לדומכ ו שבח לוחב ץז הטב6םות ב תרשים 12.5: דיאגרמת מסד הנתונים מתוך פרויקט 665חוששח+זסצ 8 אא 2000 06055 תרשים 12.6 מציג את תיבת הדו-שיח 165ז6קסזפ (מאפיינים) עבור קשר הגומלין בין שתי הטבלאות שנבחר בתרשיס 12.5. הכרטיסיות מכילות הרבה יותר מידע אודות קשרי הגומלין בין הטבלאות מאשר התצוגה בחלון קשרי גומלין בקוב מסד נתוניס קלאסי של 6% או ₪06655. | < | טפט | < | 8נפטטז [ 6%65/6598חו [ ו | פופה ד [ 1006%85/605 | וה [ ב -]ן 2 זל :0 30160000 ₪ 85 5 :חפה שופ :הבח קותפחססב!ס - ]המוז חק :סטסזם 6 ופה ד 5 00655 א=] - הויז חק :סז 6ו= לאפד 6 5 הז 6ופםל 65 ץ'זהחחוזם. 5חוחו!0ם 6ח3 53016 זס] 6050781005 אפור - טוח | וטק 6% :הוה 0507 50160590 6300 | "ד וי | במ | אס :ח0ו655 6 וה לפס - (0 =< [66וזקמוחנו]) -| 076800 חס 8353 הַח0פואס 66066 -][ וח 5ל6טסזק 6% חח הוה 050 שד הס חב ד55ו1 זס] קותפחסוסהוסז פופה >[ חס0ו36קשז וס קותפחסוסה!סז פ|פהתם. >[ 0768000 חס 0868 הַח50וא6 ספה |[ שד הס בוחה דש5ו1 וס לחוה 50חס6 6וסבת₪. שן חסו180קז זט 6חו8 6050 8016 שן |< | %8פטטז | 3650 [ סוטמ ד חן 5086060 - | | 6 | בב זה וק :6מעד שבח הוחט!ס=. ל ₪ 5 א :הח 6 | 1 ההוז חק 1 :18001 וום % 0 הז טב חן וקו שזסחס =] שח ז5! 1 35 6866 שן סז םס חס ד תרשים 12.6: תיבת הדו-שיח ₪65ז6קסזק עבור קשר הגומלין בין 66טססזק ל- 68%6007165 במסד הנתונים 065חואוח+זסו השתמש בכרטיסיה 5שוטּד (טבלאות) כדי לשלוט בתנאי האימות שיחולו על נתוניס המוזניס אל תוך הטבלאות. למשימה זאת, השתמש במגבלות. כדי לבחור הגבלה, לערוך אותה או למחוק אותה, בחר בהגבלה הרצויה מתוך תיבת הרשימה הנפתחת פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 - 509 53% 60 5616660 (מגבלה נבחרת). בחר באפשרות שפא (חדש) כדי להחיל הגבלה חדשה על טבלה. לח על 6ז5616 (מחק) כדי למחוק את ההגבלה הנבחרת באותו רגע. שלוש תיבות הסימון שבתחתית הכרטיסיה 65ופד קובעות מתי הגבלה מסוימת תיכנס לתוקפה. שתי הבחירות בפינה השמאלית העליונה בתרשיס 12.6 מחילות את ההגבלה כאשר משתמש מוסיף או מעדכן נתוניס בטבלה, או כאשר הטבלה מועתקת אל מסד נתוניס אחר. השתמש ברשימה הנפתחת 18916 56166866 (טבלה נבחרת) בראש הכרטיסיה 165פַ3ד כדי לבחור טבלה אחרת ולהחיל עליה הגבלות נוספות. במצב הראשוני הכרטיסיה 5כ₪613%005₪1 (קשרי גומלין) מראה את קשר הגומלין בין הטבלאות 7700066 ו- 68060065. באפשרותך לבחון גס את קשרי הגומלין של הטבלה 5% עם טבלאות אחרות, כמו 5זווסְקט5 או 619185 ז00זס, וזאת באמצעות תיבת הרשימה הנפתחת 005105ז₪613 5616660 (קשרי גומלין נבחרים). כדי להגיע לתוצאה זהה בקוב 00ח.* עליך לבחור במפורש את קשר הגומלין הרצוי בחלון קשרי גומלין. הכרטיסיה 8665 /65א1866 (אינדקסים/מפתחות) מציגה הגדרות עבור המפתחות והאינדקסיס הקיימיסם של הטבלה, ומאפשרת הוספת פריטים חדשים או מחיקת פריטים קיימיס. השדה 6600ט6סזק מגדיר מפתח ראשי עבור טבלה ₪סט6סזק. האינדקס מאורגן באשכולות, ופירוש הדבר זהות בין הסדר הפיסי והסדר הלוגי של השורות. ניהול דיאגרמות של מסדי נתונים מרובים תרשים 12.7 מציג שימוש אפשרי נוסף בדיאגרמות של מסדי נתוניס. בתרשיס נראות שלוש דיאגרמות שונות, שכולן מתייחסות אל אותו מסד נתונים. קבצי 00ח.* קלאסייס אינס מאפשריס הצגה של דיאגרמות מרובות המתארות את קשרי הגומלין בתוך מסד נתוניס; לכל קוב חלון קלשרי גומלין יחיד. לעומת זאת, ב- 566 .501 ניתן להציג חלונות מרוביס למסדי נתונים. חלונות של דיאגרמות מסדי נתוניס עשוייס להכיל תכנים בלעדיים או חופפים. לדוגמה, שתי הטבלאות - פזס6סחס6!ואץ!וחוה= ו-065 16 !ווח 57ה00ו00 | - מופיעות הן בתלון חתפוזפמסץא והן בחלון וחהזסהוסץ!ווח356-8. תוכל להעתיק חלון אל תוך הלוח, ולהדביק אותו בחלון אחר. הואיל וניתן לאבטח חלונות של דיגארמות מסדי נתוניס, תוכל לשלוט בתצוגות מסד הנתוניס שיעמדו לרשות קבוצות שונות של משתמשים. כפי שניתן לראות בתרשים 12.7, אפשר להוסיף תוויות לדיאגרמות כדי לוּהות את אחת הטבלאות, או את כולן. כדי לשנות סגנון, גודל, צבע או מאפיין אחר של גופןו בתווית, לח לחיצה ימנית על תיבת תווית כדי לפתוח את תיבת הדו-שיח גופן טחס:). תוכל לערוך את רשימת החלונות של דיאגרמות מסד נתונים בתוך מסד נתוניס מסויס על ידי ספירת חברי האוסף פחִאַזְחְהו8049560ז3כ!|8. כמו כן התוכניות שלך תוכלנה לקרוא את המאפיין 15108060 של חברי האוסף ולדווח אס חלון מסויס פתוח או לא. עס ואת, לא ניתן להגדיר את המאפיין 18108060 כך שיפתח ויסגור חלונות של דיאגרמות מסד נתוניס. האוסף פחִַּזְחָ818889560/8ס!|4 שייך לאחד משני האובייקטיס - 67760%08%8) או 60060868 - בתוך היישוס. 0 הח 2000 406655 |<1) - | 58 )זו ] | וט יוסנחו 005ד חהזסום חספת1 פע 45 סום | .| ₪ = -|-8]-2 | > | ₪ ₪ > | ש 3 ₪ |- אן |< וחן.. 4 |[< ון .. ם || < ובו = | חבּזהָבּו( : הוהּז ועו 5 :> -. - -. 5וגלחסס חחִבְּחָ03 פוחד ץור זפ אחו! חב !וחב .5 קט6סב 5 סט טרח 5 5ז סט רתטיע !וח 32 15 כרח16יזץ! רחב 1 4 001100500 5 ח19]ץ!ורח3 01 1011/0057 5חוגלחסס 0!6ל פוחך .5אחוהסקץח סנוח | 9 אחו וע תרשים 12.7: שלושה חלונות של דיאגרמות עבור אותו מסד נתונים השיגרה הבאה יוצרת את רשימת כל החלונות של דיאגרמות מסד נתונים, ומציינת ליד כל חלון אס הוא פתוח, או לא : ()21307805 856 15%08%80! 5 6% 5 005 ,66655000[666// 5 [פס הזוס .035 3%80856כ!| זס+ זסחהוח60 [68וחה6זהזסו 66 66% ' 8 .סו וקה = 005 56% .0 6 6+ זסח6%ח/ ץ 0130785 08650856 6%[ ' 0856035 3%כ!!ה.005 ח1 [פס ה₪86 זס-] החד סטזד = 08060 151.[סס +1 ".08060 15 " ;6חחהּ. [טס +חוזק. פטטטס 56 ".08060! %סח 15 " .8 6וחבּא;. [טס זחוזק. פטטסטס + 0 [פס 6% 50 0חם פרק 12: בניית פתרונות עם 1505 ופרויקטי 60055 511 עריכת טבלה בחלון של דיאגרמת מסד נתונים באפשרותך לערוך טבלאות או להוסיף טבלאות חדשות דרך חלון של דיאגרמת מסד נתוניס או באמצעות האוסף אובייקטים (001600), טבלאות (65!טב3ד) שבחלון מסד נתונים (ס85מ8ז8כ). לכל גישה יתרונות משלה לביצוע משימות שונות. חלונות של דיאגרמות מסדי נתוניס שימושיים ביותר לביצוע משימות של הגדרת נתוניס באופן גרפי או בתיבת הדו-שיח מאפיינים (פ65וזו6קסזק) של טבלה נתונה. כדי להקצות מפתח ראשי, בחר בבורר השורות של השדה בתוך דיאגרמת מסד הנתוניס. אס המפתח הראשי מבוסס על יותר משדה אחד, לחץ לחיצה רצופה על מקש |6₪ ובחר את שאר השדות המשתתפים בהגדרת המפתח הראשי. להשלמת המשימה, לחצ לחיצה ימנית על השורה או השורות שנבחרו, ובחר באפשרות מפתח ראשל (ש66 עזפּחוזק) מתפריט הקיצור. חלונות של דיאגרמות מסד נתוניס שימושיים גם להגדרת קשרי גומלין. התחל בבחירת בורר השורות עבור המפתח הראשי בטבלה הראשונה. אינך חייב להשתמש במפתח ראשי, אולס חובה להציב בשדה ערכים ייחודיים. כעת, גרור את השדה הנבחר מהטבלה הראשונה ושחרר אותו בפס הכותרת של הטבלה השנייה. תיבת הדו-שיח כוהפחסוז₪6]3 076316 (שדומה דמיון רב לחלונית הימנית העליונה בתרשים 12.6) תופיע על המסך. שנה את קשרי הגומלין כנדרש, ולח על אס. תוכל לכפות שלמות קשריס באמצעות שלוש תיבות הסימון שבתחתית תיבת הדו-שיח קוה5חסו+₪6|3 0768%6 ובכרטיסיה קוח5הסוז₪6|3 שבתיבת הדו-שיח 65שזסקסוק (הנראית בתרשים 12.6). בחר בתיבת הסימון 400 +18561 זס= קוה5הסוז₪6!3 6!טבּהם 6 כדי לכפות שלמות קשרים על כל הנתוניס החדשיס במסד הנתוניס הנוכתי. אס שלמות הקשריס כבר חלה על הנתוניס הקיימים, או אס אין צורך בכך, הימנע מבחירת תיבת הסימון ה10וז63ו0 ח0 בּ3כ 4ַח1ז15אם א6₪66%. אס בשל החלת שלמות קשרים במסד נתוניס האמור לקבל שורות ממסד הנתוניס שלך, ההעברה של רשומות רבות תיכשל (בגלל הפרת כללי מפתחות), השאר את תיבת הסימון 3!6ח5 63| וס כוה5הסוז₪6]3 ללא בחירה. עריכה ויצירה של טבלאות באמצעות גיליון עבודה תוכל להוסיף למסד נתוניס טבלה חדשה על ידי לחיצה ימנית בחלון של דיאגרמת מסד נתוניס ובחירה באפשרות טבלה חדשה !980 א6א). לאחר שקיבלת את השם שהפיקה המערכת או שהקצית שס חדש, יופיע על המסך גיליון עבודה. גיליון עבודה זה משמש למתן שמות לשדות, להקצאת סוגי נתוניס ולפירוט הגדרות נתוניס נוספות. גיליוו עבודה והה נפתח מתוך האוסף טבלאות (190!65) שבחלון מסד נתונים כאשר לוחציסם על האפשרות חדש (ש6א) או עיצוב (ח650כ). גיליוו העבודה חושף מספר מאפייני טבלה ושדה ידידותיים למשתמש. 2 הח 2000 406655 תרשיס 12.8 מציג שני גליונות עבודה עבור הטבלאות פזסטוח6!זץ!ווחה= ו-5אחץ ועו שהופיעו גם בתרשים 12.7. למעשה, קשרי הגומלין עודכנו בהשוואה לתרשים 12.7, כך שמתקיימיס בין הטבלאות קשרי גומלין מסוג יחיד לרביס. השדה פ1ח8] בטבלה 65חזוץו! קשור אל השדה הראשל 810 בטבלה 5זסטוחפוזץוווחה=. תוכל ליצור באחת הטבלאות מפתח זר שיהיה תואס בדיוק למפתח הראשי בטבלה אחרת, ממש כפי שנהוג בקוב 00וח.* הקלאסי ב-866855. העתק את המפתח הראשי מהטבלה הראשונה אל הלוח, והדבק אותו בטבלה השנייה. [<]ם) = | 6ופב -: >6ח! 41 88 | 0506 15| הפוחפטח1 1066 | 5690 6 ח145 | ע6ח136 | !ב 2670 | 15 עאיס!/ה | 56366 | הפוספס | ה5הַח15| = 0363506 תחפ חוחטוס= | = | 1 1 ₪ 0זחו] זה >חו וע ₪ +חו קוחב | | חח זה זה זה ₪ ₪ ₪ ₪ 3 תרשים 12.8: שני גליונות עבודה המראים את האפשרויות להגדרת שדות בטבלאות של מסדי נתונים 1505 או ז6צז56 .501 המפתח הראשל 810" בטבלה פזססחפוזץ!וחזה= מכיל נתוניס מסוג ז606זח1 של 501 זז סוג נתוניס וה מקביל לסוג הנתונים פַח10 במסדי נתוניס של 36 או ₪060655. המפתח הראשי פ1אחו! בטבלה אח1וץ משתמש בסוג נתוניס ז0686ח1 עס הגדרת עמודה /0%ח106. שיס לב, שממשק זה, שלא כמו ב- 66655 עם 36%, מכיל ממשק גרפי להגדרת ערכי ויהוי תחיליים וערכי צעד. סוג הנתוניס זח6זהטח מיוחד לשדות המחרוזת באורך משתנה ב-06סשוחש. סוג הנתוניס המקביל לנתוניס שאינס ב- 6 הוא זהחסזוהט. גם במקרה זה, 400655 עם 36% אינו חושף את ההבחנה בין סוגי הנתוניס. תצוגות ושגרות מאוחסנות שלא כמו 460655, ז6/ז50 .501 אינו מכיל שאילתות לבניית יישומיס מותאמיס אישית, אולם יש בו רכיביס פונקציונלייס דומיס, המושגיס באמצעות תצוגות ושגרות מאוחסנות. תצוגה היא משפט .501 המחזיר שורות מבלי להשתמש בפרמטרים או במשפט ץם אפסחס. לעומת ואת שיגרה מאוחסנת יכולה להשתמש הן בפרמטרים והן במשפט צ8 מפסחס כדי לציין קבוצות שורות להחזרה. שגרות מאוחסנות יכולות להוציא לפועל גס משפטי .501 שאינס מחזירים שורות, כמו דח55א1, =דגסקט ו- =דם |שס. פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 513 שימוש בתצוגות כדי להקל עליך את ההסתגלות לשינוי בכללי כתיבת השאילתות במעבר מ-26 ל- 505 או ל- ז 561/8‏ 501, הסתייע במעצב השאילתות החדש של 60655, הדומה דמיון רב למעצב השאילתות לשאילתות המבוססות על 3%6. השתמש במעצב השאילתות לבניית תצוגות (את השגרות המאוחסנות תיאלצ לכתוב ללא עזרתו של אשף בנייה). מעצב השאילתות בנוי משלושה מסכים, שניתן להפעיל או לכבות. בניית התצוגה יכולה להיעשות בכל אחד משלושת המסכים, וכל ערך המוזן בלוח אחד מעדכן אוטומטית גם את שני הלוחות האחרים. תרשיס 12.9 מציג את מעצב השאילתות בבנייה של שאילתת בחירה המתייחסת אל הטבלה פזסוזטגּ שבמסד הנתוניס פפטש. המסך העליון הוא חלונית הדיאגרמה. לחצ לחיצה ימנית על חלונית ואת כדי להוסיף כל טבלה או תצוגה קיימת כמקור קלט לתצוגה החדשה. בחר את תיבת הסימון הסמוכה לשדה שאתה מבקש להוסיף לחלונית הרשת שבמרכז. השתמש בתיבות הסימון בעמודת הקלט כדי לציין אם שדה מסויס אמור להופיע בקבוצה המוחזרת של תצוגה נתונה. כמו כן תוכל להוסיף קריטריוניס בעמודות שמימין כדי להגביל את מספר השורות שתצוגה יכולה להחזיר. אס אתה מעדיף כתיבת 501 על פני הצבעה ולחיצה, השתמש בחלונית .501 (החלונית התחתונה) לכתיבת משפטי 501. פ וסטחוו 10065 עזפנום הספת אש 06 6 | |-8 ₪ ₪ ₪ | ₪ ₪ ₪ )|| ! || ₪ ₪ א | 5 05| ₪ |- ₪ 8 = 5 | % | אצ 050 הפפ סוי ופפ חן 6|פ3: 76866 : 16ב [ [ סז ]50|601 ופ בו בי 6 (פחחזטוס= | ) * א נה שוחהח| ב 5 תופוק בח ב טוח פטום סז ב פטס פוחבזהָבוס 08680858 2 50068 3 סזחפ‎ בי 55 5 כ 5זסתזטב 6וחבר ו סט בי 5זסתו 65 סו פשאשאאשאפפפ בי 3 גום ,שבם1 גו , שבם+ גו 580807 במסתסגוהף חסתץ תרשים 12.9: מעצב השאילתות 4 ח,/ 2000 466655 בסרגל הכלים הצג עיצוב (ח0ו65כ וסו/) ובשורת התפריטים תמצא עזרה נוספת לכתיבת תצוגות. הלחצן 501 מפעיל ומשבית את חלונית ה- 501. לפי ברירת המחדל, הלחצן שמשמאל ללחצן ‏ 501 מבצע פונקציה דומה עבור חלונית הרשת וחלונית הדיאגרמה. הלחצן שמימין, המסומן בסימן * (לחצן בדוק תחביר .501 (501 /8/)) מבצע בדיקת תחביר למשפטי !1ספשאתה מזין היישר אל תוך חלונית ה- 501. הלחצן קיבוץ לפי (ץ8 קטסזס) הסמוך ללחצן בדוק תחביר 501 משנה את חלונית הרשת כדי להתחיל בעיצוב של שאילתת צבירה. התנהגותו דומה לזו של הלחצן 915ז0ד (5) בבונה השאילתות הקלאסי של 66(. לאחר שעיצבת את התצוגה כרצונך, לח על הלחצן אובייקט חדש כדי לבצע אוטומציה של הכנת טופס או דוח המבוססים על התצוגה שעיצבת (אס טרס שמרת את התצוגה, תתבקש לשמור אותה תחילה). הערה: מעצב השאילתות כולל את היתרונות של עיצוב שאילתות גרפיות לבניית תצוגות ללא הטרחה הנוספת של הצמדת טבלאות מרוחקות (כנדרש עם קבצי 00וח.* קלאסיים). משפטי 501 עבור התצוגות מתבצעים בשרת מסד הנתונים, ואילו פרויקט 406655 רק מציג את הקבוצה המוחזרת. אינך מוגבל לבניית תצוגות השואבות נתוניס מהחיבור הפעיל של פרויקט 06055. באפשרותך להשתמש במילת המפתח דש5/סאאםסס כדי לכוון תצוגה אל מסד נתוניס אחר באותו שרת, או אפילו בשרת אחר. דבר זה יפה גס לשרתיס מסוגים שונים, כמו למשל 07866 או 260 מילת המפתח זם55/שסמאפקס מקבלת שלושה ארגומנטיס מופרדיס וה מזה בפסיקים. הוסף גרש בתחילת ובסוף הארגומנט הראשון והשני כדי לציין שמדובר במחרוזות. הארגומנט השלישי הוא שס של אובייקט מסד נתוניס. הארגומנט הראשון מכיל את שס ספק 8 015 עבור מקור הנתוניס החלופי. בשתי הדוגמאות הבאות נעשה שימוש בספק ₪8 0|5 עבור מקורות נתוניס תואמי-0086. הארגומנט השני מכיל את מחרוזת החיבור. הספק קובע את התתביר הנכון לארגומנט זה. הארגומנט השלישי הוא אובייקט מסד נתוניס בתבנית זז .501. התבנית הכללית לציון האובייקט היא 00160 608ח6908|00.50. ז6/ו56>חוו. אחו! הוא השס המקומי של 7 ז6אז56 .501 עבור ספק ה- 8 015 שמצביע אל מקור הנתוניס ההטרוגני המרוחק. אס אינך מוציא לפועל שאילתה עבור מקור נתוניס שאינו ז6שז50 .501, אינך וקוק לפרמטר זה. 68/08 הוא שס מסד הנתונים, ו- 566008 מציין את הבעלים של מסד הנתונים. 0966 הוא שס הטבלה. תרשיס 12.10 מראה ייצוגים של שתי תצוגות בחלוניות 501. שניהס לקוחיס מקוב הפרויקט 1.800/אפ68וחסזח5טטק. לצורך סביבת הבדיקות, קוב זה שוכן במחשב ששמו 1, אולם בתיבת הדו-שיח שלו 67865ק0זק %ח11 0858 מצוין קשר עס מסד הנתוניס פ5פטק השוכן במחשב ששמו 6802200. כל תצוגה משתמשת במילת המפתת דאקס כדי להתחבר אל מקור נתוניס שאינו מסד הנתוניס 7085 במחשב 0. התצוגה 000608ה56!600-0 | מתחברת את הטבלה 68סקוה5 פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 = 515 שבמסד הנתוניס 065חוווזזסא, במחשב 6892200. התצוגה ז67567/9חה%סח/וחסי-56|660 מתחברת אל הטבלה 8ז6סקוח5 בשרת המקומי - 648%11. מעצב השאילתות מוסיף באופן אוטומטי את המונח 80161 61/6017 בסופס של שני משפטי 501. |< ום|.. שסול : 8 0זסח)סהוסז]/56/60 1 שמנה11עי תב קונסס ,ע1עפעקנ1נת5 582807 , ' 41כהּבכ5וחנ' ) ד55סתטקס מסתץ , '=בחטט ;112-583 2002 ₪802=ע6עע6 ; עסעע6ם 502=מסטבעקת' 1 130בע1ע26 (כעסעקבם5. סכ . 3465 נזזם 6 עפזז כ ב הז וש ו מ ב שמנה1ועי תב קונס ,ע1עסעקנת5 582807 , ' הבכ ' ) ד55סתןטקס מסתץ , '=הבטחע;012=53; (10₪81) =עשעע6ם; עסעע6ם 502=מסטבעקת' 1 5313[0ע1ע26 (כעשעקבם5. סכ . 3465ב נזזם 6 עפזז תרשים 12.10: תחביר .501 עבור מילת המפתח זַ₪0%//556אשק0ס, המשמשת ליצירת חיבור עם מקורות נתונים שמחוץ לחיבור הפעיל. שימוש בשגרות מאוחסנות באפשרותך להשתמש בשגרות מאוחסנות לבנייה נוספת והגדלת העוצמה של תצוגות ביישומי ז8/ז 56‏ 501 מותאמיס אישית. לא קיים מעצב שאילתות לשגרות מאוחסנות. טכניקת השגרות המאוחסנות מפצה על חיסרון זה על ידי שימוש באוצר מיליס משופר המבוסס על 1780580-501, שהיא גירסה מיוחדת של שפת .501 עבור ז8שז56 .501. הגמישות של ]586-50ח8זד בשילוב עס העוצמה של השגרות המאוחסנות שלה מעניקות לגירסה זו דירוג שני או שלישי כשפת תכנות מועדפת, אחרי 8 ו- ססה, וזאת במיוחד אס בכוונתך לפתח בעזרת פרויקטים של ₪60655. תרשיס 12.11 מציג את התוצאה של שאילתת איחוד בפרויקט של 6655ס20. וכור, ששאילתת איחוד משרשרת קבוצות של רשומות בזו אחר זו. במקרה זה, הקוד (המובא להלן) משרשר את הטבלה 65טהם6ץוחא | עס הטבלה 5 וח6וז !רהוס ד5ח00ו00. הקוד והנתוניס לדוגמה עבור שאילתת האיחוד נמצאיס בקוב 8001.800, בתקליטור המצורף. הטבלה 5ז6טוחס6!ץ!ווחהס ז5חסטו00ה מפנה אל מסד הנתוניס .8001501. 6 הח 2000 466655 ח0ו₪6|8 ,6וחהח.] ,שוההח- ,810 07 551 5ז רחשו ץ ו רהס 000057 סח אמסנאטש ח0סו₪6!3 ,6וחהּח.] ,שוההח- ,10חח8= 07 |55 5זסם רחסו ץ!ורחה= וס 5 )0506ז0ו4) ב] וסחו/ע 1006 560805 מבחזםת הספתן אס 46 ₪6 | .-₪ || 7פ 0 6|-|89פ %|ש ₪3 -א] 6 [ - 5זסטחו6)ע!וחוב ] וה 8 חספפסם אסות 1 אישו : עזסט )הסוח !)עו 5 פוא מספפסכ הוחוחזו/* 2 | םוסה | סמומה! | טומה |פוחו: | | | ו 30 8 ח0050ק| | אסות 0 ווה שחסד4 פוא | ה0פטס פומוטזו/י/2 א8]-חו-81 8001 ווח ץוופתם 5 חספ ווח | 3 חספ וווח| | שהסך 4 אה]-חו-0191 3 ווח ץוופתם 5 8 זט | פהסוחופ | שפחאום 8 | פחסוחוחו ₪8 חח ב ח8זט | פהסחוחוםי אסוח 9 חח | פהסוחוחו | ז0918- 7 8 מז | פהסמוחופ | שחגוכ 8 א חח ההז | 5הסוחוחופ אסוח 9 | פחסוחוחו 8 9 זם | *| ]> | וק 1% ]| |14 :שסססם חח | הסחחוחום | 705188 7 תרשים 12.11: שאילתת איחוד ב- ז%6ז56 .501 (וב- 5ס5!וא) יכולה לשרשר שתי טבלאות, או יותר, אולם אינה יכולה למיין אותן הקוד נמצא בתצוגה ששמה שזסטסחסוחוץוא. שים לב, שהשורות אינן ממוינות לפי השדה 810" מכיון שאין ב- 501 משפט 8 פכסחס עבור תצוגה ואת. זכור שתצוגות ב- ז5676 501 אינן מאפשרות שימוש במשפט 8 מפסחס. אם ברצונך למיין את הרשומות לפי 10וח8= או לפי כל שדה אחר, עליך להפעיל לשס כך שיגרה מאוחסנת. הדוגמה הבאה מתאימה את ה- 501 לתצוגה ובונה שיגרה מאוחסנת גמישה יותר. במקרה זה, השיגרה ששמה 61ז700600ק500760 מבצעת את השרשור וממיינת לפי כסזחגּ.. 5 0706600761 560760 ₪5 06500אק חס דוה ח0ו₪6!8 ,6וחהח.] ,סוחהח- ,810 07 |55 5ז רחסו ץ ו רהס 000057 סח אמסנאטש ח0ו6!3 ,6וחהח.] ,6והח- ,810 07 |55 5זסם רחסו ץורח וס 6 ץצ 0055 6+ 6765 -- סג צפ מפסחס פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 - 517 שמו של המשפט 0650085ק חפד!וג נגזר מיכולתו לשנות שיגרה שנוצרה לראשונה בעורת המשפט 065085ק = דה₪חס6. עם ואת, ניתן ליצור שיגרה מתחילתה בעזרת ץק מפד|ה. שיס לב, שהתחביר מחייב להוסיף את מילת המפתח 45 לאחר המשפט 06500₪5ק אפד|ג. יתרת השיגרה המאוחסנת והה לתצוגה עזסטחסוחטעוא, להוציא שתי השורות האחרונות. השורה הלפני-אחרונה מראה את התחביר להערה שנדרשת לה שורה אחת בלבד. התחל את השורה בשני תווי מקף (--). השורה האחרונה מכילה את משפט /8 חפסחס הממיין את הרשומות לפי ס1וח8ת. כאשר משתמשים בפרויקטים של 66655א, רצוי לרכוש בקיאות בשגרות מאוחסנות מטעמים רבים. מנגנוני ז566 .501 ו- 505 תומכים בסדרה של פונקציות מינהליות באמצעות שגרות מאוחסנות של המערכת. שגרות אלה שוכנות במסד הנתונים הראשי. כל שגרות המערכת הללו נפתחות ב- ‏ 50. מסיבה וּאת, עליך להימנע מהשימוש בצירוף | 50 בשמות השגרות המאוחסנות המותאמות שלך. שיגרה מאוחסנת בשס 0)ח! ז6וז56 50 מספקת משוב אודות כל סוגי הפונקציונליות בשרת (פחו|ח0 80065 זס/ז50 .501 מכיל מידע אודות שיגרה זאת). תוכל להפעיל אותה ביישוס שלך כשיגרה מאוחסנת כדי לקבוע למנגנון ז9ז56 .501 הגדרות מאפייניס שיסייעו לך להחליט כיצד לתכנת אותו. לדוגמה, השורה ה-18 של קבוצה מוחזרת רגילה עשויה לציין אס השרת ימיין תוך התחשבות באותיות רישיות, אס לאו. הדוגמה הבאה בונה ביישוס שלך שיגרה מאוחסנת פשוטה המפעילה את שגרת המערכת המאוחסנת ס]חן ז6שז56 50 כדי לברר את כללי האיסוף בשרת שאתה מחובר אליו כרגע. הדוגמה מראה גס את התבנית להערה המשתרעת על פני יותר משורה אחת. וכ = ה כ=06סאק חם דוה ,6 - 07067 507% 50005 18 צוסז ]1*/ 6856 6זה 50145 חסו+ / 5 8 0זח1 567/61 50 56א₪ סיבה נוספת להרחבת הידע אודות שגרות מאוחסנות קשורה בניצול הפרמטריס שלהן. תוכל להעביר אליהן פרמטריס כדי לקבל ערכי החורה באמצעות פרמטרי הפלט. השיגרה ]650710706הוהזססזם שולפת את השורה ה-18 מתוך הקבוצה המותזרת שהפיקה השיגרה המאוחסנת סח ז567%6 50. המספר 18 הוא פרמטר המציין לשגרת המערכת איזו שורה עליה להציג מתוך הקבוצה המוחזרת הרגילה שלה. שתי השגרות המותאמות אישית הבאות מעצבות שגרות מאוחסנות שמקבלות פרמטרים, ומעבירות אליהן ערכים באמצעות קוד. שגרות מאוחסנות מותאמות אישית עס פרמטרים יכולות להציג באופןו אוטומטי דרישה לערכיס אס אינך מעביר להן ערכיס באמצעות קוד. השיגרה הראשונה מבצעת שתי פעולות: היא מפעילה את השיגרה שמפיקה דוח מכירות, ולאחר מכן מעבירה ערכים אל השיגרה השנייה, שקובעת לדוח תאריכי תחילה וסיום, וכן שס של עובד. תוכל לערוך את שלושת הפרמטרים בשיגרה הראשונה כדי לשנות את הפלט של השיגרה השנייה. 8 החש 2000 406655 6 9 ותם הט ₪5 065000אק חהםד|גה 45 'חהחה חסטס' ,'1/1/98' ,'1/1/95' "הכ שפ 58!65 66עסוקוחם" 6אם השיגרה השנייה, לעיל, מקבלת את הפרמטריס כחלק מהמשפט 8₪ט0650חק מסדה. כל ציון פרמטר מכיל שני ארגומנטיס: השם, כמו למשל 806 0ַחוחחו₪86, וכן סוג נתוניס, כמו למשל 06ו60ז08 או (20)זהח6זאץ. על ציון סוג הנתוניס המתייחס לשם של עובד בשיגרה המאוחסנת להתאיס להגדרת סוג הנתוניסם עבור שם העובד בטבלה 5 ווכוחם. משפט ]50 מחבר שלוש טבלאות, ופסוקית =מפה/ מפעילה את הפרמטרים. 6 6חו06%677 60 5ז0ז6וחהז3ק 66זח+ 86660%5 6זטס6ססזס פוחד*/ סז 58|65 8 107 %ה%6ח00 0 085 503% 6 15 86 6 הוחחו06 ₪ .+ חס 6 5| 806 8ַחהו0ח= ₪ הסוחעש זס+ 0/66!רח6 6 56016165 35%08₪16|₪) .5 5055!] +60 6ח% 0 [8%6 ץ0 58/65 66עסומוחם] 06500085חק הםדוה 0306 806 050108 ,030606 306 6 הוחחו06 ₪ (6081)20ז8/ 16ח60|35608 45 ,56| . 665 ץס|קרח= ,306 35% |.665ץסוקוחם ,הט ס665.6ץסוקוח= 7ד60ם |55 ,070675.0706710 ,0816 60סקוח5.5זס סוס + טסו 586 5 |000%3ט500%0%0|5".5 זס0זוס" אס "506005 ז00זס" אזסנ מפאאז 5ז06זס) אזסנ הפאז 665ץסוקחם סח (10ז502%009]5".0706 ז0706" = כ[ז067ז5.0זססזס 005.00 = 6610שסוסוחם.665ץס!קוחם צזס .6חז! 9|6חו5 8 חס 65ח6ר חס זס? 15 108% פוחד -- 0ח 806 הוח ג 806 > הוחהחו060 6 ה66ש260 08%6 60סקוח070675.5 םמהםהח/ ₪0|350086 = 65.1.3536 ץס!כוח= דוחות וטפסים לאחר שהתחברת אל מקור נתוניס מרוחק אחד, או יותר, ולאחר שביצעת סינון, צבירה או שילוב בינס לבין מקורות אחריס, תוכל להציג בעזרת 2000 66655 את התוצאות שקיבלת. הואיל וקייס שילוב הדוק בין טבלאות, תצוגות ושגרות מאוחסנות לבין טפסים, דוחות ומודולים, תוכל להגיש בנקל נתוני שרת-לקוח בדרך המקובלת ב- 5 להגשת נתוני שרת-קובצ מאוז המהדורה הראשונה. מהדורות קודמות של 5 אמנם איפשרו גישה לנתוני שרת-לקוח, אולס עיבודי שרת-לקוח של ממש מעולס לא היו קליס כבמהדורה זאת. האמנס יכוליס קבצי 800.* לשרת מקורות פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 - 519 נתוניס של שרת-לקוח באותה דרך שקבצי 00ח.* שירתו מקורות נתוניס שרת-קובצ: התשובה לשאלה זאת תלויה במידת העניין ובגבולות הדמיון שלך. הדוגמאות הבאות עשויות להצית בך את ניצוץ היצירתיות. מיון ועיצוב באמצעות דוחות, ועוד בעזרת מעצב השאילתות, קל למדי לסנן, לצרף ולצבור נתוניס, אולס לא ניתן לעשות בו הרבה במונחיס של מצגות. זכור שלא ניתן אפילו למיין את הרשומות בתוך תצוגה. לעומת ואת בדוחות, כושר העיבוד מוגבל למדי, אולס אפשרויות המיון והעיצוב של נתוניס למדפסות מצוינות (ואפילו ל-60/), אם מביאיס בחשבון תמונות - ראה פרק 6. תרשיס 12.12 מראה כיצד להשתמש בתצוגות של פרויקט 460055 עם דוחות 460655 כך שישלימו זה את זה. הדוח ממיין רשומות לפי 10ח8". כמו כן הוא מעצב באופן מותנה את הצבע לתצוגת שורה לפי הערך של פ1וח8=: ערכיס נמוכים מ-6 מופיעים בשחור, וערכים השוויס או גדוליס מ-6 מופיעיס באדוס. נוסף לכך, התצוגה מראה את האבזריס המקובליס של דוח, לרבות כותרת, קו מפריד בין כותרות העמודות לבין הערכיס בעמודות, וכן עיצוב לכותרות עמודות וכותרת הדוח, המבדיל בינןו לבין העיצוב של גוף הדוח. [<1םן- | עזסטנ) הסוח !ועו =| סט )תסוםל וא 3 שווזה תו 36ב (11רהנב'יך ספמ 0% 1 0פטס אוושטל 2 וצ מ 3 וצ סד 18-ב -013161 גו8 1 ג 9 161 ונונ ונונ וזו 5 ונונ תרשים 12.12: דוח המבוסס על התצוגה ץזפטסחסוחנץוא המופיעה בתרשים 12.11 0 הח 2000 466655 מלבד הקוד לשאילתת האיחוד עבור התצוגה, לא נדרש תכנות נוסף בדוח זה. לאחר שבנית את התצוגה, הצב את שס התצוגה בהגדרת המאפיין 66זטס5 66070 של הדות. להוציא הצבעיס השוניס המבוססים על ערכי 10ח8", שאר תכונות הדוח מקבלות את הגדרות ברירת המחדל לדוחות טבלאיים. הפקודה החדשה עיצוב מותנה (|3חסחו0חס6 0חו8וזס=) בתפריט עיצוב חזס]) מפשטת באורח דרמטי את משימת ההחלה המותנית של צבעיס על תכולתן של תיבות טקסט (ראה פרטיס בפרק 5). אפשרויות אלה מחייבות שימוש בשגרות אירוע 8%חזס=. על ידי שילוב התצוגה והדוח תוכל להשתמש בכל אחד מהם לביצוע המשימה שהוא מותאס לה ביותר. הואיל ודיווח הוא אחד מהיתרונות הבולטיס של 60655, יכולתו של קובא כ80.* לעבד מקורות נתוניס שרת-לקוח יכול לצמצס באופן דרמטי את העלות של הפקה והפצת דוחות אינפורמטיבייס וקליס לקריאה בכל רחבי הארגון. הוספת היפר-קישורים במסדי נתונים של זפשז56 .501 לא קיימים נתוניס מסוג היפר-קישור (שחווזססץח) (כזכור, 36% תומך בסוג נותניס גה כהרחבה של סוג הנתוניס ת זכיר (סוח6וז) - ראה פרק 1). עס זאת, עדיין תוכל להוסיף ולעקוב אחר היפר-קישוריס בתוך טופסי פרויקטיס של 60055. לשם כך עליך לבצע ארבע פעולות : 1. הקצה לעמודה בטבלה אחד מסוגי הנתוניס הבאים: ז8ח6, זפּחסח, זהח6זהטח או זהח6זהצ. אלה הס שמות של סוגי נתוניס קבועיס ומחרוזות בעלות אורך משתנה, ב- 6006וח() או בתבנית שאינה 6סססוחש. 2. פתח טופס בתצוגת עיצוב (ח065/9) והפוך את הטבלה למקור הרשומות של הטופס. 3 הצב את השדה בעל סוג הנתוניס מחרוזת באחד משדות הטופס. הגדר למאפיין הנו היפר-קישור (חוז6קץ15) של השדה ערך כן (69)). והו מאפיין חדש ב- 2000 860655, המיועד במפורש להיפר-קישוריס בטופסי פרויקטים של 06055. לאחר שיצרת את הטבלה והטופס, תוכל להוסיף לטבלה היפר-קישוריס באמצעות הטופס, בעזרת הפקודה הוספה (567ח1), היפר-קישור חוחסקץה). פקודה ואת פותחת תיבת דו-שיח להגדרת או עריכת ה-81 של ההיפר-קישור ואת הטקסט המוצג שלו. לאחר שההיפר-קישורים עוצבו, יכול המשתמש לעקוב אחריהס עד לאתרי ה-65/ המתאימיס על ידי לחיצה על הערך שבתוך שדה היפר-קישור. דפדפן ברירת המחדל יוביל אותו לאתר הנכון. לאחר מכן יוכל המשתמש לחזור ל- 06655 על ידי לחיצה על הח 886% (הקודם). פונקציונליות ואת התווספה ב- 97 8066655; כעת היא קיימת גס עבור מסדי נתוניס ז/56 .501 ו- 1505 באמצעות 2000 106655. תרשים 12.13 מציג את מסך 6אחו1ץ ב-66655, תוך כדי תהליך עריכת ההיפר-קישור. תוכל לדפדף אל אתר ה- ס6/ הרצוי כך שלא תיאלצ להקליד את ה- וחט. נוסף לכך, פרק 12: בניית פתרונות עם 505 ופרויקטי 66055 - 521 תוכל להשתמש בתיבת הטקסט טקסט שיוצג (ש08פו₪ סד 16%) כדי להזין את הטקסט שיופיע במקוס ה-081. שיס לב, שניתן להשתמש בתיבת דו-שיח ואת גס להגדרת היפר-קישוריס אל קבציס השוכניס בשרת קבציס מקומי, ואפילו להתחבר לכתובות דואר אלקטרוני. האפשרות השנייה מפעילה את תוכנת ברירת המחדל לדואר אלקטרוני בתחנת עבודה של דפדפן, עס השס וכתובת הדואר האלקטרוני שציינת בקישור. |< וו = | !עו 3 2 ז |<| 2|+<| וץ| + 1 ]ן + | 84 :6016 |<|? | אחו!זסקע!] !ו4=] | ו והי 6 סח[ ,088 וו :הק 60 זאד :סוחבח שבכ ס6// זס ו שחל סקעיד : ]שח שחו ה6. אואוש] ] יקססת מז 1% 0: :זט ספאוסזם הזסז! 56166 זו 8 5 שי | ב > זה אהו 2 35/0598 הוהח56] ההוב ששיאו | : ססר 0 - וו | סח 0 | ...306 60 60 5366655 0% וחוחחחחה זיז שיאו ]+ קסר ס ל [8:8080ח. חוצט 5ב ספ ואוו ] | קססת ]351676 380 239. 161 206/] :קשח | הספסזם וחד חו פןטס. 5 | חן ]ששח סוחזוספחו. ואוו ] ]| קססת ]38/06/3506 239. 161. 206]] :קת ]שח וחזזטסחו, אואואו | ססר (:6) 033198 | סט | | ד לחוז ב ו 76806 בי ₪ | 0 5 |הת-ם תרשים 12.13: השתמש בתיבת הדו-שיח עריכת היפר-קישור (א>חווזסקץ₪ 0%ם) כדי להזין ולערוך היפר-קישורים במסד נתונים משותף שרת-לקוח של היפר קישורים עריכה והצגה של נתונים באמצעות טפסים בפרויקטיסם של 8606655 יש שתי הגדרות אפשריות למאפיין סוג ערכת רשומות (06?ץד ₪6007056%) לצורך עבודה עס טפסיס ומקורות נתוניס מקובלים, כמו למשל טבלאות של עובדים או לקוחות. הגדרות אלה ייחודיות לקבצי כ0ַ8.*. לקבצי ססחח.* הרגיליס הגדרה שונה במאפיין סוג ערכת רשומות. כאשר אתה מעצב יישוסם שמשתמש בטפסים עם נתונים ממסד נתונים ז56/6 .501 או 5 יישוס הלקותח תמיד עובד עס תמונה של הנתונים המקורייס בשרת. למרות שהנתוניס המקומייס הס תמונה של הנתוניס בשרת, ניתן לעדכן אותס בשרת. כדי לאפשר פונקציונליות מסוג זה, קיימות ב- 2000 8600655 ההגדרות תמונה ניתנת לעדכון (סחַ5כְ8ח5 080680!6ק) ותמונה טְסתפסַַּח5) עבור המאפיין סוג ערכת רשומות בפרויקטיס של 860655. תוכל לקבוע הגדרות אלה בכרטיסיה נתונים (8%9) שבתיבת הדו-שיח מאפיינים (₪65ז6קסזק) של הטופס. כמו כן תוכל לטפל במאפיין סוג ערכת רשומות בעזרת 83 או מאקרו של ₪06655. 2 הח 2000 466655 כאשר אתה מציב במאפיין סוג ערכת רשומות של טופס את ההגדרה תמונה ניתנת לעדכון, המשתמש יוכל לשנות את מקור הנתוניס שביסודו של הטופס כאילו אותו קובץ נמצא בשרת קבצים מקומי. בעזרת המאפיין 106% של פקדים נפרדים, תוכל לאפשר עריכה בררנית של קבוצת משנה של פקדים בטופס. נוסף לכך, תוכל לשלוט בסוג השינוייס המותריס לביצוע בתחנות עבודה של לקוחות. ישנן הגדרות כן/לא נפרדות לאפשרויות אפשר עריכה (016ם צוסו|ה), אפשר מחיקות (5ח6|600כ צוסון|ה) ואפשר תוספות (5ח00ו₪00 צוסו|). כל שינוי שתערוך מתוך קוב של פרויקט 466655 יופצץ אל השרת. לכל משתמש בפרויקט 460655 צריך להיות עותק נפרד של קובצ ה- ק80.*, למרות שכל משתמש פונה אל אותו מסד נתוניס שרת-לקוח. למרות ששינוייס בנתוניס מופציס מתחנות העבודה של הלקוח אל מסד הנתוניס של השרת, כדי לצפות בשינוייס שערכו אחריס על המשתמש לבחור באפשרות רענן (ח₪6/765) מתפריט רשומות (₪660105) כדי לראות שינוייס שנערכו בידי משתמשיס אחרים. |<1ם); | ב 3 =- ק קת 4 עזוחגוס ך | ו6פעטופוח = , 7 (206 ו סוחס סו 0] ה 90 1 7 | הספחסואם 300 ]= שחב )ופ טסוק וק 3165 5 שוך חו 043 3 65בט!סחו הסווהסגוט = 2 6 : סבבזסוסם) וחסז! עססוסו!סע5ק | .+ 5 6 ו 0פ!ה 506 .עזופזסעוח! ! 5186 , 6 ]םס +31 6 ד" 660!קחחסס 0 ו 3 8 עסחב1 ".31 00 - 2 | 6ב סו ד זם זססוחסות . רו | , ]28 .6 .= .0/6 חו20 - 507 | ב 4 ; 3 ו ן שש ; הת ן חסופס ה 022 ן 6 9 זט || 3 |++| זו וו ]| 4 | 0 וי וי [ ₪1 | חחס | וחספ | 33| *החזסת 65 וכו * 56 51 5066 66070 ו >> פהסססוסם אוסום > פחסחו0ה אוסו|ם + ב | | ..... ...> 6קץז 66070506 . 53‏ .> 00005 אבו :0ח305ח5 6!פ3-3כ ו .זה 5 136 שטסוח ו חהוחס= הפס ...> 3015 זב 6ווקח1 תרשים 12.14: השתמש בטפסים במסגרת פרויקטים של 60655 כדי להכניס שינויים בנתונים פרק 12: בניית פתרונות עם 1505 ופרויקטי 60055 - 523 תרשים 12.14 מציג דוגמת טופס בפרויקט 860655. הטופס מבוסס על נתוניס משרת מרוחק. מתחת לטופס מוצג קטע מגיליוו המאפייניס של הטופס, החושף את שתי ההגדרות האפשריות למאפיין סוג ערכת רשומות (6קץד 56607056%). הואיל וההגדרה שבתוקף היא תמונה ניתנת לעדכון 0ְסחַ805ח5 08%680|6קט), המשתמש יוכל להחליף את מקור הנתוניס שביסודו של הטופס. למעשה, בגלל הגדרות הכן לאפשרויות אפשר עריכה, אפשר מחיקות ואפשר תוספות, הוא יוכל לבצע את השינוייס משלושת הסוגיס הללו במסד הנתוניס. באפשרותך למנגנון שימוש באפשרויות אלה על ידי הצבת ההגדרה תמונה (סח05ְ8ח5) במאפיין סוג ערכת רשומות. הטופס הוכן בעזרת אשף הטפסים האוטומטייס (בתוספת עריכה מינימלית). המעבר לרשומה הבאה גורס להעברת כל פעולת עריכה שביצע המשתמש בשדות בחזרה לשרת. אס הגדרת המאפיין סוג ערכת רשומות היא תמונה, 8066655 מגיב בהודעה שקבוצת הרשומות אינה ניתנת לעדכון. הלחצן המסומן ב-א מאפשר למשתמש לבטל פעולת טעינה ארוכה של רשומות רבות אל תחנת עבודה מקומית. סינכרון מחדש של טופס באמצעות נתוני יחיד לרבים כאשר המקור של טופס בפרויקט 8460655 מבוסס על ערכת רשומות שמתקייס בה קשר גומלין של יחיד לרביס בין שתי טבלאות, ניתן לאכלס באופן אוטומטי את כל השדות בצד היחיד על ידי הגדרת המפתח הזר בצד הרביס. תכונה את שימושית במיוחד כאשר מוסיפים רשומות חדשות. לדוגמה, אס עתה עוסק בעיצוב טופס המייצג נתוני עובד ומכירות, היחס יחיד לרבים נגזר מהעובדה שכל עובד יכול לבצע פעולות מכירה רבות. עליך רק להזין את זיהוי העובד עבור טבלת המכירות, ולהשליס את הרשומה. פעולה ואת תגרוס לאכלוס אוטומטי של כל שדות העובד בצד האחד של מקור הרשומות שברקע. לאחר מכן עליך להזין את נתוני המכירות בצד הרביס של מקור הרשומות. באותה קלות תוכל לעדכן את נתוני העובד גס ברשומה קיימת. כדי להפוך תכונה זאת לזמינה, יש להגדיר את המאפיין סוג ערכת רשומות בתור תמונה ניתנת לעדכון. הצב את שס הטבלה בצד הרביס של קשר הגומלין בתור המאפיין טבלה ייחודית (80|6ד 6וסוחנו). כמו כן עליך להציב כהגדרת המאפיין פקודת 6הץ₪65 (0ח8הוה00 6הש565) מחרוזת המייצגת משפט 501 שמאפשר את הסינכרון מחדש. להלן נציג תחבולה ליצירת משפט זה בשיטה מקוצרת. תרשיס 12.15 מראה את תצוגת העיצוב של יחיד לרביס עבור התצוגה 6חץ₪65זסתוץ. החלונית העליונה מראה את קשר הגומלין יחיד לרבים בצורת קו המחבר בין הטבלאות 665ץ0!מחם ו-5ז06ז0. שים לב שתצוגה ואת מקשרת בין הטבלאות בעזרת המפתח הראשי בטבלה 665ץס|קוחם ובעזרת המפתת הזר המקביל (6610ץסוקוחם) בטבלה 5ז06ז0. החלונית התחתונה מציגה את קוד 501 של התצוגה. המאפיין פקודת 6הץ₪ של הטופס מחייב עריכת שינוי פשוט במשפט זה. 4 הח 2000 466655 |<1ם). | שוש : 6הע65 זט ]אצ 5 > 5 א הח ₪ (5חחחנו!ס-= ||מ) * (5חחחזט|ס-) ||₪) * סוד דושסן סיד סז [י יי / ות 500 / 6בן856 1 10 6ץס!פוחם | ' [= 506 זו= | צן בב וצ בב 3 בכ יי 5 זז זו סס5= | = | 5 זז 6 זט זס | | 5 זז זופת | | וס 58| | יי 5זסזסחססס1 יקוח | | 5 סקתת= = 5ספשעיס|קותשחכיכ1 10 ופוח | | , 1551136 1 . 10665 קונם | , שמנה11 35 . 107565 קאם 581807 ,12 ע1560106ו0. 028628 ,5.0284₪212ע023₪ ,מסנכםתססאם.65בצס1קתם , 51122632356. 5ע46ת0 ,642366ת1גת0בת.5ת346ת0 ,0236:2356. 0236258 , 8628ע0מ120 25 כ661ש10עחם . 5מ6בעס 3 קתתתסתך 25 105612 קת . 665עס1 קואם זזנסט תמז: כשסלס1קתאם אסתץ .תס = כ5612עש10קתם. כשסשס1טקחמאם 09% 5מ6בפס תרשים 12.15: תצוגה זו מייצגת קשר גומלין של יחיד לרבים כמו זה המשמש לסינכרון מחדש של טופס, כאשר משפט 501 הוא הבסיס להגדרת המאפיין פקודת 6ץ₪65 תרשים 12.16 שלהלן מציג טופס מייד לאחר הזנת הערך 9 לתיבת הטקסט 0ז6ץסוקותם. מדובר בטופס אוטומטי רגיל (וחזסיסזטה), עס שינוייס מזערייס. לחיצה על בורר הרשומות (56|6600 6ז660?) מעלה נתוניס אל תוך כל שאר שדות העובדיס בטופס. הזנת ערך חדש בתיבת הטקסט 6610ץסוקוח= ולחיצה על בורר הרשומות תעלה באופן אוטומטי נתוני עובדיס המתאימיס לערך 10 החדש. זהו יתרונה של פונקציית הסינכרון מחדש. תרשים 12.17 מציג את הגדרות הטופס ההופכות את פעולת הסינכרון האוטומטית לומינה. הגדרת המאפיין סוג ערכת רשומות (6קץד ₪6607056%) של הטופס היא תמונה ניתנת לעדכון טְסחַ5כְַבח5 080680|6ק0), והמאפיין טבלה ייחודית (30!6ד שטסוחע) שלו מצביע אל צד הרבים של ערכת הרשומות שברקע, כלומר, הטבלה 065זס. ההגדרה פקודת 6הץ₪5 (0ה8הו0ה60 6הץ₪65) המוגדלת והה בדיוק לקוד 501 של הטופס שבבסיס, בתוספת שורה אחת: 070675.0708712=2 אמ . והו השלב הסופי המשליםס את תהליך הפיכתו של טופס לזמין בעזרת פונקציית הסינכרון מחדש. פרק 12: בניית פתרונות עם 1505 ופרויקטי 60655 - 525 6חהע6 זט ]וצ 83 תרשים 12.16: טופס המדגים סינכרון מחדש מול מסד נתונים מרוחק 1363016 535 000 | יסוס "יח 5 55 שם = ]=5 3 3 ₪ ו ₪ רי מש / ֶּ ₪ 5זן=, 6 שיס!כרח= , 6הפ*350 |. 665/יסוקרח=. == 5 , 2067 05 , הסופח5ם<=. 665/יסוקרח= כ 500 ו, 05 זכ) , 6012806וו 60 5 סוכ , 0670806זכ), סז 506028006 0675זכ) , )הככ 45 6610/יסוקרח=. וסוס וט =הוככ1 45 6610/יסוקרח=. 665/יסוקרח= זכר מםויזי!1 665עסוקרח= וכח = 6610/י0|מרח=. 665/יסוקרח= |יזכ) סוס 6 ץסוטרח=. פיז מ כ ו 0 כ ל 0 = א תרשים 12.17: הכרטיסיה נתונים (ַּזהכ) בגיליון המאפיינים של הטופס; ההגדרות תמונה ניתנת לעדכון ופקודת 6חץ₪65 נחוצות לסינכרון מחדש 6 ה 2000 66055 סוגיות של תכנות אחת השיטות להרחבת היכולות של פרויקט 4660655 היא להיעזר ב-501. שיטה זאת הולמת במיוחד כשמדובר בתצוגות ובשגרות מאוחסנות. בכמה מהדוגמאות הקודמות כבר ראית מה ניתן לעשות בעזרת .501, אולס תוכל לנצל גם את בקיאותך ב- 84 וב- ססג. שאר הדוגמאות בפרק זה עוסקות ביישוס הידע הוה בעבודה עס פרויקטיס של 5, ואפילו בעבודה עם מסדי נתוניס ז6/ז56 .501 ו- 1505 ללא ממשק המשתמש הנוח של פרויקטים של ₪006655. עבודה עם טפסים למרות הפונקציונליות יוצאת הדופן של ממשק המשתמש בפרויקטים של 06655 מול מקורות נתונים מרוחקים, ניתן לבצע אוטומציה ופישוט של תהליכים על ידי תכנות של פיתוח פתרונות מותאמיסם אישית. אנו נבחן שלושה תחומים הנוגעים לפרויקטיס של 60655/ : פתיחת טופס, איתור רשומה והצגת שינוייס שביצעו משתמשים אחרים. פתיחת טופס כאשר פותחים טופס בעזרת ממשק הפרויקטים של 860655, הטופס מאכלס עותק מקומי של הנתוניס המרוחקים בתחנת הלקוח. העותק המקומי הוא תמונה, נכונה לנקודת וזמן מסוימת, של הטופס עס הנתוניס המרותקים. כאשר פותחים טופס באמצעות קוד, יש ליצור את העותק המקומי של הנתוניס המרוחקים. אחד היתרונות בפתיחת טופס באמצעות קוד היא שניתן להקצות ערכיס באופן דינמי למטמון המקומי המכיל את הנתוניס המרוחקים. היישוס שלך יוכל לעשות ואת מכיון שערכת הרשומות שהקצית לטופס בעזרת 84/ גוברת על ההגדרה מקור רשומה (₪66070 6זט50) שבגיליון המאפיינים של הטופס. השיגרה הבאה בונה ערכת רשומות עבור טופס לפני פתיחתו. תחילה היא מגדירה הפניה למופע חדש של ערכת רשומות: היא מציבה את ההגדרה %ח80/0560|6 במאפיין ה0680 ]וסוס (מיקוס הסמן) של ערכת הרשומות כדי לקבוע את מיקוס הנתוניס בטופס (כזכור, הטופס מקבל את הנתוניסם מהמטמון המקומי שבתחנת העבודה, ולא מהשרת המרוחק). כעת היא פותחת את ערכת הרשומות בעזרת משפט 501 המחלצ נתוניסם מהמקור המרוחק ומציב אותס בעותק המקומי. הדוגמה משתמשת בטופס המופיע בתרשיס 12.14 לעיל. שורת הערה מראה משפט 501 המסוגל לדרוס את ברירת המחדל של מקור הרשומה של הטופס. לאחר יצירת העותק המקומי של הנתוניס המרוחקים, השיגרה פותחת את הטופס ומציבה את העותק המקומי כהגדרת המאפיין 7% (ערכת רשומות) של הטופס. מאפיין חדש זה מכיל את הפונקציונליות של המאפיין ₪660705600|006 ; בנוסף, שינוייס שנעשו בערכת הרשומות יופיעו באופן אוטומטי בטופס - המאפיין 6ח₪660705606|0 יוצר עותק לקריאה-בלבד של ערכת הרשומות של הטופס. בדומה למאפיין 86607056%0|006, המאפיין 6607056 של הטופס זמין רק באמצעות הקוד. פרק 12: בניית פתרונות עם 1505 ופרויקטי 66055 - 527 ()וחזס-]ה6קס פט5 5 561 וחוס ;5 השועש זו 06ה|טוקסק 0חה 6607056% |68ס! 8 ח5ו!80ז5ם ' .565 57066% )זסקסזק 06וחסעס תפס ' צוס) = 951 56% 300560 = ח6800ס0]ס5זט6. 561 ,"665ץ0!ח6 08 * 5607 551" ה561.006ז 30067560 ,ה06600ח0[60.60זק+ח6זזו 26556 06 01ב 0/6606 0600 0+ 63056 םמםה/ תווצו חטז עווהחסטקס ' "660<3ץ0!קוח6 = םה/ 665ץסוקוח6 50 * ז0ם |םפ" -' .וחזס? 6ח% השקס ' "10/6652 רח6רחף" החזס= הססס. 6וחס סק 6 חס 56008 3 06! עס חה6 ;וחזס1 הסקס 6 60 6607056%ז חףו55ה ' 1 = 866070566 ("6652/ץ0!כ הסוח" )רתוס 56% סט 0ח= הערה: / ערכת הרשומות שנוצרת עבור מופע של ערכת רשומות תישאר זמינה כל עוד הטופס פתוח. סגירה ופתיחה מחדש ידנית של הטופס תגרום לטופס לחזור להגדרת מקור רשומה (66זט50 0ז₪660) שבגיליון המאפיינים שלו. איתור רשומה בעבודה עס נתוניס בטופס, אחת המשימות השכיחות היא איתור רשומה מסוימת. שתי השגרות הבאות מבצעות משימה זאת. השיגרה 0/66!קח069065! מנחה את המשתמש להזין ערך של יהוי עובד, ומעבירה ערך זה אל השיגרה השנייה, סזץפסח. השיגרה השנייה מפעילה את השיטה 6ז0₪660חו= של האובייקט 600סס כדי לאתר את הרשומה ולמקס את הטופס ברשומה החדשה. ()66ץ0|0וח068%6! 5 .ץח 60 חס 6 55 חב 12 66ץסוכח6 זסו 5% ' = ,"לחש טסץ 66ץס|קח6 6+ זס+ 1 6ח% 6קץד")אספזטסח1 = זסטותטא66ץסוקוחס ("2000 60655// 1670508 פחווה ותה זטסזק" (ז6 סרח 66 ץ0!מרח6)פח 61 16ץפסחת סט5 0חם (0חס 1 5 10)610ץ08חו טט5 קז דחו 6070 זסזזם הס .ו הסחט3! סח3 1610 10 66ץסוקוח6 0+ 10005 56% ' 5 06| = . ( "6652 | רתס רז" )רתוס 0 6606 חות. וחספ 8 הח 2000 406655 ץח .]6 6076 866 ו5ורח +60 ד החד ₪10 <> 6610ץס!מוחם. ("6652 ץ0!מות6רת" )רס + = ,"." 8 60 8 " 10 הזו 66ץסוקוח6 סא" אסף5וו "2000 66655 0500ז6ו1! 8 חורחרח הטסוק" , הסוטהוחה !סא סע + 0חם סטפ +ואם :קז 107 ץח החד 2450 = זססוחטאא.זזם +[ .חוהּחָה 0חו1 5% 0חה 60560 5 6 ]ו הזוס הסקס ' וחזס= חה6קס 56 6 הסטק6567כ.זז= ,זספוחטא. זחם זחוזק. פטטסס + 0חם סט5 0חם השיגרה השנייה מזהה שתי בעיות אפשריות. ראשית, אס לא נמצאת רשומה תואמת, השיגרה מציגה הודעה ברוח זאת. שנית, אף אחת משתי השגרות אינה שגרת אירוע, לכן ניתן להפעילן גס מחוצ לטופס. אס הטופס סגור, השיגרה מזהה את הבעיה ופותחת את הטופס כדי לנסות פעם נוספת לאתר את רשומת היעד. הצגת שינויים שביצעו משתמשים אחרים 5 הוא ביסודו סביבת פיתוח מרובת-משתמשים, ופרויקטים של 460655 מופעלים תכופות כדי לשרת מטרות מרובות-משתמשים. לכן דרושה לך שיטה לרענון המטמון המקומי, כדי שתוכל להציג עדכונים, תוספות ומחיקות שבוצעו בידי אחרים. השיגרה הבאה מבצעת משימה ואת על ידי איכלוס מחדש של ערכת הרשומות המקומית של הטופס בנתוני מקור הנתונים המרוחק. בדומה לדוגמאות הקודמות, דוגמה ואת מבוססת על הטופס המופיע בתרשים 12.14. ()65%07610 606 60 5 זז 5 61חו וחוס .10 66ץ0|קוח6 58/6 300 08665קט ח66ז56 0 חזטד ' 6 סח60ם. חספ 0 שסוסוחם. ("6652 ץס|קר6ו")פרתזס- = 61חו 5676 6+ הס 6607056% |068! ץז6 סק ' הס הסקס 30 ץז6006ז 6זסז06 12 66עסוקוח6 60 הסטופסס6א יד וק ה50766 650076 ' 5 61 ]כ = . ( "6652 | רת 6 רז" )רתוס 1 66070 הו הס סד סח6ם. חספ סט5 0חם פרק 12: בניית פתרונות עם 1505 ופרויקטי 60055 - 529 השיגרה מאכלסת מחדש את מטמון הנתוניסם המקומי על ידי הפעלת השיגרה הזס" הק (שעסקנו בה קודם). אם הטופס פתוח, הקריאה רק מאכלסת מחדש את המטמון. הואיל ואיכלוס מחדש של ערכת הרשומות של טופס ממקס באופן אוטומטי את הטופס ברשומה הראשונה, השיגרה שומרת את מיקוס הרשומה הנוכחית לפני שהיא מאכלסת מחדש את המטמון המקומי בנתוני מחסן הנתוניס המרוחק. לאחר איכלוס המטמון מחדש השיגרה מחפשת בין הרשומות כדי לאתר את הרשומה הנוכחית הקודמת. פעולה ואת משחזרת את מיקוס הרשומה הישנה, אם היא עדיין זמינה (כלומר, אס לא נמחקה). אם משתמש אחר מחק את הרשומה שהיתה הרשומה הנוכחית קודם, הטופס יציג את הרשומה הראשונה במטמון המקומי. עבודה עם מודולים עצמאיים ההדגשה החוזרת ונשנית על 00 לאורך ספר זה תשרת אותך היטב כאשר תעסוק בפיתוח פתרונות מותאמיס אישית מול מקורות נתוניס 505 - 5669 .501. פרק 4 מכיל מספר דוגמאות לטיפול במקורות נתוניס מרוחקיס. בסעיף זה נבחן מחדש סוגיות תכנות מסוימות בהקשר עס פרויקטיס של 06655( ו- ₪505. פתיחת טבלה הדוגמה הבאה משלבת בין פתיחת טבלה במקור נתוניס מרוחק לבין כתיבת התוצאות בחלון 6ז6018ח1 (מיידי), המשמש לצורך העניין כמדריך טלפוניס. לשס כך הדוגמה משתמשת באובייקטים ח6600חח60 (חיבור) ו- ₪66070561 (ערכת רשומות) של ססג. השיגרה פותחת ביצירת מופע חדש של האובייקט ח8600חח60 של ספג. לאחר מכן היא מגדירה מחרוזת חיבור ומשתמשת בה כדי ליצור חיבור עס מסד הנתוניס 5 סוחס בשרת 6802200. בשלב הבא היא פותחת ערכת רשומות קדימה-בלבד לקריאה-בלבד, המבוססת על הטבלה 665עס!מוח= במסד הנתוניס 665חושחצוסא. ערכת רשומות מסוג זה קבילה בדוח המדפדף פעס אחת ויחידה ברשומות של ערכת רשומות. השיגרה מדפיסה את מדריך הטלפונים של עובדיס בחלון 160/8%6ח1 בעזרת לולאת ספ כדי לעבור על פני הרשומות העוקבות, לפי הסדר. ( )6065 30160 דה6קס פט5 חסוז66 08.60 ₪5 1 חהחס6 חחוס 5 561 וחוס 5 6822200 חס 08180856 065תושרזסא ס+ הס 66 החס6 הסמס ' סו חח .כ סכ צוס = 1חחס 56% 8 ";50|0!600= ז06ועסזק" = חח506 = 8 ";6822200= 501766 הזכ" 8 ";005חושחזס = 6858100 |הסוחז" "; =0ז0ש58;2855= 10 60507" חח5076 ה6ק1.0החס 0 הח 2000 406655 ץ|הס-680 ,ץוהס-0זשזס+ 3 הפוצו 8016+ 66ץסוקוח6 הסכס ' .3 6 חפטסזח? 355כ 8!6חו5 3 זסז 06 15 06 פווש ' שא = 561 56% ץוח זה ס- 3006 = 6קץ דוס5זט6. 561 ץ|הח6800 060 301 = 6כץ 0667 561.1 6 , , ,1 החש ,"665 ץסוקוח6" ה6ק561.0ז ץ 01660 6ה0ח6!60+ 66ץס|קרח6 חה זחוזק ' 51.50 וטחט ספ 8" " 8 ("36 15 ")6|05וח. 561 זחוזק. פטטסס = 8 " הסו5ה%6א6 85 ".8 ("36 3500 6!05)"1ו=. 5%1ז "." 8 ("חסופח06א")16!05=. 5%1ז %אס טסו 561 קסס | .6 6 600/67 30 הס 660 ה חס0 %6 0|056 ' 6 ַחוח%ס = 1חחס 56% 50 06ח= סביבת הבדיקות של פרק וה כוללת שרת 6505 על מחשב מקומי בשס 11א6038, נוסף למנהל מסד הנתוניס ז6אז56 .501 השוכן במחשב ששמו 6802200. התחביר של הפניה לשרתיס מקומייס שונה במקצת מהתתביר להפניה אל שרתים מרוחקיס. במקוס לצייו שרת מוגדר בשמו, תוכל לציין פשוט (|00₪8ו). מכיון שגס במחשב המקומי שלי מותקן מסד הנתוניס 665חואוחזזסא, אין צורך בשינוייס נוספיס בשיגרה. שיגרה ואת זהה לשיגרה הקודמת, למעט הקטע האחד המופיע להלן. שיס לב לשס השרת החדש. בפועל, אולי רצוי שהמשתמשיס יקבעו לעצמס שס חשבון כניסה, או שישתמשו בחשבון מוגבל בעל פחות זכויות מאשר 58. 57/6 |068| 6+ חס 03080856 0605חוץשרשוסא סז הס ו660החסס6 חסמס ' 8.6066 0 צוסא = 1חחס 560 8 ";50|0]600= ז06וטסזק" = חח506 = 8 ";(/5066=)1068 8%" 8 ";005חושחזס = 688100 |הסוחן" "; =0ז0ש58;2855= 10 60567" החח50 ה6ק1.0החס תוכל לעבד תצוגות באמצעות אותו תחביר המשמש אותך לטבלאות. עליך רק לתחוס את שס התצוגה במרכאות כפולות, כפי שנהוג בטבלאות. עדיין תידרש להשתמש בהגדרה 300001806 לפרמטר חסטקס. התקליטור המצורף מכיל דוגמה בשםס תכ אוסו/חסקס, המציגה גישה זאאת. פרק 12: בניית פתרונות עם 505 ופרויקטי 60055 - 531 פתיחת שיגרה מאוחסנת שגרות מאוחסנות יכולות להחזיר ערכות רשומות. החזרת ערכות רשומות בעזרת שגרות מאוחסנות במקוס בעזרת טבלאות תעניק תוספת גמישות ליישומיך מכיון שהשימוש בשגרות מאוחסנות ישחרר אותך מהתלות בטבלאות במקור הנתוניס הנוכחי, או אפילו עותקיס מדויקים של הטבלאות במקור הנתוניס הנוכחי. בעזרת שגרות מאוחסנות תוכל לסנן רשומות, לחשב ערכיס חדשיס ולצרף ערכי שדה לאורך הרשומות בטבלה. השיגרה הבאה מפעילה את השיגרה המאוחסנת ששמה 0006%5זק 6ש51ח06אם 1105% חסד ומדפיסה בחלון 6018%6ח1 את שמות עשרת המוצריס היקריס ביותר ומחיריהס. מכיון ששס השיגרה מכיל תווי רווח, חובה לתחוס אותו בסוגרייסם מרובעים. שיס לב גם לכך שהשיגרה משתמשת ב- 40067005%076000706 כארגומנט פחסטקס. דבר גה מורה למעבד 400 לצפות לשם-שיגרה המכיל 501, אך לא למשפט 501 של ממש. הואיל והשיגרה תמיד מעבדת 10 רשומות, השיגרה להדפסת הרשומות משתמשת בלולאת זס- החוזרת על עצמה מ-1 עד 10. בכל שאר המובניס, השיגרה להדפסת הקבוצה המוחזרת של שיגרה מאוחסנת והה לשיגרה להדפסת טבלה שלמה. () 06567 ה 60 660סזק ה6קס פט5 חס 66 ה חה0ס0. 3008 5 1חחס6 וחוס 5 561 וחוס זז 5 61חו וחוס 567 6802200 חס 0800856 005חוששח וס 0+ הס 660 הח0ס6 הסככס ' הסוח 8.60 0 צוסא = 1חחס 560 8 ";50|0600= ז06ושסזק" = חח506 = 8 ";50606=6822200 3%8כ" 8 ";005חושחזס = 688100 |הסוחן" "; =070ש58;2855= 10 60507" חח500 ה6ק1.0החס .86 66ץ0!וח6 ח6מס ' צוס) = 951 56% ץוח זה ס- 3006 = 6קץ דוס5זט6. 561 ]0606800 301 = 6כץ 0667 561.1 36 , , ,1 החם , "[65ט0סזק 6עו5ח26אם 105% ה6ד]" ה6ק561.0ז .5 10 ז0? 665וזכ %חו"ק ' 0 סך 1 = 1שחו זס= "." 8 (16105)1-.5%1 8 "% +0 6סוזכ +וחט 8 85 " 8 (16|0500-.561 שחוזס. פטופסס ]טסו 561 1חו %אס)] .6 6 600067 30 ה0 660 ה חס6 %6 0|056 ' 6 ַחוה%ס = 1חחס 56% סט 0ח= 2 הח 2000 06655 הצבת ערכים במאפיין הסוז63ס !'וס5'וש6 ההגדרות שתציב ב-068000]זס5זט6 עשויות להשפיע באורח מהותי על רמת הביצועים, אפילו כאשר מדובר בנפח בינוני של מקורות טבלאיים. הדוגמה הבאה מראה את הדבר בעזרת מקור רשומה המכיל מעט מעל 19,000 רשומות. השיגרה יוצרת את ערכת הרשומות בעזרת תצוגה המבוססת על המכפלה הקרטצית של הטבלאות 665ץסוקוחם ו- 5 00ס. שס התצוגה הוא 6₪ו/46זם |/שץ. הדוגמה פותחת את מקור ערכת הרשומות בעזרת 0%ח8010560|6 או ז50056567/6ּ כהגדרת המאפיין ה06800!ספזט6 שלה. ההגדרה 8005656467 גורמת לשיגרה להתקדם דרך הרשומות שבשרת, בזו אחר זו. ההגדרה 0%ח360560|6₪ מעבירה את הרשומות אל תחנת העבודה המקומית, כך שהשגרות יוכלו לגשת אל הרשומות דרך תחנת עבודה מקומית מבלי לחזור אל השרת עבור כל רשומה. השיגרה הראשונה בדוגמה מנחה את המשתמש להזין את הגדרת 063008 1ס5זו6 הרצויה. השיגרה השנייה מכינה דוח ומדפיסה אותו בחלון 1₪11601316. היא מדפיסה גסם את מיקוס וסוג הסמן, וכן את שעת ההתחלה, שעת הסיוס ומשך הזמן של המשימה. תוכל להתאים את התבנית הכללית הזאת לבחינת צירופים שוניס בין הגדרות של מסדי נתוניס לבין מקורות הנתונים שלך. ()ה0ו0680 60665071 הסקס סט5 חסוז66 08.60 ₪5 1 חהח6 חחוס 5 561 וחוס 6 5 6חסם ,28%6 ₪5 +58 וחוסם 5 6822200 חס 08180856 065תושרשזסא ס+ הס 66 החס6 הסמס ' 8 ";50|0600= ז06וטסזק" = חח506 6 ";6822200= 501766 הזכ" 8 ";005חושחזס = 688100 |הסוחן" "; = 0ז0ש58;2855= 10 60507" הסוח 8.60 ג שא = 1 החס 56% | ,650 ץע ,"?507זט6 |068! 056")א0ס ו זז חס ך 65פץע = ("2000 266655 167050 הווה וחהוטסזק" 30560 = ח06800]זספזו6. 1 חחס 56 = 0680 ]זס5זו6. 1 החס + 0חם חח5076 ה6ק1.0החס חח 606 חן עשסוע 06 676866 ;עשסוע שו6ו/06זהּ |צוצ חסמס ' . וק 06 פהוהחט 061076 ז507/0 ס6פהמַהז08 ' 6+ )0 0006%ז ה68+65|8 66 ₪565 6!קוח58 סחד ' .5 6915 07067 0ח3 665שסוקוחם ד ץח6ו5 6כץ דוספזו6 זס? 560 6600 הח 60 6חז זהח% ססטסא ' .560 )זסקסזק 6607056%ז %06 065וזסעס ' פרק 12: בניית פתרונות עם 1505 ופרויקטי 60055 - 533 שא = 961 56% 3% = 6קץ ד50זט6. 561 6 וק 0600 301 = 6קץ 0687 561.1 6 דה , , ,1חח6 , "שסו/סְחָז3 ושע" ה6ק561.0ז ששסא = 50071 501.0 טח ספ (6|05)1ו=. 1561 = קוחס% ]טסו 561 קסס | צשוסא] = 6ח00 6חס ,55816 ,6קץדזס5זט5%1.6ז ,ה0ו68ס |זס5זט6. החש 1650165סכטז 50 06ח= = ,100606 5 60/26 ,1006067 45 06ו650|55)6+וסק6ז פט5 (8%6 5 060/1ח6 ,2806 45 581001 " :107 5650|65" 6חוזוק. ופסכ 6 60856 56|60% 0 656 "0 : הס 068 | זספזט6 |" שחוזק.פטססס 005606 6856 "30056060 : חס0 0680 | זספזט6 | " פחוזק.פטססס 6 6856 "56000 ח0 0680 | זספזט6 שוט8= |" שחוזק.פטססס סחם 6 6856 ז56|60 ץ|ח00ז א ס- 00 6856 "ץ|ח00זזס- 3006 :6קץד זספזטס |" סחוזק. פטטסס 6856 "0656 3006 :6קץד זספזטש | " סחוזק. פטטסס וח חק 300 6856 "ה חץכ הק 300 :6קץד זספזטס " סחוזק. פטטסס 0-6 6856 "3050006 :6קץד זספזטש |" סחוזק. סטטסס סו6חם 8 " :560000 687656 0ז סו +זהל5" שחוזק. פטססס 8" :560000 68765%ח 60 סוחס סחם" זחוזק. פטססס (06000ח6 ,5080600 8 ,"5") ו הכ .8 " :5660005 חן 66ח6זאוכ" זחוזק. טופס סט5 0חם תרשיס 12.18 מציג את התוצאות של הפעלת השגרות, תחילה עס ההגדרה %ח6ו|80!0560 ולאחר מכן עס ההגדרה ז6/ז05656ַ85. מעבר הלולאה בין הרשומות נמשך שנייה אחת בלבד עס סמן מקומי, אולס נדרשו 37 שניות למעבר הלולאה דרך הרשומות בעזרת סמן בצד-השרת. התוצאות עשויות להשתנות, בהתאס למגוון רחב של גורמים, לכן רצוי לבדוק את העניין עם הגדרות נוספות מול מסדי הנתוניס המשמשים אותך. 4 הח 2000 406655 <1ם)- | 6 ו ! ה - :עסץת שכם1גוכפפת %מ61סכחהה :מס1נסבהשסת עסכ5מגוס ה נַססעשֶךַ עספטגוש זג 7:28:26 01/28/1999 :8ם00פ3 סכסעבהפת סם אבס 560306 חג 7:28:27 01/28/1999 :הםתסשסה ספבעהסםת 0סם ממגנס במק 1 :כבתסטסהם מם1 06ם6שב12+2ע :עסם 5ם1גוכשת עשעע 6 ש5חהה :2003510 עסממגוס ססכבעסתמסקסבהה :6קצך עספטוש חג 7:57:36 01/28/1999 :8םת0ס60ה 6כסתהסםת סס שמבם 55306 חג 7:58:13 01/28/1999 :הםתסססב סכפסעהסת סם שאגם המק 7 :5המסססכ5 מ1 ₪6םמ6ע6++1ע /6- תרשים 12.18: דוגמת פלט המראה את תוצאות העיבוד של אותו מקור נתונים, פעם עם ההגדרה %ח6ו|80560 ופעם עם ההגדרה ז7/6ז805656 דוגמה זאת חשובה מכמה טעמיס. ראשית, רמת הביצוע משתנה מאוד בהתאס להגדרה. שנית, ניתן לראות באמצעותה ש-400 משנה את ההגדרות שלך אם קיימת ביניהן התנגשות. לדוגמה, התוכנית מציבה %6/568ח30006 כהגדרה של סוג הסמן, אולס הגדרה זאת מתנגשת עס ההגדרה 60%ו80/05601, לכן מתרגס 00 משנה בשקט (ללא התראה) את הגדרת סוג הסמן ל- 8050806. דבר דומה מתרחש גס במקריס נוספים. שלישית, דוגמה ואת מציגה תבנית פשוטה שתוכל להתאימה בנקל לבדיקת הגדרות של מסדי נתוניס ביישומיך המותאמים אישית. פרק 12: בניית פתרונות עם 1505 ופרויקטי 600655 = 535 13 00 400655 וה-60/ 0 606055( 1670506 ממשיך במסורת הכפולה של טכנולוגיית אינטרנט חדשנית ושיטות שימושיות ופשוטות לפיתוח פתרונות בתחוס מסדי הנתונים ל-60/. 0 8066585 מכיל דפי גישה לעמודים, פקדי 606% חדשים, קישוריות מסד נתוניס משופרת, ו- |אזה דינמי טואדחפ). יכולות חדשות אלו מציינות את קיצו של אשף פרסוס התכניס ב-69/ מתוך 97 466655, שהכיל ממשק לפקד של מתאר ואדה. פקד זה לא היה אלא טכנולוגיית ביניים, עד שיושלס פיתוחה של שפת | דוס מבוססת על סטנדרטים. פרק זה סוקר את הטכנולוגיות המסורתיות של 860655 ל-60/, ולאחר מכן יעסוק בטכנולוגיית | ההיפר-קישורים, לרבות האובייקט אוהשקץת וסוג הנתוניס היפר- קישור (חווזפקץה). הפרק מוקדש ברובו לדפי גישה לנתונים, המפשטיםס את תהליכי הדיווח וקשרי הגומלין עס מסדי נתוניס דרך ה- 65\. סביבת הפיתוח לדפי גישה לנתוניס עשויה לשמש גס בתפקיד מארח לרכיבי 60\ ב- 2000 0866 50סז6!]. פרק 13: 2000 460655 וה- )65‏ 537 גישות מסורתיות טכנולוגיות 806655 המסורתיות ל-680/ מתאימות במיוחד לפיתוח פתרונות בנפח פעילות נמוך (כלומר, עד 10,000 מבקרים ביוס) ל-60/ ולמסדי נתונים. מכיון שבמקרים מסוימיס יש אי-התאמה בין גרסאות דפדפניס שונות של יצרניס שונים, דווקא הגישות המסורתיות הן הבטוחות, וגסם קל למדי להשתמש בהן. 2000 460658 כולל שלוש גישות מסוג זה: > פרסום גליונות נתוניס בתבנית |ואדה, אדח/6כ1 ו- ק5ה. 4 שימוש בטפסי |אזה. אין ב- 806655 סביבת פיתוח מוכללת לטפסי |ואז, אולס תוכל להתאים את טפסי וואזח הישנים שלך לטכנולוגיית ססה/8כ 015 (2460/6% 5 ₪ְ8%כ). > פרסוס דוחות בתבנית תמונה טְסחַ5כְִח5) בתוך תיקיית קז]. שיטה ואת מפשטת את הגישה לדוחות 466655 בעזרת דפדפני 6656806. פרסום גליונות נתונים כדי לייצא גיליון נתוניס של 860655, כמו למשל טבלה, בחר בפקודה יצא טזססאם) מתוך תפריט קוב (6/=) בחלון מסד הנתונים. פקודה ואת (המפרסמת גסם גליונות נתוניס שבבסיס טפסים ודוחות) מכילה חלק מהפונקציונליות שהיתה בעבר לאשף פרסוס התכנים ב-60/ המיושן. הפקודה מפרסמת גליונות נתוניס בתבנית וויד, אדח/16 ו- 455. תבנית |אז אמנס סטטית, אולס קל לערוך אותה בעזרת עורכי ]וחד הרגילים. שתי התבניות האחרות דינמיות. הס משתמשות בשרת כדי לכתוב תכני |אז₪3 כך שישקפו את התוצאות העדכניות ביותר בגיליון הנתוניס. תבנית %ד₪/106 מיועדת למעשה לשתי המהדורות הראשונות של 60חז6זח1 050ז6:₪ 5 הסה זס)ח1 (115), אולס היא מסוגלת לפעול גם עס מהדורות חדשות יותר. תבנית :45 פועלת רק עס המהדורות החדשות יותר, אולס מאפשרת שילוב של הסוס 56008 88516 |08פו/ 50סזסו₪ ו- 356076 אספסזסוא בקוד |אדה. לא כדאי לבחור באופן אוטומטי באחת התבניות הדינמיות. אם אתה עובד עס גליונות נתוניס גדוליס או בסביבה מרובת-משתמשים, ואס התכנים בגליונות הנתוניס אינס משתניס תדיר, או אס הזמן אינו גורס חשוב, ייתכן בהחלט שתבנית ₪191 הסטטית תתאיסם לך יותר, הואיל ופרסוס דפיס סטטיים מהיר יותר. פרסום בתבנית !₪ דו] כדי לפרסם גיליון נתוניס בתבנית אז, בחר טבלה, שאילתה, טופס או דוח בחלון מסד הנתונים, ולאחר מכן בחר באפשרות יצא מתפריט קובץ. בתיבת הדו-שיח יצא, השתמש ברשימה הנפתחת שמור ב (ח1 6ש58) לבחירת מיקוס לקובצ. אם אתה מפרסם ברשת ארגונית (אינטרא-נט), המיקוס יכול להיות תיקיה באתר. אס אתה מפרסםס 8 הח 2000 406655 בשרת 60/ מרוחק, תוכל להשתמש בכל תיקיה מקומית לאיסוף דפי ה- |וד, ולאחר מכן להעביר את דפיס לשרת המרוחק בעזרת הפקודה 6|=, %וסקוח1 ב- 0 סחַַקזחסז=. תוכל להשתמש גס בנתיביםס אחרים, כמו למשל פרוטוקול פד. תרשיס 13.1 מציג את תיבת הדו-שיח יצא לפרסום גיליון הנתונים שבבסיס הטופס 65 מתוך מסד הנתונים 6חושחזוסא!. תיבת הרשימה הנפתחת שמור כסוג (586 אד 958ג) מראה את תבית |אזה. התיבה שמור ב מגדירה את התיקיה 0 07606 68 כתיקיית הבסיס של אתר ברשת ארגונית מקומית בעל שס זהה. תיבת הסימון אתחול אוטומט* (ז8טפסזטה) נבחרה, לכן הדף יופיע ברגע שיפורססם. דבר זה יכול לגרוס להפעלת דפדפן להיפתח כאשר גיליון הנתוניס 6₪טחסזק פתוח. |<]?| 5 015ו01ז?]' חוזס-] !זסקא = + סז - ₪ 7 6 6 | ב)> [- 0 005 68 ] וח 588 5 6 וז : בו וז אספססיזס ו ₪ חלר. זונוה ]9 .2 מְהָבק ששח 65חשחח וססיכ ויז ה 3 3505 ח5 פס 536 ש] | = זל :זבה 6 | תרשים 13.1: תיבת הדו-שיח יצא כאשר לוחצים על שמור (58/6), מופיעה תיבת הדו-שיח אפשרויות פלט וואדוז (!ואדו פחסטסס זטסזטס). כאן תוכל לציין תבנית לדף המכיל את גיליון הנתוניס. אס הגדרת ערכת נושא לדף השח.:|ט06/3, תוכל להפנות אל דף זה. אס לא, תוכל להפנות אל קוב מקומי עס העיצוב שישמש אותך באתר המרוחק. אחד היתרונות של תבנית 1אז3 הוא שהפעולה שעליך לבצע היא עריכת טבלת וואדו. תרשיס 13.2 מציג את גיליון הנתוניס 00066זק שפורססם ב- 2000 פַחָּקשחסז=, ואת תיבת הדו-שיח 165זסכסיזפ 16פאד, המציגה חלק מאפשרויות העיצוב, לרבות הגנת תאים, מרווח בין תאיס וצבע או תמונת רקע. כמו כן תוכל להגדיר מאפיינים לתאים, שורות ועמודות כך שיציינו אפשרויות עיצוב אחרות. באפשרותך לבטל עיצובים מותאמיס אישית ב-86ַ8קשחסז=, ואפילו לבחור עמודות או שורות נפרדות, ולמחוק אותן באופן בררני. פרק 13: 2000 460655 וה-65/ - 539 | |ם])=. וו | קפ צוסטחוצצ 65ב 1806 1005 )התזט= =זספת1 אוסוע פוב 6ום 070 849|:50 8 8 ₪.ש-ם]| = 7 | - - (סחסו) וח ו קוזפווטטו5 |<]? | 5 זז 16ב ך : ב 0 | :ואו 5600 -] [+ 60] ווה 0 ]ובו יר וק 61 ו ₪ ₪ 3 0 :508 61 וט | - 5 * סהחסווג ₪ ו 3 1 :6 7 וטוה | שש | וט 2 ווחטווום. ₪] 0 שוב - || :וטופ טסוק סז 30% 96 -][ סז 30% וק | ...8100086 טסוק )171 ), והחוזסא ר תרשים 13.2: לאחר טעינת גליונות הנתונים אל תוך 6בַ62חסז=, תוכל לערוך את טבלת ד שתיווצר פרסום בתבנית אדו]/156 כדי לפרסם גיליון נתוניס באחת משתי התבניות הדינמיות, דרוש לך שם מקור נתוניס (א5ס) בקישוריות מסד נתוניס פתוחה (0086). על שס מקור הנתוניס לשכון בשרת ה-69/, לצד מסד הנתוניס שאליו הוא מפנה. גישת א5ס של קבציס היא לכאורה גמישה יותר, הואיל וניתן לשלוח את שם מקור הנתונים לשרת, אולס במקרים רבים, ספקי שירותי אינטרנט מחיליס כלליס מיוחדים שהופכים את הפעלת הקבציסם הללו למסובכת יותר. אצל ספקי השירותיס נהוג להפיק דרך קבע 5% אחד או יותר לכל חשבון של אתר 60\ עס זכויות שימוש במסדי נתוניס. לכן פעמיס רבות קל יותר להשתמש בשמות מקור נתוניס של המערכת ולא באלה של קבציס. בכל מקרה, שמות מקור נתוניס של המערכת עדיפיס מבחינת רמת הביצועים. לאחר שבחרת מקור גיליון נתוניס בחלון מסד הנתונים, ולאחר שבחרת קוב, יצא, בחר באפשרות (06ו.*;.6ח.*)1-2 115 6670506 בתיבת הרשימה שמור כסוג. בחר באפשרויות המתאימות לך, באותו אופן שנהוג עבור קוב |ואז. לחיצה על שמור תגרוס לפתיחת תיבת הדו-שיח אפשרויות פלט 106/ אד₪ (פחסטקס זטסזטס 6פ1/אדח) (המוצגת בתרשיס 13.3). השתמש בלחצן עיון (6פאוסזם) לבחירת התבנית שתעצב את הדף שיחזיר את התוצאות מקובא 106. כדי לפעול, קובצ 106 זקוק לשס אפפ בשרת. 0 הח 2000 466655 בתיבת הטקסט שם מקור הנתונים (סוחג 50766 מִז8כ), הזגן את שס מקור נתוניס שמנהל האתר שלך הקצה למשימה זאת. תיבת הדו-שיח כוללת גםס שדות זיהוי משתמש וסיסמה, למקרה שמסד הנתוניס בשרת ה- 60/ פועל עם אבטחה ברמת המשתמש (מקרים כאלה נדירים, במיוחד ביישומי אינטרנט). |<1?| 5חסוזם0 וטקוטס 6פו/אזו | 56טשסזם |[ ד ו :306!קוח6ד |ויזדםן הפוסה הזוס *ח1 5066 ₪53 פויא] : חב[ 506 63 51 חח פס 0567 )| זס] 355070 || שש תרשים 13.3: תיבת הדו-שיח אפשרויות פלט 16/ אדו קבצי 106 ו-%ז₪ משלימים זה את זה. קובצ 106 מפעיל שאילתה מול מסד נתוניס של 5 בשרת ה- פש6/צ. קובצ ₪1% משתמש בהרתחבות אד כדי לעצב את הקבוצה המוחזרת בתבנית |ואדה, לצורך הצגה באמצעות דפדפן. אמנס ניתן לכתוב את הקוד של קוב 1% בהרחבת |1זו₪, אולס הקוב מחזיר אל הדפדפן ואדה טהור, כדי שכל דפדפן יוכל לקרוא את התוצאות. מכיון שקובצ 106 יכול לחשוף את הקבוצה המוחזרת שלו רק באמצעות קובצ 1אז, תבנית ואת מתאימה לעיבוד גליונות נתוניס. עס זאת, אין היא מתאימה לעיבוד טפסים, מכיון שתבנית ההחזרה של 41 אינה קלט מתאים עבור מרבית טפסי וואדו. כאשר מפעילים זוג של א%ד₪/106 מתוך שרת 60/, הדפדפנים פוניס אל קוב 6פ1, שחייב לשכון בתיקיית שרת 60/ המסוגלת להפעיל 56065. קובצ 106 מפעיל באופן אוטומטי את קובצ אזהח, אשר בתורו מעבד את הקבוצה המוחזרת של קובצ 156 ומשגר את התוצאות, בתבנית |ד₪, בחזרה לדפדפן. פרסום בתבנית 4507 בדומה לקבצי 106 ו-אז, קבצי 459 וקוקיס להפניה אל א5כ. בתיבת הדו-שיח יצא, בחר באפשרות (5₪ב3.*) 73065 ז6עז50 86%1/6 1167050 מתיבת הרשימה שמור כסוג. בתיבת הדו-שיח אפשוויות פלט עמודים של שרתי 6ע26₪0 506סזסווא (5ח00ק0 זטזטכ0 8065 ז507/6 6ע60 500סז6וויז) הזן שס של אפפ. שאר השדות בתיבת הדו-שיח אופציונליים, ותלוייס בהעדפות העיצוב שלך ובהגדרות האבטחה של מסד הנתוניס (שדות אלה אופציונליים גס בתיבות הדו-שיח אדו]/6פ1 ו- וודו). פרק 13: 2000 66655 וה-65/ 541 תבנית ?45 שונה מתבנית %דח/106 בכך שיש רק קוב אחד. קובצ ?85 מבצע את השאילתה ומעצב את התוצאה לצפיה באמצעות הדפדפן. הקוב מפעיל את השאילתה שלו ויוצר את ה- |ודח בשרת, ולאחר מכן שרת ה-פ6/ מעביר את דפי ה- ואד בתזרה אל הדפדפן. קוד 450 שלהלן כותב את גיליון הנתונים שבבסיס הטופס 65ו00זק שבמסד הנתוניס סחושווזוסא אל תוך דפדפן: <סהם=-> < | ד > "סמש ד-%ח6ח60"= /001ם-ק דדר ג דםו]> <"5-1252ו00חו/ש=87156%ח6; |וחסח /+א66"= דא= דא 60 <ם 1ד1ד/ >65ט0סיק <ם וד ד> <צ800><פגשה/> %> החד (("מחס6 62000חואוא")חסו1500[66)5655 + ("חחס6 02000חועו1")חסו5655 = תחסס 56% 56 ("חס 8.6066 ")06 5.6860 = תחסס 56% "","", "2000 חושא" הסקס. החסס חחס6 = ("החס6 02000חוצוא1")ח56550 56% + 0חם <ל% %> החד (("5] 0006%5ק )ח0ו01660)5655 150 +1 ("5] 06%5ו0700")ח5655|0 = 5] 56% 56 "[פ60ט0סזק] 0חת * ז0ם |5פ" = |ף5 ("₪6607056%. 0008 )6768%600[60. 567/67 = 5ז 56% 3 ,3 ,חחסס ,501 ח5.006ז הסח ד 5.601 +[ 5.00 + 0חם 5 = ("5] 0006%5זק")ח56550 56% + 0חם <ל% <6ח0חה=5ם ]₪0 0= 506186 | 051 1 = 0 86601 1= 005 = ופ ד> <00605>/8זק <8 > <10% דק6> <000000א = 60108 "והוזה"=5 6 דאס-> < דא=/><ס1דק ה 6/> <אך><פסה=חז]> < 08=%000000. 808058601 0₪=%606060 86601 חד> <חחד/>< דא60>/=0ט00זק<000000א = 6010 "ווה"=65= 5125=2 דאס-> < 08=%000000. 808058601 0₪=%606060 86601 ד> <חד/> < דא 0=/ >6ותהּא6טססוק< 000000 = 0 601 "והוזה"=6- 5125=2 דאס-> < 80₪058₪601.08=%000000 0₪=%606060 86601 חד> <חד/> < דאס >670וופקט000000<5א = 6010 "וו7ה"=65= 5125=2 דאס-> < 05₪601.08=%000000 808 0₪=%606060 86601 חד> 2 הח 2000 406655 <חד/>< דא 0-/>1ץ000000<680600= 0 601 "והה"=65= 5125=2 דאס=> < 08₪=%000000 800540601 0₪=%606060 80601 חד> <חד/> < דא0=/ > חק ץח <000000א = חס 601 "וגוזה"==6- 5125=2 דאס=> < 08₪=%000000 804054601 0₪=%606060 80601 חד> <חד/> < ד 0 />66וקוה08₪=%000000<0 601 "וההה"=65- 5125=2 דאס-> < 08₪=%000000 804058601 08=%606060 86601 חדך> <חדך/>< ד00/>א105185506ח0₪=2000000<0 601 "וההה"=65- 5125=2 דאס=> < 08₪=%000000 800580601 0₪=%606060 80601 חד> <חד/>< דא0-/>07086ה50ח000000<0= 6010 "וההה"=65- 5125=2 דאס=> < 08₪=%000000 800540601 0₪=%606060 80601 חד> <חד/>< דא6/86|>/=0 הס <2000000= 0 601 "וההה"=65- 5125=2 דאס=> < 08₪=%000000 8040540601 0₪=%606060 80601 חד> <ףדך/> < ד0%- / > 6 טח ח560וכ <2000000 = 60108 "ווזה"==6- 5125=2 דאס-> <סגם ד/><חד/> <צסספך> >% + ₪506 זסזזם הס זו .5 6סא 6!וחצו 00 %< <ק0סד= 160 |ג/ אד> <8>< 08₪=%808080 80₪058601 סד> <6010₪=%000000 ")567 5805 605="15= 5125=1 ד=> < ד=/> <8₪> < %(6ט31/. ( "6 טססזק")6!05ו=. 5ז)6006ח= וו ד זז = 9%> <סד/><8/> < 50₪05₪60108₪=%808080 פזך> <%000000= 60108 ")567 5805 15"= 65 5125=1 דא0=> <> < 106% ( "36 6 סק" )605ו=. 5ז)6006ח= וא דרז 5 = 9%> <סד/>< דוס=/> < 50%₪05₪60108₪=%808080 פזך> <60108=%000000 "5671 5805 465="]15- 5125=1 דא0ס=> <0ם> <6(%6ט31/. ("קזז6ו|קקט6006)75.=16|05)"5ח= 1 ד ז7/6ז56= 9%> <סד/>< דוס=/> < 08₪=%808080 50%₪05₪601 פזך> <%000000= 60108 ")561 5805 15"= 65 5125=1 דא=> <חם> < %(6טן3ּ//. ("1ץ16|05)"08%6007=. 5ז)6006ח= | ד .= 9%> <סד/>< דוס=/> < 508₪05₪60108₪=%808080 פזך> <60108=%000000 "5671 5805 465="]15- 5125=1 דא0ס=> <0ם> <%(3106/. ("לוח סק ץוח 0" )16|05=. 5ז)6006ח= | ד = %> <סד/>< דוס=/> < 41077 = 1108 0₪=%808080 803055601 סד> <%000000= 60108 ")561 5805 15"= 65 5125=1 ד=> <> < %(6ט!3 /. ("06ו לסוח" )16|05=. 65 600חת ]א ד 5 = 9%> פרק 13: 2000 460655 וה-65/ 543 <סד/>< דוס=/> < ₪107 = 10| 0₪=%808080 90058601 פד> <601008=%000000 "5676 5805 2605="15= 5125=1 דאס-> <> < %(6ט!3//. ("51856066וח")16!05=. 5ז)6006ח= | דרז 5 = 9%> <סד/>< דוס=/> < ₪107= 10 | 0₪=%808080 903058601 פסד> <601008=%000000 "5676 5805 05="15= 5125=1 דאס-> <ם> < %(3[06/ (" 00 הוח" )5 ות 5ז)6006ח= | ד זז = 9%> <סד/>< דוס=/> < ₪107 = 10| 0₪=%808080 905058601 פד> <601008=%000000 "5676 5805 605="15= 5125=1 דאס-> <> < %(6ט|4/. ("|6ע6 |7ז6 6070" )6!05ו=. 5ז)6006ח= | .5 = 9%> <סד/>< דוס=/> <8>< ₪107 = 10 1 0₪=4000000 905058601 פד> <601.08=4000000 "וח605="5/5%6= 5125=2 דאס-> <> < 106% (" 60 טח ה 1560" )6!05ו=. 5ז)6006ח= | ד זז 5 = 9%> <חך/><סד/><8/>< דא0ס=/> >% עס .5 קססן %< < 001 ד/>< ד00= ד> <צס סט ד/> < |ואחדה/> <צ00/><ם ופה ד/> שיס לב, שיש בקוד תערובת של ₪191 ו-8566/. כמו כן נעשה בו שימוש ב-ססג כדי ליצור את החיבור אל מקור נתוניס, לשלוף ערכת רשומות, ולצרף את התוצאות לטבלת |אדה. לולאת 00 מעבירה את תוכן ערכת הרשומות אל תוך טבלת |אזהּ. שוס חלק מהקוד ב-856100/ אינו נשאר בגירסה שהשרת משגר אל הדפדפן; הדפדפן מקבל ואד טהור. תכונה ואת מתאימה את 455 לסוגים רבים ושוניסם של דפדפנים. הגמישות שבכתיבת |אז במסגרת העבודה השוטפת היא הגורס להשהיה כאשר דפדפן מפעיל קוב 450. אם דפים מסוימים מכילים יותר חזרות ושדות לתרגוס, נדרש להם יותר זמן חיבור מאשר לדפיס המכיליס מספר שדות ושורות בלבד. מומלצ לתכנן את תוכן דפי ה-455 כך שיכילו כמות מספקת של מידע בדף יחיד, מבלי לגרוס לעיכובים מיותרים בעיבוד. שימוש בטפסי !דח אחד היתרונות של טכנולוגיית 85 הוא התמיכה שלה בטפסי |אזה. נקודה ואת חשובה, הואיל וכל הדפדפנים תומכים בטפסי |אזה. תוכל להשתמש בטפסים אלה לאיסוף נתוניס ממבקריס באתר, או להחזרת תוצאות מסד נתוניס במבנה רשומה (לעומת מבנה גיליון נתוניס). טופס |ואז כולל פקד אחד, או יותר, להצגה או שמירה של נתונים. ככלל, הטופס מכיל לפחות לחצן אחד למשלוח שדות הטופס אל שרת ה-60/). אס מדובר בטופס המחייב מענה, אחת התוכניות בשרת תוכל לעבד את שדות הטופס, ולהפיק דף תגובה. 4 הח 2000 466655 במידה רבה, טפסי ₪411 פועלים כמשחק קריאה-ותגובה בין דפדפן ושרת 60/. המשתמש בצד הדפדפן ממלא את השדות ולוחץ על הלחצן שלח טווסט5) בטופס. כאשר הדפדפן שולח את הטופס לשרת, הוא מעביר את ערכי השדות בטופס, וגם שס של תוכנית בשרת אשר יודעת מה לעשות באותס ערכים. אהו חלק היקריאהי במשחק. שרת ה-60) שולח את ערכי שדות הטופס אל תוכנית העיבוד המתאימה בשרת. תוכנית ואת יכולה ליצור הד של ערכי הקלט, לבדוק את חוקיותס, לצרף אותס למקור רשומות, לבצע בדיקת מידע לנתונים מתוך מקור רשומות, ועוד. בדרך כלל חיא מכינה דף התזר כלשהו לדפדפן. זהו חלק היתגובהי. קבצי :45 יכוליס לשמש הן כטופס הראשוני המקבל את הקריאה, והן כתוכנית התגובה המשיבה לקריאה. תרשיס 13.4 מציג זוג טפס 4191 המדגימיס את אופי הקריאה-ותגובה המאפיין את העיבוד של טפסי |אזהח. הטופס העליון כולל תיבת רשימה נפתחת עס שמות של עובדיס במסד הנתוניס 6חואווזזסא. המשתמש יכול לבחור שם, לדוגמה חההחהחסטם, וללחוץ על הלחצן ח0ו%ח6+אם 66% כדי לשגר את הטופס לשרת. זוהי פעולת הקריאה. שרת ה-60) מעביר את טופס הקלט לקובא 850.חזו6זם!6ל, הקורא את הערך בתיבת הרשימה, מחפש את מספר הטלפון של העובד המבוקש, וכותב עבור הדפדפן דף המכיל את הנתוניס המבוקשים. זוהי פעולת התגובה. 0 160655 אינו כולל אשפיס מוכללים לבניית דפים מסוג זה עס טפסי |אדה, אולס התהליך אינו מסובך כלל. האתגר המרכזי הוא למידת התחביר של מספר פקדים לטפס: |ואדה, וכיצד ליצור בתוך קובצ 455 עירוב בין ]דח ו-5600 (למשל 8560%/). דוגמת הקוד הבאה היא כל שנדרש לדף העליון בתרשיס 13.4. שס הקוב של קוד וה הוא ספ3ּ.קטאססו66!6. שס זה מופיע בתיבת הרשימה 8007655 שבדף העליון בתרשיס. %> ("חסו66 8.00 )5/0 = 1תחס 56% 8 ";08.4.0ם 050.76%.01ז6ו1] = זסושסזק" ה6ק1.0 החס 8 "1606166 67050 65!= וחהזססזק:06=6טספ הזכ" "; סח חלס 65!ק 58" ("+₪6607056. 008" )0768%600[60. ]567/06 = 5ז 56% 1חחס ,"665ץ0!קרח6 וחסי * 56166%" ה6קס.5ז <ל% <|וח+> <680ח/ > <06/ > צוססחו/ קטאסס ]1 הסופח66אם <6> <680> <ץ000> <350. הז 6|6760= 600 205% = 66000 וחזס- עו =6חחהּח הזוס?> <2007100 =6חחהח 56!66%> :סחחּח 35% | %> לסה 6!וח/צ 00 <ל% <<%("6610ץס|קרחם")5.116/05ז= % > =6ט|פע הסטקס> <%("35%\3076 16]05)"1-].75]= 9% > %> ]5.6 קסס | <ל% פרק 13: 2000 460655 וה- )65‏ 545 <5660/> <זכ> <ז0> <"00ן6605אם 6=")06%ט|8ע ")וו פט6="5קץץ +טסחו> <|החז / > < ץ000/> < וח זס+/> [<וםו. 3 2 [ | ספ 1906 פפהסוםה ‏ הפע אם 6ם | סל [+ 350 .סוו1816|00%/ 2000 6סו]וס. פ6352200/68// :קוות ן₪] חן ה 8|!50 חאהסאיפ הס סים ₪ ל-₪0 וו ----ררה ‏ שאפץק] וטו 21 פס | 60 00[ 68וסטב] | פוש 08ם ‏ שו | ו [* 350 חזווז6זט161/, 2000 ססו₪]וס ס6352200/68// :קזוח ן₪] | חסשפום] 96 זפ 0 80% 010 .3453 15 מהתהםסגו ת6ז6ז₪ 507 מ910ם636 שמיד 1001020 62763910 01167סתה 101 10 סט 00ב 60 6 תרשים 13.4: טופס !ואד בתמונה העליונה קורא לשרת ה-60/ וגורם ליצירת דף המענה שבתמונה התחתונה 6 הח 2000 406655 שים לב שה-500% תחוס בסימנים %> ו- <%. מקטע ה-5610% הראשון יוצר חיבור אל מסד הנתונים סחושוח+וסא באמצעות מנהלי ₪8 015 שאינס וקוקים ל-א5פ. המקטע הראשון אף יוצר ערכת רשומות עס הנתוניס שיאכלסו את תיבת הרשימה הנפתחת. כעת, חלק מקוד ואד פותח דף, ועליו טופס. בהצהרת הטופס, הקוד מגדיר את 850 הז6|07600? כתוכנית שתעבד את הטופס. ממש לפי תחילתה של לולאת סת, התוכנית מצהירה על תיבת רשימה נפתחת עס מילת המפתת 5660 של שפת וואדו. היא מעניקה לפקד את השס 66000000 (שמות בשפת !41 אינס תלויי-רישיות). לולאת ה- ₪0 מאכלסת את תיבת הרשימה בערכיס מתוך ערכת הרשומות שיצר מקטע ה- 56% הראשון. הטופס מסתייס בלחצן אוחטש5 בעל תווית ה0סוח6:אם 66%. הקוב מַ35ּ.חזטס6ז%6!6 פותח אף הוא ביצירת חיבור וערכת רשומות, כפי שמוצג להלן. אולס פעולת פתיחה ואת נבדלת בשני מובניס חשוביס מזו של הקוב 850.קטאסס|6!6ז. ראשית, קובצ אה משתמש ב- א5פ כדי לעזור ביצירת החיבור. דבר זה אינו הכרחי, אלא שקבצי 452 רביס מעוצביס באופן זה. שנית, הקוד קורא את הערך של 000ח000, ומשתמש בו כדי ליצור את משפט 501 לשאילתה שתחפש את מספר השלוחה של העובד. %> ("₪6607056%. 0008" )0768%600[60. 567/06 = 5ז 56% "665ץ0|רח6 וחסז] * 561666" = |50 " = 665.600!0/6610ץ0!כוח6 6זסחצצ " 6 501 = |50 ("00 ו 060")רז6065%.10 86 501 = |50 "20007 חוששא= פ",|50 הסקס.5ז <% <|וח%+[> <680ה/ > <6ו/ > צוססחו/ %/650 הסופח66אם <%16> <680> <ץ000> <חזס)> "=ם |ג/ "דאם ד"=םק ץד סטסחו> :6וחבּא זו <"< %("6רחה 156" )5.116|05]= 96> <וחזס?/> ;05 << %( "86 156%" )96=75.0/6[05> "10 הסו5ח%6א6 סד <%("5.116|05)"1.35%)876]= 96> .<%("ח0סו%605אם" )75.616]05]= 96> 15 <"50ה. קטא6|6|00+"=]6וח 8> קטסס! ה0ו5ח06א6 זסח6סחה זס? הזוס אסט ססוח60 6+ סל 086% 030 <8/> <|וחזח/ > <ץ000/> לאחר שיצר ערכת רשומות עס הנתוניסם המבוקשיס עבור העובד שנבחר בקובצ 30 קט)ססו6!6+, הקוב 850 חז6ז6!ס+ מעצב דף. הדף מכיל את שמו הפרטי של העובד בתיבת טקסט וואזה, מחרוזת |אז₪ פשוטה עס השס ומספר השלוחה, והיפר-קישור להחזרת השליטה לקובא ספ.קט)ססו6!6?. כאשר שרת ה- ט6/ מעביר את הדף בחזרה לדפדפן, מסתיים מחזור הקריאה-ותגובה. פרק 13: 2000 460655 וה-65) 547 שימוש בתמונות ק] עם דפדפני 656326 פרק 6 עסק בתבנית התמונה 00ח805ח5) לדוחות, והציג דוגמאות של יכולות התבנית, אולס לא הזכיר שימוש בתמונות עם קד]. כאשר מציביס תמונות בתיקיית קד המיועדת לשרת 60//, דפדפני 6056806 יכוליס לפתוח אותן מרחוק בשרת ה-ט6/ש. המשתמש אינו חייב לטעון את הקוב אל המחשב שלו ולהפעיל מציג נפרד, כפי שנדרש בפרוטוקול סדדו. כאשר דפדפן 6056806 פותח תמונה של דוח מתוך תיקיית פד", הוא יוצר באופן אוטומטי חלון חדש עבור אותו דוח. תרחיש זה מניח ש- ז6שש6ו/ סח5קְ3ח5 (מציג התמונות) מותקן במחשב שלך, וכי יש בתחנת העבודה שיוך בין קבצים מסוג סח5.* לבין המציג. תרשים 13.5 מציג מקטע מתוך תמונה של הדות 6809|09 במסד הנתונים סחווחזוסא. התרשיס מציג ציור, גופניס מרוביס וסממני עיצוב נוספים, כמו למשל קוויס מפרידיס. הטופס להזנת הזמנות שבסוף הדוח 6863|08 אף הוא העתק נאמן. <1ם) = [קָח5.חַ313!0:] - זסאסו וסת5קב3 5 "₪ |8|= 4 אוסטחו אסוצ ות - בי ב 551% 90%, 0010665, 1905, 0975, 1 5 :ו :ו ינ ע10ז2₪0) | :1723 0₪61ס+ת :סיו 10 8 20 א 68אסם 10 1 1 190 8 ₪ 12 - 24 2 ונבו[ 180 6 פשפ סט 750 פָ3 6 שו 96 1וסוד ודב ו[) 220 8 12-75 8 6 66 65016 0 8 355 -12 4 3 יד 3 0 %46 ג 500 - 16 3 8 וספ 100 41 500 16 01 110 1/3143 1-00 8 ₪ 12 -24 7 0 1.3 611301 ((וזנגד 1 8 1/3 10 3558 - 24 70 1,301 130 5 8 - 24 5 161 51611 1-10 ווביב מונט ו[ 1400 8 ₪ 12 -24 34 5 ו[10 53 100 8 ₪ 12 -24 35 5101 51661676 31+ 1 8| 4[ ₪ 1 655זם ,46/0 זס] תרשים 13.5: מקטע מתוך תמונת דוח, שנפתחה בעזרת דפדפן 16056806 8 הא 2000 06055 בעת שמירת קובצ התמונה, הצב אותו בתיקיה ד108₪00= עבור שרת ה-65\ (או בתיקיית קז" אחרת). בתיבת הכתובת ח10ו10689% ב-6056806, הקלד /זש/ז6פססאו]/:ס קח6.5 ה ח6!. הצב את שס שרת ה-ט6/ שלך במקוס ז8/ז6056או (בדוגמאות שבפרק זה, שרת ה- ס6/ הוא 6802200). מכיון שפרוטוקול קז נפוצ ומקובל מאוד, תוכל להיעזר במנגנון פרסוס גה לעבודה עס סוגיס רביס של שרתי 60/ ודפדפני טס/ו. שימוש בהיפר-קישורים בפרק 5 למדנו כיצד להשתמש בהיפר-קישורים כדי לנווט בטפסיםס בתוך יישוס מותאס אישית. והו רק חלק קטן מהפונקציונליות הטמונה בהיפר-קישורים. תוכל לנווט גם אל מסדי נתוניס אחריס של 260655, אל סימניות במסמך 6זס/, או אל כתובות 081 ברשת ארגונית ובאינטרנט. תוכל להשתמש בהיפר-קישורים גס להפעלת תוכנת הדואר האלקטרוני שלך (כמו למשל 00000% 1670506) עס כתובת של פרט מוגדר ונושא נתון. סוגים של היפר-קישורים היפר-קישור יכול להופיע כתווית, כלחצן פקודה, או כפקדי תמונה לא מאוגדיס בטפסים, בדוחות ובדפי גישה לנתונים. כמו כן ניתן ליצור היפר-קישוריס מאוגדים, כך שטבלה תוכל להכיל סדרה של היפר-קישורים. באפשרותך להקצות היפר-קישור ייחודי לכל רשומה בטבלה. אחד השימושים הברורים מאליהם באפשרות זאת הוא שיוך כתובת !08 לכל ישות רשומה (כמו למשל, חברות). לאחר שעקבת אחר היפר-קישור מאוגד או בלתי מאוגד, תוכל להשתמש בפקד א886% (הקודם) בסרגל הכליס של הדפדפן או בסרגל הכליס אינטרנט (ט6/) של 0666, כדי לנווט בחזרה אל 5 מכתובת יעד של היפר-קישור. סוג הנתונים אווווסטצעו-] כאשר משתמשיס בהיפר-קישוריסם מאוגדיס, היישוס מציין שסוג הנתוניס הוא היפר- קישור (חווזסמץה). סוג נתוניס זה עשוי להכיל עד ארבעה חלקים, שכל אחד מהס מופרד באמצעות הסימן %. החלק של טקסט התצוגה יופיע ראשון אס תציין זאת. טקסט זה מופיע במקוס הכתובת שאליה מוביל ההיפר-קישור. לדוגמה, במקוס היפר-קישור המראה את הכתובת של אתר 11670506 ב- טסש, ניתן להציג את הכיתוב ו החלק השני מכיל את הכתובות - כתובת ₪1 או 6א0 של קובצ היעד. הכתובת עשויה להיות מוחלטת או יחסית. באתרי 65/, מקובל לציין היפר-קישוריס באופן יחסי. ב-2660655, כתובת יחסית נגזרת מההגדרה בסיס היפר- קישור (8856 >חוהוסקץה) בקובצ 5. תוכל לבדוק הגדרה ואת על ידי בחירה בפקודה מאפייני מסד נתונים (70067165ק 28%80856) מתפריט קובצ (6!₪) שבחלון מסד הנתוניס. פרק 13: 2000 460655 וה- /65‏ - 549 החלק השלישי הוא הכתובת המשנית, המכילה את שס החלק של הקובצ שיש לנווט אליו. החלקים שניתן לנווט אליהם תלוייס ברכיב 06066. ב-860655 ניתן לנווט אל אובייקטיס של מסד נתוניס, כמו למשל טפסים, דוחות, טבלאות ושאילתות. תוכל לציין סוג של אובייקט מסד נתונים, כמו למשל טבלה, ואת שמו של אובייקט מוגדר, כמו למשל 75ז06ח500ט6. אינך נדרש לציין את סוג האובייקט, אולס אם מסד נתוניס מכיל מספר אובייקטיס באותו שסם, 860655 ינווט אליהס בסדר אקראי. אס היפר-קישור מכיל הן כתובת והן כתובת משנה, הקישור ינווט אל קובץ אחר. אס חסר החלק המכיל את הכתובת, הקישור ינווט אל אובייקט במסד הנתוניס הנוכתי. החלק הרביעי, תיאור המסך, חדש ב- 2000 460655. הטקסט מופיע כאשר מניחיס את הסמן על היפר-קישור. הוא עשוי להכיל תוכורת אודות מטרתו של היפר-קישור. תיאוריס אלה מופיעים עבור היפר-קישוריס בדפיס מוצגיס בעורת 4 ז6זס|קאם %6706%ח1 ומעלה. כמו כן הס מופיעים ביישומיסם מותאמים אישית ב- 0 66655. הוספה ועריכה של היפר-קישורים כאשר מקלידים כתובת היפר-קישור חדשה, פשוט ובטוח יותר להשתמש בכלי הוסף היפר-קישור (חו!זסקץ 56%ח1), או בפקודת התפריט המקבילה. תוכל להפעיל את הפקודה הוסף היפר-קישור מכל נקודה שבה אפשר ליצור היפר-קישור במסמך. לדוגמה, תוכל לבחור פקודה ואת מתוך התצוגה עיצוב (ח0ו65כ) של טופס, אס תרצה להוסיף היפר-קישור כתווית. תוכל להעניק ללחצן פקודה יכולות ניווט על ידי לחיצה על הלחצן בנייה (0ו801) הסמוך למאפיין כתובת היפר-קישור (2007655 >חווזסקץה) או כתובת משנה של היפר-קישור (4007655פ5 >חוחםקץ) של לחצן הפקודה. בדרך דומה, תוכל להעניק יכולות ניווט גס לפקד ציור. כל הפעולות הללו פותחות את תיבת הדו-שיח הוספת היפר-קישור בטופס. ערך הכיתוב של התווית הוא דוגמת 452 שבאתר הדמיוני 66655 16705086 ףחורוהזסזס, שכתובת ה- 081 שלו היא 60 .קט06ס|6!6/ ח0500.600ז6ווח.5800!65//:קח. לחצ על תיאור מסך (כו1ח56766) כדי לפתוח תיבת דו-שיח שנייה להזנת טקסט עבור תיאור המסך המשויך לאותו היפר-קישור. תוכל ללחו על הלחצן כתובת דואר אלקטרוני (₪007655 |ְג8-ם) בפס האפשרויות כדי לפתוח את תיבת הדו-שיח בגירסה מתאימה לדואר אלקטרוני (ראה תרשים 13.7). תיבת הדו-שיח מוסיפה באופן אוטומטי קידומת פרוטוקול סוווח כדי להפעיל מהדפדפן את תוכנת ברירת המחדל לדואר אלקטרוני בתחנת עבודה. כמו כן תוכל לצייו את הנמען ואת הנושא. בדומה לבחירה מתוך אתריס שכבר ביקרת בהסם בעבר בעת שאתה מקצה כתובת היפר-קישור, תוכל לבחור מבין כתובות דואר אלקטרוני ונושאים שכבר הזנת בעבר. ההיפר-קישור שתרשים 13.7 יוצר מציג את המשפט 2 6+ !וח כאשר משתמש לוח על משפט זה, הוא מפעיל את תוכנת הדואר האלקטרוני של המשתמש, כאשר הנמען הוא 06.065ו060680א0, והנושא הוא 560070 6ח6. 0 הח 2000 4066655 |<1?| אחו!זסקעץ!] זזס5ח! | .מו 500 6 300658 ]/ס8סזסו? ההווחחחה זםסז?] זב 6!קהח53 50ג] :5013 0 לאד :0 חו 1 :הבח 6הָבּם פ6/ זס ₪86 חס שיד . 35 סנ סס|56]6/ סש .51 סזסוות .5165 ] : קלס ₪ :זס)] שפאוסזם | חזסץז] 56665 זכ 5 שו | ג |החסר]. 5ל סו וסוס 2000 866]ס 6302200/630]]: ספת 6 סא - 0 66וזס - 6802200/630]/:קשת | ...חב ספעצ - - ו ₪ 5 5 | ו ק35. סט סס|5616/ 2000 078106 6302200/630]] :קת 50ב 5שוםסזם/ 2000 068166 6302200/630]]:קססת ו 5ס סוס זכ 2000 018166 6302200630 ]:קססת סח 13 זס:ק3 = 55ח6וחנסס עזי 5 6 חחלר. ]טב 16 5ש/ עו :-) ₪ | ספה . 533 ה ס6. 300655 5 חק תורח וח וסוכ אוואוואו] ] : קסס! 5חו1 % ₪ּ | .%זבותססם ]סוס / הס 555 חב רתוח זףוסיזם. אאא קסטת ו בי 5 וובהח-= | | 22| תרשים 13.6: תיבת הדו-שיח הוספת היפר-קישור של כתובת ₪( |<|?| אחו!זסקע1] זזס5ח! | .וח 50 2 8 וב ] :0503 50 >אפד :0 או 1 :300655 5-3 / . 1106561 0ס1רח] ןז זס וו ספוא ישן 50 6] 9 :300765565 ||8חח-6 560 ץסתסספת 5 %=180וו6?5פח, שחו 3 16665'ו: ספ!וה ות 2 0 625%(0180:=]1655306פח. הוה 636סות: סם]וה רת 0ס]=-67540160ח. אחופ 3 166626'ו: ספ!וה רת שח אהוס 0626ות: 0ם]ו וח 860036%] 555 8עש=50[60? שחו 1666263ז: 60]וה רתח ח06ו85זק 06 0ם ז6750[666=|606שח, 6חום 3 666שו: סם]וה רתח פוחד חו ז86ןס 6 . ו תרשים 13.7: תיבת הדו-שיח הוספת היפר-קישור להודעה בדואר אלקטרוני פרק 13: 2000 460655 וה-65/ - 551 לאחר הוספת היפר-קישור ביישום, תוכל ללחוצ עליו לחיצה ימנית בעכבר ולבחור באפשרות היפר-קישור מתפריט הקיצור כדי לראות את האפשרויות לעיבוד היפר-קישורים קיימיס. הפקודה עריכת היפר-קישור חווזסקץח +0ם) היא הבחירה הטבעית לצורך הכנסת שינוייס בהיפר-קישור קיים. הפקודה פותחת את תיבת הדו-שיח עריכת היפר-קישור, שעיצובה זהה לתיבת הדו-שיח הוספת היפר-קישוו. השתמש בתיבה ואת לעדכון השדות הרצויים בהיפר-קישור. לאורך זמן, ייתכן שתצטרך ללטש את הטקסט המוצג או את כתובת ה- 081 של היפר-קישור. בדומה לכך, תוכל להוסיף ערכים ברשימת הנמעניס של קישוריס המשגרים דואר אלקטרוני, כדי שהודעות ינותבו אל יותר נמענים באופן ישיר. דוגמאות של היפר-קישורים אחד הדפים הפופולריים ביותר באתרי פ6/ רבים הוא דף מועדפים (פסזְסטִ8-) שהוא טופס 66655 המצביע אל אתריס בעלי ערך או מענייניס בעיני המחבר. באפשרותך להוסיף דפים דומיס בפתרונות 66655 מותאמים אישית. דף מועדפים יכול להכיל אתרים כמו קישורי דואר אלקטרוני או קישורי פ6\ אל בית העסק שלך, וכן כתובות של אתריס המכיליס תמיכה טכנית במחיר נמוך או בחינס. תרשיס 13.8 מציג דף מועדפים במתכונת של טופס 2600655, עס שני ציורים ושתי תוויות. כל הארבעה משמשים כהיפר-קישורים. הציור הראשון הוא לוגו החברה שלי. כאשר משתמש עם חיבור פעיל לאינטרנט לוחץ על הציור, 8466655 מוביל אותו לאתר ה-65) של התברה. הציור השני הוא הלוגו של 460655 167050%, שמוביל את המשתמש אל אתר 460655 בתוך אתר 0501%ז6ו1. שני ההיפר-קישורים במתכונת תווית פותחיס קישורי דואר אלקטרוני אל עובדיס בחברה. |<1ם) - | הזז ] : 6%!וזסצב ]ע)אחזז) ₪3 זס] 5או. 6+ווסעטב-] וס 51+6 .6חה] , םה 6 וט 0951ז(7 06+ )0 66 וו ה 0% נ | ז הָ0ו 201 8 תרשים 13.8: דף מועדפים המכיל שני ציורים ושתי תוויות, המשמשים כולם כהיפר-קישורים 2 הח 2000 466655 תרשים 13.9 מציג טופס עס חיפר-קישור מאוגד המבוסס על טבלה של חיפר-קישורים. הטבלה מופיעה בתמונה שמתחת לטופס בתרשים. תיאור המסך, 6800081015 8ה6, מופיע עבור החיפר-קישור הראשון. התצוגה התחתונה מראה את ההיפר-קישור האמור במצב עריכה, החושף את חלקי החיפר-קישור. שים לב שיש טקסט תצוגה וכן חלק המכיל כתובת, אך אין כתובת משנה. ההיפר-קישור מסתיים בטקסט תיאור המסך. <1ם]- | ו -- :5אתו!זסקערע] 6 400075085 | 5 ]₪ [++ ו | וי( ]| 4 ]ו 0 |<1ם)ן-. ב ןו הו אחווזס קעוועוז 0 טחוס 3 תמח סח| , 530 1 400855 זפזו= ץז ץע ורחב עו 5 סו רתח זט סז 2 8ח1 1855308 5 %₪ [++1 ו | :וה ]| 4 ]4 0 תרשים 13.9: טופס עם היפר-קישור מאוגד המציג תיאור מסך עבור ההיפר-קישור הראשון בטבלה; הטבלה חושפת את התחביר המלא של ההיפר-קישור הראשון יצירת דפי גישה לנתונים והשימוש בהם דפי גישה לנתונים הס קבצי |אז מאוגדי-נתונים. במובניס רבים, הס נראיס ומתנהגים כמו הכלאה בין דוח 806655 לטופס 8600655, מכיון שניתו להשתמש בהס לדפדוף בין הרשומות במקור נתוניס. החיבור של הדף למסד נתונים מאפשר למשתמש להוסיף, לעדכן או למחוק נתוניס. בדרך כלל, אולס לא בהכרח, הנתוניס באיס מתוך אובייקט מסד נתונים בקובצ מסד הנתונים הנוכחי. תוכל להשתמש בכלי מיון וקיבוץ פרק 13: 2000 460655 וה-65) - 553 (פחוקטוסז₪ 300 פַח0ז50) להצגת נתוניס באופן היררכי - לדוגמה, בדוחות עס כותרות קבוצות או מקטעים מרוביס ומקונניס. הסמל עמודים (28065) שבחלון מסד הנתוניס מייצג את אובייקטי דפי הגישה לנתוניס המשויכיס למסד נתוניס. אולס 460655 אינו שומר דפים במסד הנתונים, אלא כקבצי ודחפ במערכת הקבצים, לדוגמה, בתיקיה בשרת הרשת הארגונית. האוסף עמודים (פסחָפּק) שנמצא בקוב> מסד נתונים הוא אוסף של היפר-קישוריס אל קבצי ה- וואזחפ. יצירת הדפיס נעשית במסגרת 660655, ואילו המשתמשים יכולים לפתוח אותס ב- 5 זסזס|קא= 6%חז6לח1 או ב- 2000 ₪06655. הערה: אם משתמשים מרובים יפעילו דף באמצעות דפדפנים בתחנות עבודה שונות, ייתכן שתיאלץ לשנות את ההגדרה 50006 0318 בקבצי ה- וואדחפ, כך שלא תפנה אל אותיות של כוננים מקומיים. השתמש בכתובת 6א (חזסזוחט החסולה6שח60 פַחהווחה) במקום זאת. יצירת דף גישה לנתונים 0 600655/ מכיל אשפים ליצירת דפי גישה לנתוניס על בסיס טבלאי או במתכונת של עמודות. אפשר גם לבסס דף חדש על דף פ6/ קיים. עם זאת, רבים יעדיפו ליצור דף גישה לנתוניס על ידי פתיחת דף ריק בתצוגת עיצוב (ח65/9ס) ואכלוסו בפקדים מתוך תיבת הדו-שיח רשימת שדות 115 ₪6/0) (המוצגת בתרשים 13.10). כדי לאכלס את הדף, תוכל לפתוח את הצומת טבלאות (180!65) או שאילתות (65ו6ט0) ולחשוף את שמות הטבלאות בחיבור הפעיל. אס תיתקל בטבלה שתרצה לבחור ממנה ערכים לדף החדש, תוכל להרחיב את הטבלה ולסקור את השדות הנפרדים. בשלב זה תוכל לבחור שדות על ידי גרירתס ושחרורס בדף החדש. לחילופין, תוכל לאכלס את הדף בכל השדות של טבלה נתונה על ידי גרירת שס הטבלה אל הדף. לאחר מכן תוכל לסדר את השדות בעיצוב של טבלת עמודות או טבלת ציר. אותן פעולות תוכל לבצע גס בשאילתות. הערה: העיצוב של דוח טבלת ציר (8!ספ9ד 6סטוק שמקורו ב- |69א5), הוא עיצוב טבלאי מיוחד שמפשט יצירה של סיכומים מקובצים ואינטראקטיביים של הנתונים במקור רשומות. נראה שעתידן של טבלאות ציר כממשק חזית פופולרי לעבודה עם קוביות נתונים רב-מימדיות, מובטח. 4 הח 2000 406655 ב ]| ל בר |ש | ₪ ל פז|| 6 > | | םב | ₪ | 9 | ₪ | - || | + [ ופטחו 1005 ממוחזם וספת אס 36 6 | | | ב .13 3 3 וז 6% 5 זסםח16ז/י! וחב = ב 5 וה [ 0 סזוחג= 7 שוחבח 3 ב בו חסוזמו6ה ] 5אחו!זסקעיתעוופ+ ו 6088566 בי תרשים 13.10: השתמש בתיבת הדו-שיח רשימת שדות כדי לאכלס דף גישה לנתונים ריק בפקדים המאוגדים אל שדות של מסד נתונים כדי לשנות את החיבור הפעיל, לחץ לחיצת עכבר ימנית על מחבר מסד הנתוניס בפינה השמאלית-העליונה של תיבת הדו-שיח רשימת שדות, ובחר באפשרות התקשוות (ח6600החס6) מתוך תפריט הקיצור. בתיבת הדו-שיח 65וזסקסיוק אחז בצה (מאפייני קישור נתוניס) שתופיע על המסך, בחר במנהל חיבור 08 015 ובמסד נתונים המתאיס למנהל התקן זה. כאשר תסגור את תיבת הדו-שיח, תציג תיבת הדו-שיח רשימת שדות את הטבלאות והשאילתות ממקור מסד הנתוניס החדש. יצירת דף טורי פשוט והשימוש בו תרשים 13.11 מציג דף גישה לנתוניס פשוט המשמש כטופס עבור הטבלה 5 חסוץ|ווחא= שנמצאת בקובצ מסד נתוניס. הטופס מציג ארבעה שדות. הפקד שמתחת לשדות תומך בניווט ובפונקציות נוספות. לחיצה על שני לחצני הניווט בשני צידי חלון מציין הרשומות תגרוס למעבר קדימה ואחורה בין הרשומות בערכת הרשומות שעליה מבוסס הדף. פרק 13: 2000 460655 וה-65) - 555 1 =) > - 66 עוורחהּ- זסז והזס- ב- 1 סוחופ |- אסו=| 6חההה" - חספטסס 6חופת.] |6] חסוופו6 ₪ 7 שי1ג ]5 ל ל ?+ | מ 5 ₪ 1 פזסטוחפוץ!ו וחב = 4 + 600 ססת! 0 58/8 0 6ז6!6 6000 וס ססר 3451 | 6000 )א6וז תרשים 13.11: דף גישה לנתונים המשמש כטופס; המשתמש יכול לדפדף, להוסיף, למחוק, לערוך, למיין ולסנן רשומות בעזרת פקד הניווט שמתחת לשדות ששת הלחצנים הראשונים מימין למציין מקור ומספר הרשומה הם: לחצן 6600 זא6 (הרשומה הבאה). מעבר לרשומה הבאה. לחצן 866070 185% (הרשומה האחרונה). מעבר לרשומה האחרונה. לחצן ₪66070 אוסא (רשומה חדשה). הוספת רשומה חדשה. לחצן 66010 6ז6|6 (מחיקת רשומה). מחיקת הרשומה הנוכתית. לחצן ₪66010 58/6 (שמירת רשומה). שמירת השינויים שנערכו ברשומה הנוכחית. /-- 4 / / / / לחצן 0ז₪660 סח (ביטול שינויים). ביטול כל השינוייס שבוצעו ברשומה הנוכחית ולא נשמרו. אם הזנת רשומה שאינך וקוק לה עוד, מחק אותה בעזרת הלחצן 0ז₪660 6!606ש. כמו כן תוכל לערוך רשומות על ידי הקלדה על גבי התוכן שהן מכילות, הוספת תכניםס או מחיקת תכניםס קיימים. כדי לשמור שינוייס שביצעת, השתמש בלחצן 66010 58/6. אס אינך מעוניין לשמור אותם, לחא על 8660106 ססחנ. 6 הח 2000 466655 שאר הלחצניס בפקד הניווט (להוציא לחצן העזרה שבקצה הימני) מיועדים למיון וסינון: > לחצני 456600109 +ז50 (מיון בסדר עולה) ו-9ח6566001 +ז0ס5 (מיון בסדר יורד). ציין את כיוון המיון. כדי למיין לפי ערכיס בשדה, לח בשדה ה ברשומה כלשהי, ולאחר מכן לחץ על אחד מלחצני המיון. > לחצן ח56!66000 עמ זספוו= (סינון לפי בחירה). מחיל מסנן המבוסס על הערך הנוכחי בשדה. לחצ בתוך השדה כדי לבחור ערך לסינון (לדוגמה, השדה פַהִַהַח1 עס הערך חספססכ), ולאחר מכן לח על הלחצן ח0סוז56166 עֶט וספוו=ם. בעקבות פעולה ואת התצוגה תשתנה ותציג רק את הרשומות המתאימות לערך הסינון שנבחר. לדוגמה, אס בחרת בערך 0050 עבור השדה פַחהַה! בתרשיס 13.11, מציין הרשומות ישתנה מ- 5 00 1 65 ח6!ץ!חח8= (5זססוה6ואץ!וחחה] 1 מתוך 5) ל- 2 ]0 1 5זססוח6זץ!וחח3=. > לחצן זסטוו= 9/6פַסד (סינון דו-מצבי). מחיל או מבטל את החלת המסנן. כל התפקודיות הואת עומדת לרשות המשתמש מתוך 860655 עצמו, כמו גס מתוך דפדפן שנמצא ברשת ארגונית (אינטרא-נט). התצוגה המוצלחת ביותר של דפי גישה לנתוניס, כולל תפקודיות של כל התכונות, היא באמצעות 5 זסזס|קא= ז6חזסשח1. ירידה בתפקודיות בדרגות שונות מלווה את השימוש ב- 4 זסזסוטאם 6%חז6פח1. משתמשיםס המפעילים דפדפנים אחריס מלבד 5 זפזסוקאם 6%חז6פח1 ייאלצו להשיג גם פקדי 6%ע60 כדי לקרוא דפי גישה לנתוניס ולטפל בהס. קיבוץ רשומות אחת התכונות החשובות של דפי גישה לנתוניס היא יכולתס לקבצ רשומות ולהרתיב קבוצה באופן מותנה, כך שהערכים הנפרדים שהיא מכילה ייראו. תרשים 13.12 מציג יכולת וו. הדף הנראה בתרשיס מקבא רשומות מהטבלה פזסטחסויץ!ווחה] לפי השדה שפח ]|. כל רשומות הטבלה ששס המשפחה בהן זהה, מתקבצות לקבוצה אחת. כאשר המשתמש לוחי על לחצן ההרחבה האפור (הוא משתנה מ- [+] ל- [=]), מופיע פקד ניווט שני, מקונן, ומאפשר דפדוף בין הרשומות בעלות אותו שס משפחה. לחיצה על פקד הניווט החיצוני תגרוס לסגירת התצוגה המורחבת ותעבור אל הרשומה הראשונה עם שס המשפחה הבא. ניתן להציג יותר מרשומה אחת בדף. השתמש בהגדרה גודל דף נתונים (806ק מְּזהכ 6) שבחלון מיון וקיבוץ (סחוקטסז6 6חה פַחטז50) כדי לצייו כמה רשומות להציג בכל פעם (ראה חלון תחתון בתרשיס 13.13). החלון מאפשר לקבוע את גודל הדף באופן בלתי תלוי עבור שדה הקיבו כמו גס עבור השדות שבתוך קבוצה. השתמש בחלון מיון וקיבוץ לדפי גישה לנתוניס כדי לקבוע אס יהיו לקבוצות מקטעי כותרת עליונה וכותרת תחתונה, כפי שאתה משתמש בחלון המקביל כשמדובר בדוחות. השתמש בהגדרה קיבוץ לפי (ץ8 סטסזס) כדי לציין מרווחים, טווחי ערכים וקידומות לשדות קיבוא. פרק 13: 2000 460655 וה-65) 557 [<1ם)- | 5 ץוחב ] 5 הפמטכ| 5זשמחסאע/הסת/0 00 שחופה |- = ₪ שש ]5 שי ל א ו ,ו 2 ז0 1 פזסטוחפוזץ!והזב= | 4 4 ₪ קש [5 7 = א | ול + 2 0 1 שבח 1- טטר פוזץ!ות = | 4 ו תרשים 13.12: ניתן לקבץ ולבצע הרחבה מותנית של רשומות בקבוצות, בדפי גישה לנתונים ב ו = שר 2 5 ל ₪ א || 2| זס 1|-0| 6ופסוחסוא ץור = | 4 וצצ ו בעייקייטייייייטיטייייקיטיעיעיעיוין | ישייטייטייטייייקייקיקיקיטיטיעיעיעין | בקיקיניטייקייטייייטיייקישיוישי ויו | 5 ו סו סנו 5 5600 הסחוי 60 סל 860105 ]ס זפסוחטח שחל 6פעיד ₪3 06/00 8 חא הַחוקטוסיזף 505 זס] חס חס 8 ואוסת5 | = [ = 1 6 פחָק 863 ו 6 ח0 קטוסזב 10 ]16678 קוסזב ת6זשי] הטנוס ז]. וי זט חס סו קטוסיזב ו זסטו קטסזם תרשים 13.13: בתצוגת עיצוב, תוכל להוסיף פקדי הרחבה כדי לאפשר למשתמשים לפעול עם הדפים, ולבצע בהם הרחבה מותנית כדי לראות את הרשומות בתוך קבוצה נתונה החלון העליון בתרשיס 13.13 מראה את התצוגה עיצוב (חאָו69כ) של הדף מתרשיס 2. שים לב, שהוא מכיל שני פקדי ניווט. באפשרותך להקצות פונקציית קיבוצ לשדה על ידי בחירת השדה ולחיצה על הלחצן קדם (סססחוסזק) (הח המצביע שמאלה) בסרגל הכלים עיצוב עמוד (ח005!0 6ַאָּק). כאשר מקור הרשומות של דף נגזר מקשר 60655 2000 /8₪ 8 גומלין של יחיד-לרבים, ניתן להשתמש בכלי מיון וקיבוץ כדי לקבץ את כל השדות מצד הייחידי של קשר הגומלין במקוס לפי השדות בצד הירביס'. במקרה זה, 860655 ממיין ומקבצ את הרשומות לפי המפתח הראשי של צד הייחידי בקשר הגומלין. רכיבי 60/ של 2000 011166 בדפי גישה לנתונים 0 01606 משווק בלוויית שלושה רכיבי ט6/ (במהדורות 0ז08ח508, |008ו1655סזס, החטווח6זק ו- זסקס|8ש6כ): גיליון אלקטרוני, טבלה ורשימת טבלת ציר. השתמש ברכיבים אלה להשלמה והרחבה של תפקודיות מסד הנתוניס הכלולה בדפי גישה לנתוניס. אס באתר מסויס יש רשיון המתיר הפצה ברשת ארגונית, מנהל האתר יוכל להגדיר את תצורת הדפדפנים במסגרת הרשיון כך שיטענו באופן אוטומטי ויגדירו את תצורת רכיבי ה- ט6/ של 01866 בפעס הראשונה שמזדמן להם לטעון דף בעזרת רכיב (תמצא מידע נוסף על קביעת התצורה של רכיבי ס6) של 07666 ב- 00666 67050 א 6500766 2000). דוגמת גיליון אלקטרוני של 07166 תרשיםס 13.14 מציג את אחד השימושים של רכיב הגיליון האלקטרוני בדף גישה לנתונים. הפקדים בדף מציגיס את השדות 6806007/%86, | 6תה6%8ט0סזק (-006%58|65זק של השאילתה 68060017 8 58!65 במסד הנתוניס 6חוצוח+זסא. שאילתה זאת מחשבת את סך-כל המכירות לפי מוצר בשנת 1997. השאילתה מציגה את ציהוי הקטגוריה והשס עבור כל מוצר, לצד נתוני המכירות. הדוגמה בתרשיס 13.14 מרחיבה את השאילתה הבסיסית על ידי יצירת תחזית המכירות משנת 1998 ועד שנת 2001, כולל. תחילה, הרכיב מעתיק את הערך הנוכתי של הפקד 0006058|65ז₪ מהדף אל הגיליון האלקטרוני. לאחר מכן הוא מחשב סדרה הדרגתית של שיעורי הגידול במכירות החל משנת 1997. שיעור ה מגדיל את המכירות משנה לשנה. למרות ששיעורי הגידול ּהיס לכל המוצרים, רמת המכירות בפועל שונה ממוצר למוצר הואיל ורמת המכירות בפועל ב- 1997 אינה זהה לכל המוצרים. לבסוף, כדי להגן על הנוסחאות מפני נזק, ניתן לנעול גליונות אלקטרונייס נבחריס כך שהמשתמשים לא יוכלו לשנותס בשוגג. תרשיס 13.15 מראה את התצוגה עיצוב של דף הגישה לנתוניס שבתרשים 13.14. שיס לב, שמתחת לפקד 0006153|65ז מופיע גיליון אלקטרוני. באפשרותך להוסיף רכיב גיליוו אלקטרוני של 2000 06166 בעזרת הפקודות הוספה 5670ח1), גיליון אלקטרוני של 016166 (ז6805766ז50 07666), ולהתאיס את הרכיב לשימוש בתוך היישוס שלך על ידי לחיצה ימנית על הרכיב ובחירה באפשרות ארגז כלים של מאפיינים (עזוסקסזק אסט!ססז). בגיליוו האלקטרוני שבתרשיס 13.15 מוסתרים סרגל הכלים, פס הכותרת, כותרות העמודות וכותרות השורות. בנוסף, ניתן ערך 18/56 להגדרות פס הגלילה האופקי והאנכי של הרכיב. פרק 13: 2000 460655 וה-65) - 559 [<1ם) = | | בי [5 ץז 630600 ץכ 53|65 זס+ 5חס660[סזק 6 סהחהוצשהצ+וס4 וחוסזז ב סוי כ - חסלסטחי] 5 ב | | 5 1997 1998 8 6 1999ְ/( 89 2000 | 25 5 2001| 2 תרשים 13.14: רכיב הגיליון האלקטרוני בדף הגישה לנתונים משתמש בנתוני מכירה לשנת 1997 מתוך מסד הנתונים כדי לגבש תחזית מכירות עד 2001, כולל [<1ם); | 86 400655 2318 : ח0ז531650 1 וסוס 6306001 עכ 53|65 זס1 5חהסוס66[סזק 6 סוההוצשחצ+וס4 וחסיז סח = עם 58/65 :63007 8ט|00188|89.8זס. זחפוחטססב= 1997 : ]א 1998 = 1999 = 2000 עו 2001 סה > עפ 58165 :ה0ו0 566 חסטסהוי ו 2| זם םן | תרשים 13.15: תצוגת עיצוב של דף הגישה לנתונים מתרשים 13.14 0 הא 2000 66055 תא נתוני המכירות העליון בגיליון האלקטרוני מכיל נוסחה המתעדכנת עס כל רשומה חדשה בדף הגישה לנתונים : 0006158!65./8|06ז.+ח0066=. האיבר 60וחט606 מפנה לדף גישה לנתונים. האיבר 0006088|65זק מפנה לפקד מסוים בדף. ולבסוף, המאפיין 6 מפנה אל הערך הנוכחי של הפקד בדף הגישה לנתוניס. ערך זה משתנה רק אס המשתמש עובר לרשומה חדשה במקור הרשומות שברקע הדף. רישומי המכירות לשניס 1998 עד 2001, כולל, מחושביס כ- !₪( ]4/4 בתצוגה עיצוב. זכור, שלפי תרשיס 13.14 יש לתאיס אלה ערכיס חוקייס בתצוגת עמוד (896ק). דבר וה נובע מהנוסחה שבתא העליון של הגיליון האלקטרוני המשתמשת בערך הנוכחי של 5 בדף הגישה לנתוניס. דוגמת תרשים של 0166 הדוגמה המסיימת פרק זה בנויה על הדוגמה הקודמת, ועיקרה תוספת רכיב תרשיס של 2000 01606. רכיב ה מציג באמצעות תרשיסם את הערכים שבגיליון האלקטרוני. התרשיס מציג באופן גרפי את הגידול במכירות לאורך זמן לכל מוצר. תרשיס 13.16 מציג מוצר מסוים, בלוויית התחזיות של הגיליון האלקטרוני ותיאור גרפי של הנתוניס בצידו הימני של הדף. התרשיס מתעדכן באופן דינמי כל פעס שהערכים בגיליון האלקטרוני משתניס. 630001 עָכ 53|65 0+ 5חס66[סזק 6 סההוצצחצוס4 וחסזז 6:05 5 :5268015700 שר וס 585660 )הח ₪ בי 0 חס 06 6חםל6נוססזק | ב ו 0 1997 6 , | 1998 20 9 1999 5 25 | 2000 ו 2 | 2001 30 000 0 ד 0 ד + 0.00 2000 19 18 7 | 5 ל | + 17 4 תרשים 13.16: רכיב התרשים של 2000 08166 בדף גישה לנתונים מקבל ערכים מרכיב גיליון אלקטרוני, שתחזית המכירות בו משתנה כאשר המשתמש עובר לרשומה אחרת כדי להוסיף תרשיסם בדף גישה לנתונים, בחר את האזור הרצוי בדף, ולאחר מכן בחר הוספה (ז56ח1), תרשים של 016666 (זהח6 0706). הפקודה מפעילה אשף שמנחה את המשתמש לאורך תהליך העיצוב של תרשים. תוכל לבחור את סוג התרשים ומקור פרק 13: 2000 460655 וה-65) 561 הרשומות שלו, ולהגדיר אילו ערכיס להציג בו. לאחר שסיימת את השימוש באשף, לחץ לחיצה ימנית בתרשיס ובחר באפשרות ארגז כלים של מאפיינים (עזוסקסזק אספ!|0ס1) כדי לערוך את הפריטים שבחרת או לציין אפשרויות אחרות שלא הוצגו לבחירתך באופן מפורש בעת היצירה. דוגמת רשימה של טבלת ציר הפקד של רשימת טבלת ציר מאפשר למשתמש למיין, לקבצ, לסנן, לחלק לרמות ולטפל בנתונים. כמו כן הוא מסוגל לפעול עס נתוניס של יותר ספקיס בהשוואה לדף גישה לנתוניס רגיל, או רכיבי פ6) אחריס של 2000 01666. מקורות הנתונים של פקד זה יכולים להיות גיליון עבודה, מסד נתונים, וקוביית נתוניס רב-מימדית. תרשים 13.17 מציג פקד של רשימת טבלת ציר בדף גישה לנתונים. הדף מבוסס על הטבלה 00875 שבמסד הנתונים 065חואוחזוסא. הפקד מונה הזמנות לפי ץשחטססקוח5, 605000 ו- כ61ץסוקוחם. להצ על הפקד | הרחב (סַההקאם) הסמוך לשדות 0זססץסוקוח= ו- 05000610 כדי להרחיב את הטבלה במסגרת אותה עמודה או שורה. בנוסף, תוכל להציג באופן בררני קבוצת משנה של הטבלה על ידי פתיחת רשימת האלמנטיס המכילה את כל המדינות, הלקוחות והעובדים, ובחירה באחד או בכמה מהס מכל קבוצה. תיבת כלים המופיעה בראש רשימת טבלת הציר מכילה עוד אפשרויות ניתוח, כמו למשל סינון ומיון. 5 תוצשתלוס] חס 03560 15 6|סבּ [טסעוק פוחד כ ]3 | > > ןסר ב ב + | לא 2 21 | ברוח בי הסוח וה = 60!0עסוקחום ₪1 : 6 םן 5 ₪ 4 ₪ ₪3 2 - זז זט זה | !061 זט זהס וז זט זהטס 6 וז 1 הטפ סו םס הפ | זז זפ הס | = 0 ופט 1 2 314 ₪ הזה ₪ 1 אסזיה ₪ 3 30 ₪ 4 5 ₪ 5 ₪ קאוס |פ ₪ 800 ₪ קמוס ₪ (אדדסם ₪ 2 1 1 4 1 1 3 2 4 2 2 תרשים 13.17: רשימת טבלת ציר בדף גישה לנתונים המציג נתונים מתוך מסד הנתונים 5תוער וס 2 הח 2000 466655 נושאי תכנות הקשורים בדפי גישה לנתונים בעזרת דפי גישה לנתונים, תוכל לתכנת פתרונות במספר רמות שונות. דפי גישה לנתוניס יכוליס לשמש גס כמארחים לרכיבי טפ/ של 01666. הן דפי גישה לנתוניס והן רכיבי 60) של 06006 מכילים תבניות אובייקט שתוכל לנצל לצורך פיתוח פתרונות באמצעות קוד. עוד ניתן לתכנת פתרונות ב- 84 או בשפת פַחקו56 ל- סס/, כמו למשל 0%ח856/. סעיף וה בודק פתרונות המבוססים על 88/, על האוסף פסְאַהַספפסססְהַ8ז81!8 ועל האובייקט 08%8/060550806. האוסף 810665508065ז8כ!!ה פועל כמו האוספים פוחזסחו|ג ו-0715ק6ח||ה. חבריו אינס אובייקטיסם של מסד נתונים, כי אס אובייקטים של אובייקטים אלה זמיניס בין אם יש דף גישה לנתונים פתוח ובין אס לאו. האוסף מאפשר לך לאתר במלואה את כל קבוצת דפי הגישה לנתוניס הקשורה בפרויקט של מסד נתוניס. השיגרה הקצרה הבאה ב- 84 רושמת את כל דפי הגישה לנתונים בפרויקט נתון, ומציינת ליד כל אחד אס הוא פתות או לא. ()1!5608065| 55 8 66הקער הזוס 5 כ ]||.66%[סזק+ הז ט6. הסוס 68ו|כקה ח1 6סַבקץו ה₪86 זס= = ,08060 ]06.15ה קשח )111 ,8 6.16 בקעו זחוזק. פטפסס (".08060! זסח 15 " ,".08060! 15 " 6 )אסא טפ 0ח= למאפיין 6ותפּא||ט באובייקט 6665500160 שבאוסף 5סְ884ק5פס6סִהַה8אכ!| | נודעת משמעות מיוחדת. זכור, שדפים אינס נשמריס כאובייקטיס בקוב> מסד הנתונים, אלא הס קבצי |אדחפ נפרדיס. מיקומס של הדפים יכול להיות בכל נקודה-שהיא ברשת המקומית. המאפיין 6וחפּא!|ט= מצייןו את הנתיב ואת שס הקוב עבור דף גישה לנתונים. השיגרה הבאה רושמת את כל הדפים בפרויקט, ומפרטת אותם לפי המאפייניסם 86 ו- 6ותפּאו|ט=. ערך המאפיין שחגּ הוא שס מקוצר לדף הגישה לנתוניס המופיע בחלון מסד הנתונים. ()8065ק 6 6סחצו 5 8 6אהקעו הזוס 5( [סס הזוס זז סו !קה = [פס 560 5 הסה [טס ח1 306קץוח ה₪86 זס= = 8 6הה].6 בקעו ;" אחו! ס6חד" זחוזק. פטטסס "." ,8 6חהא||ט.06 בקעו .8 " 3% פ6חוסס " 6 )אסא סט5 0חם פרק 13: 2000 460655 וה-65) 563 השיטה היחידה של האובייקט 288460665520806 היא 6וחסח דץוסקא. השתמש בשיטה זאת כדי ליצור אוטומציה בהחלת ערכת נושא של 06166 על הדפים שאיברי האוסף 5 | מצביעיס אליהס. שיטה זאת תפעל באופן תקין רק אס הדף פתות במצב עיצוב. שתי השגרות הבאות מחילות ערכת נושא על כל דפי הגישה לנתוניס בפרויקט, בין אס הדפיס פתוחים ובין אס לאו, ובין אס הס פתוחיס במצב עיצוב, ובין אס לאו. השגרות גס משחזרות כל דף גישה לנתוניס ומחזירות אותו למצב הפתיחה והתצוגה שהיו לו לפני החלת ערכת הנושא. אס אינך מרוצה מערכת הנושא שנבחרה, הפעל מחדש את השיגרה שוחסח 68|!5607 עס הארגומנט >ח8ו. ()6וח6ח 68!!5607 50 .5 זס ץפוה הזו 5%סד ' .%ח8!3 השוא ז8ס|0 ' "ץלז" סוחסה 5607 סט5 0חם (0חוז50 5 6 63 ד)6 רסח 5607 ספ 6% 5 6שהקץר וחוס 0 5 [סס וחוס ח₪00|68 5 %ו56סושחופ חחוס 00 5 6603006 בוחופ הזוס .5 ||3 חפטסזח+ קסס ן' זז סו סווקקה = [פס 560 5 ]ה [סס ח1 6סהקשו ה86ם זס= .סע ח0ו265 חו הסקס 2806 06% ' חס 8|56= = 08060 |6.15סהקץח +[ 3608666552 ,36 6 קרח 6665570806 הכ הסקס. 0וח6סס 6טזך = 6|0566חום 6 = <> 6/6 . (6 .ו )6665508065 הכ +1 החד 0650 066557806 80033 6 .קרח ,3608%8006552806 6|056. חס הו88660557806065 360 ,6.36 קרח 666550806 הכ הסקס. הוח6סס סזך = שו662306/16 ב13חופ + 0חם + 50 .6וחסח ד שץוססה ' 6 ד 6 רחס דץ !כ (6 3 ו )3606655805 6 ץוח ,3608%8666557806 58/6. חספ 4 הח 2000 466655 .6 65076 ,ץ6665581ח ]1 ' החד סטזד = 566סו6חום +1 286.6 ץוח ,3608%86606557806 6056. 0וח6סספ 6 = 6|0501%חום חח ד שד = צוסו/306ק66הוחופ +561ו 06.6 3ק ץוח ,3608%8000557806 60!056. 0וח6סספ 6 ,206.36 רה 3%8666557806כ ה6קס. וחספ + ₪0 6 )אסא סט 0ח= פרק 13: 2000 460655 וה- )65‏ 565 14 מהדורת 2000 6סו!() למפתחים (=0()) מהדורת 2000 06666 למפתחים ₪פס) כוללת רכיביסם חשוביס רביס לפיתות יישומיס בסביבת 460655 670506ו1!], כולל אפשרויות התקנה והטמעה רב-תכליתיות. מהדורת פס שווקה במקור עס 97 08666 בתור התפתחות טבעית של 506 66655 (ערכת משאבי הפיתוח של 1606655). מפתחים מנוסיס ב-₪66655 יכירו בערכו של 5סס בתור אמצעי לגישה אל מנגנון זמן ריצה ואשף ההתקנה של 60655. םספס עשתה כברת דרך ארוכה מאז, והיא כוללת, בין השאר, רכיביס חדשיסם או משופרים במידה רבה: > גרסת זמן ריצה של 6חופַח= 0808 0500ז6וו₪ (ס5וו) 4 אשף האריוה וההטמעה > כלים המאפשרים איגוד נתוניס (סחו0חום 0818) ב- פוחזס= 0504ז6וא המשמשים יחד עס יישומי 09866 נוספיס (במקוס פזס= 66655) > ספרן הקוד (חפוזבּזטו ] 6006) לאחסון ואחזור של תגזירי קוד ושגרות מלאות > תיעוד מודפס ומקוון בהיקף מלא למפתתי יישומיס לסביבת 2000 07666 פרק וה מציג סקירה קצרה של קבוצת הרכיבים של =סס ובוחן נושאים בעלי עניין מיוחד למפתחי 466655 (החתמה דיגיטלית היא נושא שגם מפתחים אחרים ימצאו בו עניין). פרק 14: מהדורת 2000 06866 למפתחים )005(‏ 567 סקירה כללית על 005 היתרונות של 005 באים לידי ביטוי בשלושה תחומיס: תפוקת 88516 |1508/ 6050 5 וסט זס), גישה לנתוניס ופיתות וניהול. 005 מיועדת למיליוני מפתחיס מקצועיים שיוצרים פתרונות בעזרת 07006, 84 וכלי גישה לנתונים. חלק גדול מפתרונות אלה מנצלים את יכולות הגישה לנתוניס רבות העוצמה של 806055 מתוך יכולות של יישוס אחר של 01606. =פס כוללת את מוצרי 11070504 הבאים : 0 ה6זס/ 60506ו11 0 |6ס6אם 1116705086 0 סחוסקזסאוסק 506ס6ו 0 666055 1116705016 0 >ססטכ) 6050%6ו11 0 חזסתפו!סטק 6050%6ו 0 ססַהקחס- 167050 0 שצופזכ ס%סחק 11605016 צמוטְצטְט צץט ץ + > שצ 5 655ח2₪51 ||8חח5 0501%ז6וו] 05 כוללת תיעוד ודוגמאות שיסייעו לך בבניית פתרונות בתוך יישומיס אלה וביניהם. 84/ זמין בכל משפחת מוצרי 07₪66, אך הקושי העיקרי בהטמעת השימוש ביישוס חדש הוא לימוד מודל האובייקט. התיעוד המודפס של פסס כולל עלון ובו תיאוריס גרפייס של מודלי האובייקט של היישומיס שנמנו לעיל (למעט אופזססזסחץק). 5 כוללת תיעוד של 24 מודלי אובייקט המיועדים ליישומיס העיקריים, משותפיס להם, מותאמים במיוחד לשירותי גישה לנתונים או מיועדים לטכנולוגיות 60/ שמשובצות ביישומי 01006. כלי ה8/ לפריון עבודה כלי 84/ לפריון עבודה מסייעיס להאיצ את תהליכי כתיבת הקוד בכל יישומי 07006 שתומכים ב-88/. מדובר במיגוון כליס רחב, החל בעורך מחרוזות פשוט לבניית משפטי ‏ 501, וכלה במעצב התוספות (ז65!086כ ח006-1) של 60% 01660 +ח6 חקו 60 ו006), שמפשט את הקמת ספריות הקישור הדינמי (ספריות ‏ 11ם) בצורת תוספות בשני יישומי 066 או יותר. מעצב התוספות של 608 (8ח0ו65כ ה00-1 60%8) מספק גישה משולבת לבנייה ושימוש בתוספות בין כל יישומי 0166. גרסאות קודמות של 0666 חייבו גישות שונות לבנייה, אחסון והפעלה של תוספות. 8 הח 2000 406655 ספרן הקוד (חפוזהזט!! 6006) הוא מסד נתוניס המאפשר לשתף קטעי קוד, פונקציות ומודוליס בין חברי צוות הפיתוח. איש פיתוח בודד יכול אף הוא לנצל אותו לאחזור קוד שנכתב בעבר. באפשרותך להוסיף בעצמך קוד מותאס אישית אל מסד הנתוניס ולחפש אותו באמצעות מילת מפתח וקריטריונים נוספים. ספרן הקוד מספק ערכת קוד בסיסית עבור מטלות תכנות מקובלות. פרשן הקוד של 84 (זסזזחסווח0ס6 6006 8/) ומטפל השגיאות של 84צ (וסזזם הפ ז|0ח8ו) מעדכנים בעצמס את המודולים כדי לבצע משימות רגילות חיוניות בפעילויות פיתוח מותאמות אישית רבות. פרשן הקוד מוסיף הערות, כגון שס איש הפיתוח, התאריך והפרמטריס שאיש הפיתוח צריך לשלוח לשגרות. הוא מרכיב מידע זה מתוך תבנית הניתנת להתאמה אישית. התבנית מאפשרת לצוות פיתוח הפועל בארגון גדול לשנות את התהליך הבסיסי כך שיענה על צורכיהם המיוחדים. מטפל השגיאות בונה קוד מתוקנן (5%8008701260) לטיפול בשגיאות בכל שגרות היישום. ניתן להתאיס גס את התבנית שלו באופן אישי. מעבר לכך, מטפל השגיאות מספק סביבת עבודה להוספת קוד טיפול בשגיאות שתכתוב בעצמך. עורך המחרוזות של 88 (ססו0ם פַחו5₪ הפ/) הוא תיבת דו-שיח לכתיבה, עריכה, העתקה והדבקה של משפטי 501 מותאמים אשית בקוד גפ/. עורך ה הוא כלי פשוט לביצוע משימה יחידה שעלולה להיות מורכבת למדי. מפשט גס את עבודת הפיתוח בצוות באמצעות 6065866זט50 |808ו/ 50סז6ו!, שרכיבי המסירה והקבלה שלו מאפשרים לחבר הצוות לטפל במודול %88 אחד או יותר, בעוד שעמיתיו מטפלים בהיבטי אבטחת איכות או ברכיבי שילוב המערכת של שאר חלקי היישוס. 6586סזט50 |508ו/ מאפשר גס להשוות בין גרסאות קוד 88 ולשחזר גרסאות קודמות, כל את בצורה קלה ופשוטה. התוספת יבוא/יצוא קוד מרובה של הפצ טזסקאם/+וסקוח1 6006-טוטוא ה8/) מאפשרת לייבא קוד אל מודול וגם לייצא אותו ממנו. טוענים רכיב וה בתור תוספת בודדת, אך הוא כולל שני ממשקי משתמש: אחד לייבוא של קוד והאחר לייצוא של קוד. התיעוד המודפס והמקוון של 005 מאפשר לשפר את מיומנויות הפיתוח ומתאר טכניקות לפיתות יישומיס המשלבות בין רכיבים. נוסף למודולי האובייקט המודפסיס, התיעוד כולל את המדריך למתכנת 88/. במצורף לתיעוד המקוון תמצא את האוסף המיוחד של תקליטורי רשת הפיתוח של אספסזסוא - אספוא 05070ז6וו₪ %זסז6 זסססו6ע6כ) ובו כל החומר המודפס ומסמכים נוספים; החומר כולל תמיכה במנגנון חיפוש. גישה לנתונים =פס כוללת אוסף כליס התומכיס בפיתוח גישה לנתוניס. הדובדבן שעל הקצפת הוא, קרוב לוודאי, מנגנון הנתוניס של 160506 המיועד להפצה חוזרת - =50!!] 16705000 6חופחם מִזהכ). באפשרותך לשלוח גירסה עצמאית של יישוס מותאם אישית שכתבת, שתומכת ב-505!, מבלי לשלס תמלוגיס על כך. הדבר מתאים במיוחד לגרסאות פרק 14: מהדורת 2000 06866 למפתחים (005) 569 אבטיפוס של יישומים שעשויים להתפתח ליישומי 501 רחבי היקף. חתימת המשאביס של 1505 קטנה בהרבה מזו של 5678 501, ולכן מומלצץ להשתמש בו במקריס שדרישת המשאבים של 501 תובענית מדי. ניתן לבנות גס טפסיס ודוחות מותאמיס אישית כנגד 566 .501 בעזרת הרכיב החדש פרויקט 406055 (עיין בפרק 12 לקבלת מידע נוסף אודות 50₪!! ופרויקטים של 60655(). להבטחת תאימות מירבית לאחור, עליך לבנות פתרונות באמצעות ₪06655 67050 6וחוך חטף. חבילה זו מִדַמָה את 2000 460655 ואת 360 ללא ממשק המשתמש. היישוס המותאם אישית שכתבת הוא הממשק החשוף היחיד. חבילה זו, הפטורה מתשלוס תמלוגיםס, מאפשרת לשלוח פתרונות הפועליסם ברמת היחידה הארגונית, כאלה שדרישות המשאביס שלהס אינן גדלות במשך הזמן. לדוגמה, ניתן לנצל את 66655 חוד חטח כדי ליצור פתרון עבור מפעל המספק שירותי תשתית ציבוריים (כגון מיס וחשמל) מפעלי שירותים ציבוריים מתקיימיס במשך תקופה ארוכה יחסית ולעיתיס קרובות הס מתפקדיס ברמה מיטבית או ברמה קרובה לה. דרישות המערכת בסביבה מסוג זה אינן נוטות לגדול משמעותית לאורך חיי היישוס. פקד הנתונים של 220 (סשח60 ₪80 סכג) ומעצב סביבת הנתונים (ּט8כ 6507 %הסהההסזוטהם) מאפשריס כלי גישה גרפיים למקורות נתוניס ססג ו-0586. פקד הנתוניס של 400 מוכר למי שהשתמש במעצב חיבור משתמש 60/6( (6%ע60 65 ה6600חח60 ז156) כדי ליצור אובייקטי נתוניס מרוחקים בזמן העיצוב. פקד הנתוניס של 400 מאפשר יצירת חיבור למקור נתוניס אחד בזמן נתון ובאפשרותו לנווט לרשומה הבאה, הקודמת, האחרונה והראשונה בערכת הרשומות של מקור הנתוניס. מעצב סביבת הנתוניס מאפשר ליצור אובייקטיס רביס מהסוג 00 660חח60, שכל אחד מהסם כולל אובייקטים רביס מהסוג 0ה8החס6 עס ערכות רשומות מתאימות. המעצב מאפשר לגרור ולשחרר שדות מאובייקט מסוג 0חהחחסס ב- 5חזסת 11670508 וגס במעצב דוחות נתוניס (0061ו65כ +01ק6ג הזהס). כלי גישה גרפיים אלה אינס מבטלים כליל את השימוש בטכניקות התכנות הידניות של ססה. תוכל עדיין להשתמש בקוד של ססג כדי לבנות חיבורי גישה לנתוניס אל מקורות נתוניס מוכרים ולטפל בהס מתוך יישומי 0606 אחרים (בהמשך הפרק נציג דוגמה למימוש משימה וו באמצעות |5006). מעצב דוחות הנתונים ב-84/ ומעצב סביבת הנתוניסם משמשים יחד לבניית דוחות מותאמים אישית ללא כתיבת קוד כלשהו. ניתן לייצא דוחות שנוצרו בדרך זו בתור מסמכי ‏ !11 (00806ח18 קטאזפו )אסוסקץר). תוכל ליצור דוחות באמצעים גרפייס, אך השימוש בקוד מעניק לך שליטה גדולה יותר בעיצוב, הדפסה, הצגה לפני הדפסה ושמירה של הדוחות ההיררכיים. הטמעה וניהול אשף האריזה וההטמעה (2870ו/ +חסוחץס|ק6 0חה 6ִסַ8668ק) של 2000 06066 מהווה שיפור משמעותי לעומת אשפי ההתקנה וההפצה בגרסאות קודמות. כל פעולות האשף מונעות באמצעות תפריטים. באפשרותך לנצלו להפקת חבילת התקנה מקצועית 0 הח 2000 466655 שפועלת בצורה דומה לזו של 2000 08166. אחד הרכיבים המלהיבים ביותר שלו היא האפשרות לפרוס פתרונות מותאמים אישית באמצעות האינטרנט, כך שלקוחות מרוחקיס יכוליס להתקין את הפתרונות המותאמים אישית שתשלח אליהם ללא צורך בדיסקט או בתקליטור. ניתן אף להפוך את פעולות האריוה וההטמעה לאוטומטיות באמצעות 567108 מותאמיס אישית שמבטליםס את האפשרות לטעות בבחירת מסכי האשף. באפשרותך לנצל את האשף כדי להפיץ פתרונות המבוססים על 1505 או חטם 06655 חוד הניתניס לשימוש חוזר. יחד עם זאת, אל לך להתעלס ממתן פתרונות המנצליס את מלוא רכיבי הפעולה של גרסת 2000 860655. אחת הסיבות שלקוחות נוטיס להשתמש בפתרונות מותאמיס אישית רביס היא הכרתס את הסביבה הביצועית של 5. לקוחות אחדיס רוציס לקחת חלק בתחזוקת המערכות שלהם, כדי להקטין את עלות הבעלות הכוללת. מנהל השכפול של 11605016 (זְהַבּח8וי הססהסו!0ק₪6 50סזסווז), ממשק משתמש גרפי שמשווק עס 005, מאפשר להציג ולנהל מסדי נתוניס 36% משוכפליסם ברשת או באינטרנט. מנהל השכפול ממיר מסד נתוניס לתבנית בסיס לעיצוב, יוצר עותקיס נוספיס ומנהל קבוצת עותקים. באפשרותך לנצלו לניהול חילופי נתוניס ומבני נתוניס ביו חברי קבוצת העותקיס המשוכפלים, באמצעיס גרפיים. מנהל השכפול מאפשר סנכרון בשלושה סגנונות: לפי בקשה, בחיבור הבא ובלוח זמניס רגיל. בנוסף, הוא תומך בחילופי נתונים בין מסדי הנתונים ‏ 26 ו- 566 .501 (עייו בפרק 11 לקבלת מידע נוסף אודות שכפול מסד נתוניס והצגת דוגמאות שממחישות כיצד לנהל שכפול). כל פתרון מותאס אישית יכול לצאת נשכר ממערכת עזרה או מסמכים כלשהם. משתמשיס זקוקיס למסמך שמסביר כיצד עליהס להגיב למסכי המערכת, ומפתחים צריכים תרשימי ורימה וקטעי קוד שממחישיס את הקשר בין קוד ואובייקטי מסד נתוניס כחלק מהתמיכה בביצועי המערכת. 005 משווקת עס ססח68זסש סוס וודו, שתומכת בשני התפקודיס האלה. כל המסכים המוצגיס בפרק זה, כמו מסכים אחריס בשאר חלקי הספר, נלכדו באמצעות הכלי זסזו0ם 1806 ₪6|0 ואדה. כלי גה מאפשר להציג את הסמן (זספזטש) - רכיב שנעדר מחבילות לכידת מסכיס רבות. הוא תומך בלכידת מסך מלא וגם בלכידת חלונות שוניס בתוך המסך, בהתאם לקוצב זמן (זפוחט), לחיצה בעכבר או הקשה במקלדת. ספרן הקוד כדי לעשות שימוש חוזר בקוד, יש צורך במקוס כדי לאחסן אותו, אמצעי לחפש אותו ומנגנון שיאחזר אותו. ספרן הקוד (ח8חפזסו | 6006) המשווק עס 005 מאפשר לעשות את כל הפעולות האלו, ועוד יותר מהן. הפעלת ספרן הקוד היא פעולה דו-שלבית (בכך הוא דומה לתוספות מוכללות אחרות של 005). בפעס הראשונה בהפעלה (ח0ו5658) שתרצה להפעיל את ספרן הקוד, בחר באפשרות 866-175 (תוספות) בחלון עורך 8 של פרויקט ולאחר מכן לח לחיצה כפולה על הבּוובּזט!! 6066 בתיבת הדו-שית פרק 14: מהדורת 2000 06866 למפתחים )005(‏ 571 זסְחַבּחבּ!! ח886-1 (עיין בתרשיס 14.1). המילה 1080666 (טעון) מופיעה בעמודה 034 זסןע8603 ונבחרת תיבת הסימון 0103666 / 103060 של הקבוצה זוסוע3ח86 1030. לחץ לחיצה כפולה על תוספות כלשהן שברצונך לנצל במהלך ההפעלה. באפשרותך לבחור בתיבת הסימון 51302 0₪ 10806 כדי לגרוס לתוספת להתחיל לפעול מעצמה בעת פתיחת החלון פרויקט (66[סזק). לאחר טעינת התוספת, באפשרותך להפעילה מהתפריט 606-105. זסושי 6 030 1 00-85 ש|סבווב שי ]| הבוזהזסו | 006-] 08ב תס 06 0 זו 3 זט ₪ 0 ]זסק< =/)זסקוח! 06ם-וזוגוא] בי זו / ]הסותץסוק6 0 חב פה אסבק בי |פז)חס) ₪006 6סזווס5 בי זסזום = בחוזו5 בם/י זסווסו/י וקבחו// םי 1 וס | זסוי63 030 -] - -- וס 3 חן 0006 3316 חב 61186ז סז הבוזבזטו | ₪006 6 056 03000 שן .03356 260ו|78ח06 5181000 חס 1038 -] סמו םה וס אן תרשים 14.1: תיבת הדו-שיח זסחבּהב3ּ1! חז-00 תרשים 14.2 מציג את חלון ספרן הקוד שמארגן את דוגמאות הקוד לפי קטגוריות. ניתן להרחיב את תחום הקטגוריות. באפשרותך לקשר תיאור עם מקטע קוד כדי שתוכל לזהותו. הכרטיסיה 5שיוסשץ6א (מילות מפתח) מאפשרת לאחזר רשימת דוגמאות קוד הקשורת למילת מפתח. הכרטיסיה 5639768 (חיפוש) מאפשרת לאחזר דוגמאות המכילות מילת מפתח הקשורה לדוגמה או המכילות מילת מפתח בטקסט המלא של הקוד. סרגל הכליס הבוט 1 6006 כולל כלי ניהול טיפוסיים. לדוגמה, באפשרותך להציג את הקוד שברקע פריט נבחר על ידי לחיצה על לחצן 60066 שסוצ (הצג קוד) (ראה תרשיס 14.2). לחצן 100016 סד 60066 156% (הוסף קוד למודול) שמימין מוסיף את הקוד לחלון הקוד במקוס הנוכחי שבו נמצא הסמן בחלון, ולכן יש לוודא שהסמן אינו נמצא בשיגרה כלשהי אחרת (אלא אס ברצונך להוסיף את הקטע דווקא אליה). באפשרותך גס לגרור ולשחרר דוגמת קוד מתוך הספרן אל קוד שאתה יוצר. לחצן 2 הח 2000 466655 סקוו סד 6066 צ60 (העתק קוד אל הלוח) מאפשר להעתיק קוד ללוח. נוח לעשות ואת כשרוציס להעתיק קוד אל הפעלה (ח0ו5655) אחרת שאינה מוצגת במסך באותו רגע. כל שעליך לעשות הוא לעבור אל הפעלת היעד ולהדביק את תוכן הלוח בחלון הקוד שלה. 6) אוסו 6טססוא סז 02006 הספחו 0זהסטקןו!) 10 2006 6200 86) שופ 00 | ייאו ור יי ו בד ור ו ו % | |5)= 19 [=4 0 54 = מ ואו | | ו -- ו = חסוז6תו=] 062 | 6ב = ותו [חנט | שת זו % המנשתום 0% וכ ובכש ביט ההג 9 = חסוז6רנו= 6 35 18310 5 500 הו וכ 26% 3 חן כעעת טרופ 8 חי 5:05 כי0ה % חסוזאתנו= 50 05 זנכי 3 00 םי 205 עלצ 5 חסוץאת=) 10 02 מוצ ]= חס 565% כַח5!. סו טח בסיא 4 הפו דפ ו 960 טוג 5 ה סז" מַהוכהוטה: רסו 3% חסונו זשל 0 סא בו 555 שרג עונת 0 וספונבי 800 בח ב 2 חהשלתוה רות חחא 1 ג|/י ₪]] מ5ה5 ב השקה 5 8 - (5וב2!סטד 8 נאו=']) בזבם ו וווווכ 4 כןטמויז המאו 505 = כחב הַחוז63ו- ך'ח !וב'] אשןווכבי % חסוז6רנו- 0516] )זמ 6 כח05 )+ שננטון 0גם % ₪ מזוחוז | הזור ההו!"מיוהחה 7 ז 7 = הח>| ,+ 4ב ₪ = , שו =והוד/6בם % ט=פטק.כ= שה שו]1 ₪ 1!4% - ו שב 0 ששכ := ואט ש!בזוומוחפם התהחהו + % 0 26 כם יסוי 29 ₪ פחסופי 0 4 | ממבכ סטה נומ-| % 1 525 ב .56667 הו ו ₪] 8685 ₪ תרשים 14.2: חבּוזבּזט! | 6006 מארגן את דוגמאות הקוד לפי קטגוריות, אך ניתן לחפש אותן גם לפי מילת מפתח, או בטקסט המלא באפשרותך גם לשנות קוד קייס או להוסיף קוד חדש לספרן הקוד. כדי לשנות קוד, פתח את הספרן כדי להציגו, ערוך את השינוייס הדרושים ולח על עְוטְט4 (החל). סגור את חלון ספרן הקוד כדי להחיל את השינוייס. להוספת קוד חדש, לחצ על לחצן סרגל הכלים 6066 ש6א 10561 (הוסף קוד חדש); תיפתח תיבת דו-שיח ריקה של ספרן הקוד. הדבק את דוגמת הקוד מהלוח אל תיבת הדו-שיח ותן שס לדוגמה בתיבת הטקסט פוחבּא (שס). תיבת הטקסט פובּא נמצאת בדיוק מעל למקוס בו הדבקת את הקוד. הקצה את הסוג (כגון קטע קוד, פונקציה, מודול או מודול מחלקה) באמצעות הכרטיסיה חסקוז0650 (תיאור). הקלד תיאור של הדוגמה בתיבת הטקסט מתחת לתיבת הרשימה הנפתחת 6קץד 531016 (סוג דוגמה). באפשרותך גס להקצות לדוגמה קטגוריה ומילת מפתח אחת או יותר. לחץ על 0% כדי לשמור את הדוגמה. פרק 14: מהדורת 2000 06866 למפתחים (005) 573 תרשיס 14.3 מציג סדרת דוגמאות של ספק 360 של ססג. כפי שניתן לראות, הדוגמאות כוללות שני אוספים נוספים. ספרן הקוד משווק כשהוא כולל אוספים אלה ודוגמאות רבות נוספות בתור ערכה בסיסית. חלק מהדוגמאות עשויות להתאים לשימוש ביישומיס המותאמים אישית שתיצור, בתנאי שתערוך בהס שינויים בהיקף כזה או אחר. אחת הדוגמאות שבתרשיס מחשבת את גודל הקובצ הנוכחי. הדוגמה השנייה מחשבת את גילו של אדסם, בהתבסס על תאריך הולדתו והתאריך הנוכתי. ₪ ₪1)=. ופ וייחו 5ח₪3-1 טס הג הטספ ספת אוו 46 6 4% ] 3 הטפא א ,090 ₪0/0908.-4 .9 חר | = = 3" 0 |₪ ו * | ש| = 0000000000 אא[ 0000000000 60| המסם 23 ()0₪51225126 מתסבסשמגוץ .1 1 2116 מבא. סמשממגוס ₪26 02 58126 סמסשעמגטש ₪6 במעטפססת ' %ף סס מסבסטמגו1 6מס ע0+ 85ששסה 323560 208 68מ6קס 6מ סכגות 2116 מבא. שמך ' [ עפאשפסמך 25 2 ,סַכהמ353כ2 25 מע מבת () מע5מפעטגוס = מע 586 2 = - 6 1 23 ב6ע523 שעבהמג1ת עסת 6טם1.מכע משקס 0058225186 = 109)5( 01086 2 %6. מ מסנפסמגוץ במם ע6קססת1 25 (ע236610838 ,23366) 266 מסנבנססמגוץ .4 2 מספחספם פמעהשע מ1 8086 שםגס ב=ממגוסשת ' .צ35510883ת < 283656 .1.0 כפקמהע 38365 5ע351קבם שנַָבַּבהם ס'מפססקת ' 08 (28886)םסמסח > (ע3551003כ2)תסמסח 1% (ע28)23551008 הבמג (23866)םסמסת = (ע236610033)םתסמסת) מסתך ((28)283866 > 1 - (203866)ע83ל - (ע23561083) עהספצ = 2066 ןו (203886) עפצ - (ע2356₪10838) עהסצ = 2076 + הבמס מסנססמגוץ במם תרשים 14.3: הדוגמאות המוצגות כלולות ב- חהּוזבּזטו ! 6006 פתרונות אריזה והטמעה אשף האריזה וההטמעה מבצע שלוש פעולות: > אריזה - יצירת קובץ דחוס אחד או יותר מסוג 680.* להפצה בדיסקט, בתקליטור, ברשת או באינטרנט. > הטמעה - ניהול הפצת הקבציס הדחוסים אל אמצעי היעד. קיימיס 23 מסכיס שתומכיס בפעולות האריזה וההטמעה. האשף יוצר בעצמו 56000 שרושס את בחירותיך בעת ביצוע פעולה זו או אחרת. 4 ח/ 2000 466655 > ניהול 567065 - שמירה, שינוי שס, הסרה ושימוש חוזר ב-500%. מאחר שמספר המסכים בעלי אפשרויות בחירה רבות יכול להיות גדול מאוד, החזרת ה-50015 יכולה לחסוך זמן ניכר ולצמצס את הסיכוי לשגיאות. מפעילים את האשף בצורה זהה לזו שמפעיליס את ספרן הקוד. טען את התוספת ולאחר מכן בחר אותה מתוך התפריט 66-15 בחלון 85/. בטרס תפעיל את האשף, עליך לטעון את היישוס המותאם אישית שברצונך לארוז ולפרוס. תרשיס 14.4 מציג את המסך הראשון של האשף. | זה <וו ]ח6הועס!ק6 חב 6ִהַ3ּ 36% %. :"166 זק 60/6 טוח 14 זסס)קבח 56>תפחח וסט עיזי]: ₪ 3 ₪76366 זם ההזה סז 56 6!בטופו150 3 ספחו לספ[סזזוס 5וח% ש|טחום 116 חק 5 500 ,5155 חסופנוסו1507 3 50 65ַהַב236% 5לספ[סזק 5015 ]0 חס 0ח56 508 +פחוסלח] חב שסוספם %חשח/י0!ק06 חב הַחוהַבּ36% וטסעי 06|666 חב , 6לבּסו|קטם , שוחבחפת 86%ןסזק פוח5 זם] 55םו501 שהבחבן] 5 תרשים 14.4: המסך הראשון של אשף האריזה וההטמעה הערה: טעינת התוספת עלולה להימשך שניות אחדות. מד ההתקדמות שיוצג ידווח לך על מהלך הטעינה. אם תנסה להפעיל את התוספת טרם סיום טעינתה, עלולה להתרחש שגיאת זמן ריצה. באפשרותך להפיצץ מחדש פתרונות מותאמיס אישית או רכיביס שתיצור באמצעות יישומי 066, למעט אלה שתיצור בעזרת 6אַקחסז= ו-00% שטוס. התמיכה בפרויקט, בשני יישומיס אלה, מוגבלת לפרופילי המשתמש ולא לפרויקטים עצמאיים. פרק 14: מהדורת 2000 06866 למפתחים (005) 575 באפשרותך להפיץ פרויקטים עצמאיים עבור יישומי 07868 הנותריס. תוכל גם לכלול קבצים נוספים החיוניים לביצוע פרויקט, כגון תמונות מפת סיביות, קבצי 11ם, פקדי 466% וקבצי מסמכים אחרים של 07666. בין הפתרונות הפועליס יחד עס מסדי הנתוניס 3% או 505 עשוייס להיות 460655 חוד חטח או 1505 הניתן להפצה חוזרת, מה שמאפשר לפתרונות המותאמיס אישית שתיצור לבצע פונקציות תחזוקה של מסד נתוניס במחשביס שלא התקינו בהס את 0 00)606. באפשרותך לכלול בקבצי 688.* גס את הקוב 6א678009.6 שתומך בתצוגת הנתוניס הגרפית. הערה: יישומים המנצלים את רכיבי האינטרנט של 2000 01166 0501%ז0ו1/ (%9ח6חסקוח0ס6 ט8/ 2000 07006) מחייבים רשיון תחנת עבודה להפעלת 2000 06666. יחד עם זאת, באפשרותך להפיץ בצורה חופשית יישומים העושים שימוש ברכיבים אלה. כמו-כן, לא קיים מנגנון זמן ריצה עבור יישומי 08/66 הרגילים, מלבד זה שנזכר לעיל, ולכן יש להתקין את !₪66 במחשבים שמיועדים להפעיל פרויקט |68א5 שמופץ מחדש. אס תבחר להפיץ את היישוס המותאם אישית באמצעות 6חוד חט₪ 06055, ייתכן שתרצה לבדוק את היישוס באמצעות אפשרות שורת הפקודה 6וחטחטז/, כדי לדמות את סביבת המחשוב שיראו משתמשים שיפעילו את היישוס ללא שימוש ב-60655(. כשהטפסים המותאמיס אישית מפעילים את 6וחוד חט₪ 266055, הס חיוניים יותר מתמיד, מכיון שאין למשתמשים גישה אל רכיבי ממשק משתמש מוכלל של 60655, כגון חלון מסד נתוניסם או אפילו תיבות דו-שיח של הודעת שגיאה. מסיבה זו תודקק לטופס פתיחה המשמש כמסך ניווט (ראה פרק 5) ומנגנון לכידת שגיאות קפדני (ראה פרק 1). ללא מנגנון מעין זה, השגיאות תגרומנה ליישוס להסתייס בצורה לא מסודרת, דבר שיבלבל את המשתמשים. באפשרותך ליצור שני סוגי אריזה בעזרת פונקציית האריוה של האשף. אס בדעתך להפיץ את היישוס באמצעות דיסקט, תקליטור או משאב רשת משותף, צור חבילה סטנדרטית. אס ברצונך לפרוס את היישוס באמצעות דיסקטים בלבד, בחר באפשרות 5 6וכש!טא, והאשף יתאיס את גודל קבצי 680.* כך שאף אחד מהס לא יהיה גדול יותר מקיבולת של דיסקט רגיל. להפצת היישוס באמצעות האינטרנט, עליך ליצור חבילת הפצה לאינטרנט. גישה לנתונים ביישומים שאינם 66655 כזכור, 05 מאפשר גישה לנתוניס בשלושה נתיבים: מעצב סביבת הנתונים, פקד נתוניס 400 ומודל האובייקט של ספה. ייתכן שבהתחלה תחוש בנוח להשתמש בנתיב מודל האובייקט של 00 (פרק 2 מציג מבוא למודל האובייקט של 00ג4; פרטיס 6 החש 2000 406655 נוספיס ניתן למצוא בפרקיס אחריס). הדוגמה שלפניך מאכלסת גיליון עבודה של |66א₪ באובייקטיס 6066000 (חיבור) ו-₪66070566 (ערכת רשומות) של ססג. הקוד שבדוגמה מעתיק את שמות השדות מהטבלה 66טססזק של מסד הנתונים סחוצוחצוסו אל השורה הראשונה של גיליון עבודה של |69אם. לאחר מכן, הוא מעתיק ערכי שדות אל השורות הבאות מתוך ערכת הרשומות בהמשך גיליון הנתוניס. הדוגמה מופעלת מתוך פרויקט 84/ הקשור אל קובצ חוברת עבודה. () 1א02חוצוח+זסח סט5 חס 66 ה חה0ס6. 308 5 1חח6 וחוס 5 51 הזוס זז 45 0%ה =16|06‏ %חה60ץט0סא וחוס .5 660705660 30 ה0 600660 6 01 15580665 68%6ז0 ' הסוח 8.60 כ סא = 1חחס 560 שצשוס = 51 56% אפ חוצוח סא 60 6605 ה ה 1.60 החש 56% ' "סחואוח+זסא = 51" = 8חו 665 ה 1.60 החס 0 ה600 ה חס60 ח6מס ' 1.0 החס 1חס = ה06600ח60/600. 551 56% "60 0סזק 5006= * 56|66%" = 5%1.500706ז 06 301 ,3002650006 , , ה561.06ז .אוסז 175% ח! 85ח6801ח הותט!60 חו ססוז/ש ' 1 = %ח6שסא 1 - 6|05.600₪%ו-.561ז סד 0 = %ה606ו= זס= 6חה. (0ח-16|00-)6!05ו=. 551 = 3|06/. (1 + %ח06ו6ו= ,6חאוס )5ו|66 6 = 0!0ם.%חס=.(1)פצוס 60% )אסא .2 אוסז 8% 559700 ,7660705 השוא פאוסז |!וש ' 2 = %ח6טס₪ 0ם. 561 +סז 6!וח/ 1 - 6!05.6000%. 561 סד 0 = %ח6!06ו= זס= 36 //. (0ח-16!06-)6!05ו=. 551 = 6ט|3/. (1 + 160% ,6חאוס) )66|!5 60% זאסא ]עסו 561 1 + %ח6אוס = %ח60שוס 0חס/ סט5 0ח= מחרוזת החיבור של האובייקט ח6600חחס6 מתבססת על אובייקט אפפ. ה-א5ס שבדוגמה מצביע אל מסד הנתונים 6חושווזוסא, אך באפשרותו לציין מסד נתוניס כלשהו אחר. השימוש ב-א₪05 מפשט את עיצוב תחביר מחרוזת החיבור, מכיון שהוא פרק 14: מהדורת 2000 06868 למפתחים (005) 577 מאפשר להגדיר את החיבור אל מסד הנתוניס בצורה גרפית דרך הסמל 0086 של לוח הבקרה. שיס לב גס לתחביר הסטנדרטי המשמש להגדרת חיבור וביסוס ערכת רשומות על החיבור. השיגרה מיישמת את המאפיין 0688 שמפנה באופן משתמע לאובייקט 66/0 במודל האובייקט של |68א5. מציינים תאיסם בודדים בגיליון העבודה על ידי ציוו אינדקס השורה ואחריו אינדקס העמודה. קביעת ערך האינדקס בקטע הקוד המקונן בלולאות מאפשר לקוד לעבור על עמודות לרוחב השורה ועל שורות לאורך הגיליון. חתימה דיגיטלית של פרויקטי 84 6 *'זסותוחהזפסזק 88516 |2000//1508 01806 50%סזסוא הוא מקור עשיר לתיעוד היבטי פעולה קריטייס רבים, כולל חתימה דיגיטלית של פרויקט. אס בידך תעודת 6ספחסטטה, תוכל להחתיס פרויקטי %84 שתיצור באמצעות 6זס), |6סאם, +חוסקזשאוסק ו-אססטטס כך שלא יגרמו להצגת אזהרת המאקרו, גס כשרכיב האבטחה במחשב המשתמש הוגדר לרמת אבטחה גבוהה. תרשיס 14.5 מציג זוג הודעות אזהרה. ההודעה העליונה מוצגת בתגובה למסמכי פרויקט 88/ בלתי חתומיס. ההודעה התחתונה מוצגת כשמנסים לפתוח מסמכים המכילים פרויקטיס חתומיסם שעדיין לא הוגדרו כאמיניס. לא ניתן להוסיף חתימה דיגיטלית ישירות לרשימת המקורות האמינים - עליך לבחור תחילה את תיבת הסימון 6 5+ וה10 36705 5%טז% 5ץ8ש31 (בטח תמיד במאקרו ממקור זה) ולהפוך את המאקרו שלה לזמיניס. כתוצאה מכך, ניתן יהיה לבטוח בכל המסמכים הנושאיס את החתימה הדיגיטלית של מסמך זה, ולא תוצגנה אזהרות מאקרו כלשהן בפתיחת פרויקטי 88 שהגיעו מהמקור הנדון. הערה: אימות באמצעות 6006חפחפט פועל רק בתחנות עבודה שמפעילות את זסזס|קאם 6%חזסזח1 בגירסה 4 ואילך. לא ניתן להתקין את תוכנת האימות 6006זח6חלט בתחנות עבודה שבהן פועלת גירסה מוקדמת יותר של הדפדפן זסזס|טאם זסחזססח1, או שמותקן בהן דפדפן מסוג אחר. טכנולוגיית סְְסס6טְח6זט מתבססת על הצפנה באמצעות מפתח ציבורי להחתמת פרסומי תוכנה, כגון פרויקטי 84/. כשמפתח תוכנה שומר קובצ, תוכנת 6006חסוזט מבצעת פעולת פַחוחִפּהח ליצירת 'יטביעת אצבע דיגיטלית'יי במסמך ומצפינה את טביעת האצבע באמצעות מפתח פרטי. כאשר הנמען מקבל את המסמך, תוכנת 6006ח6ושה מנסה לשחרר את טביעת האצבע ולפענח אותה. ניתן לפתוח מסמכים שעובריס תהליך זה ללא הצגת הודעות האזהרה. מסמכים שלא עברו את התהליך, יציגו את ההודעה. אס משתמש כלשהו אחר עורך שינוייס בפרויקט 84/ ושומר אותו, החתימה הדיגיטלית מסולקת מהמסמך, ולכן פתיחתו בפעס הבאה תגרום להצגת הודעת אזהרה. 8 החש 2000 406655 <|?| ב .30705 5חוב 60 5), קרח6ם 5 חשרחנוסס ע6ז: 6 6 ]| לטו ,13605 153016 50 5366 35| 5 15 . 565טזועי חוהחס6 עבת 5סזסבהי] . שו הסוח" 506 056! לחטוחח וס , 66 ברחוסופ| זב 3005 | ס"ח1 שיוסוי] | 5 6ו!פבתם ך <|?, [חוחזהּ שא ע1וז 6 5 5+ זססבת->5לתשרחססי עי]:-) 30705 5חוב%חסש | ...35 חספטסק ₪166 6 1[ס6 6787076 בוחה 63660מתפת?ווה חספם סח 35 זסתפוופטם פוחד 813|5ה07808 856ח? ל5זם )סח סכ .60סבּ:וחחו ]| לוס ,30705 15306 60 5366 80935 5 15 .565טועי חוב:חס6 3 5סזסבּהי] . שו טוח 506 56| לחטוחח סע , 6לבחוסוס6| סזב 3005 סתם *7%%%. 5006 015 החסז] 05ז30רח זוז 7 | ס]ח1 שזפוי] | 5 6ו!סבתם 1 תרשים 14.5: הודעת אזהרה טיפוסית מפני מאקרו, שמוצגת בפתיחת מסמך בלתי חתום, והודעת אזהרה במסמך ראשון שהגיע ממקור חדש חתום דיגיטלית להחתמה דיגיטלית של פרויקט 88/ עליך להשיג תחילה אישור דיגיטלי חוקי. ניתן לעשות ואת בשלוש דרכים: הדרך הראשונה היא ליצור בעצמך חתימה באמצעות תוכנית השירות 56|66007.6%6 הכלולה ב- 2000 06066. דרך וו מתאימה למטרות בדיקות אישיות או לקבוצת עבודה. הדרך השנייה היא לרכוש אישור באמצעות רשות האישורים הפנימית של הארגון. דרך ו מתאימה להפצת פרויקטים בארגון או בארגון גדול ובקרב ספקיו. הדרך השלישית היא השגת אישור דיגיטלי מרשות אישוריס מסחרית. זהו הפתרון הכללי הטוב ביותר. החתימה הדיגיטלית ישימה לפרויקט 8/ בלבד, ולא למסמכי 01066 הקשוריס אליו, כגון חוברת עבודה. הדבר מאפשר למשתמש לשנות את המסמך הבודד (חוברת עבודה), אך לא את פרויקט %84 שאליו היא שייכת. בחלון 85/, בחר את הפרויקט פרק 14: מהדורת 2000 06866 למפתחים )005(‏ 579 בחלון זסזס!קא5 66%[סזפ (סייר הפרויקט). לאחר מכן בחר 6זטז08ח0ו5 |פּזופום (חתימה דיגיטלית) מתפריט 0015ד (כלים). בפעס הראשונה שתשתמש באישור, בחר אותו ולח פעמייס על 0. אחרת, לחצ על אס בלבד. זוג השגרות שלפניך מדגים כיצד ניתן לקבוע אם קוב חוברת עבודה הוחתם דיגיטלית. השיגרה 68|!150519060 קוראת לפונקציה 6פַח8ו1505 פעמיים. בקריאה הראשונה, 66ח0ו68|!1505 מעבירה את שם הקוב הראשון. בקריאה השנייה, 69/!150580 מציגה דרך אפשרית להשגת שסם הקובץ מהמשתמש והעברתו אל 060 חוברת העבודה צריכה להיות פתוחה כדי שניתן יהיה לקבוע אס הוחתמה דיגיטלית, ולכן 66ח68|!150519 פותחת את הקוב בשס שסיפק המשתמש. ()60ח68/!150510 פט5 0חו5 5 6חוהעוח הזוס .0 ץ!|09ו0ו0 15 אסססאזסע %ה6זזט הס הצ 066% ' סופא (1 )5 סססאזס/. הסוס הסו!קקה = 6הבּץוח (6וחהשוח) 150510060 0ח3 סחחפח א>סספאזסצו זס? זפ %6קוחסזק י' .50 ץ!|5ו0ו0 15 אסססאסעו 8%ח+ זסחה6%חצ 66%ת6 ' = ,"5|א.6הח1!!6 85 6החהּח 6כץ ד")אססזטסח1 = 6וחהּץוח (6וחה שוח ,"2000 266655 1670508 הווה ותהזטסזק" 6וחהא שרח ה6ק 65.0 סססאזס/ (6וחהא שץרח) 150518060 סט5 0חם (0הו56 5 6ח150518760)111603 הסטסחט= ס6ווטגוק 850 /. (6ח 1116143 )5 סססאזוסש. הסוס ה6ו!סכ = 150510060 הסח ד 60ח8ו505ו + ".510060 ץ!|₪101%3 15 " ,8 6חחהאסו זחוזק. פטטסס 6 ".510060 ץ!|10/%3 %סח 15 " ,8 6החהסו זחוזק. פטפסס + 0חם חסססחט- 0חם הפונקציה 1505060 מאחסנת את ערך ההחזרה של המאפיין 8519660 ולאחר מכן מסתעפת למשפט אחד מתוך זוג משפטי הדפסה בהתאם לערך המוחזר. אס חוברת העבודה מוחתמת דיגיטלית, המאפיין מקבל ערך 6טזז. באפשרותך לנצל קוד דומה לוה כדי לקבוע אם מסמכי שזס/ או מצגות זחוסקזופאוסק הוחתמו דיגיטלית (נוסת התחביר המדויק לפתיחת הקוב משתנה מיישום ליישום, אך 6זסצ ו-זחוסקזסאוסק תומכיס אף הס במאפיין 8510060/). 0 הח 2000 466655 אינדקס האינדקס הינו בשפה אנגלית. לשם נוחות הקביאה התתקנו אותו מסוף הספר. כלומב, סופור בעמוד הבא ותתילתר כמו בספר באנגלית: 1 %אססחו 4 % 0065502060 0 ,8 חס 7 0 685ו1ו6ססזם 1 ,ץ6קסזס 6סץד 00655000[60%/ 7 ,208 ,270[6018] 00655 3 ,081808856 8 0+ 8הו80%הח00 4 ,)חה פחזס1 2, ,סחה פ>חו!זססעת 7 ,0318085605 05 0ח8 0)25חושוח+וסצ! 6ח+ הס הוחזה6| 5 ,ה 155065 8110 הוחהזטסזס 8 ,60070 8 חחהוסחוז 7 ,וזס1 8 הוהסקס 0 ,8085 00001 ע0 806 5סַפַָחַהח0 פחהושסוצ 5 חחו פַחוץזסטס 1, ,וחה 600+8ז 6 החו 0818 עְחההה-0+-6חס 1158 הזוע החזזסז 8 פָחו2והסזההץ65ז 5 ,ה 000165 6ח0ס|08ח518 89 , )ח8 0706600765 510760 0 ,חוד הט 66655 4 ,%ח6005%8 וחזס-86 3 ,202-203 ,68!ז6ף חסוס8 9 ,00671685 0ח6סס8 2 ,665 0616+6 9 .סחוסות סטחוחסס ,68וזסטף חסטסה 3 ,0671665 8%6-18016ח 7 ,06705 008%6 1 .006016 סוה6כ ץז6 )הסוסה 3 ,6/0 816/ו01/ ץזסססזס הסוז0 חס 60 עה 4, ,00[60%"8 2818|00) 66655 2000 / 8 2 ,00[60/8 חסו0806%ח0) 1 ,104 ,00[60%5 46007056% 5 ,489 ,487 ,483-484 ,480-481 ,60%8[ס0 68ו!360 2 00[606 1ח6ה 00 0/8 (20[60%9) ₪28%8 00/6%) 00 566 .00[6018) הזכ 6ע60ה 6 ,00[605 6|0ו= ,ץ+סקסזק 000815126 1 ,0706860076 00/.466070 04 ,/,06ו0060זכ 5ח072% 8006 7 .0060606 00%90%5 8000 3 ,600 6!ו וס - 0 8 ,070060076 00561 00000007 8 ,0660016זכ 0010 8 ,(000) |06סו 60%[ 1ח6חסקו 600 ,ז8ח8ו65כ הו-00 3 ,0660076ז0 א06ח001 2 ,אס 0/3!00 זְִסַחְהּח3 ₪ מו-00 9 ,111 ,108 ,92 ,8%000וח צ016 6 ,006606 +00196 800086 6 ,00660176 זזם 00 3 ,.076ו0660ז 0005 0 ,28 ,אס 018|00 6זו60ססזק 00 7 ,16ו0060ז 461676006 00 3 ,016ו0060זכ 3008 5515001500 /וח5 300 2 ,00660016 -00/81655001 0 ,אסס 8|08ו₪0 ח810/ 00 4 ,85 ,42 ,(020[6018) 2818 60/86%) ססה (עזהזסו! סמ ;צזהּזטו! אסכה ;ץְזבּזסו! םסכ 50ו3 566) 98-99 ,006!5 460655 0818 9 ,0081 0/80% 9 ,0ח3 פז6סוטסזס פכ 015 סח חַחו07681 זס1 0065וחח190 ,65וס8ז 7 ,8 חח 1 ,1806 חַחו151א6 ח3 סחוס3!ק6ז פחוסטוסטהּ 3 ,1806 8 0חו07681 7 ,1015 0161 חו 08%8 2 ,8060 8 חַחו3!טוססק ע!|ה6והוהחץ 7 ,65א06ח1 5 ,)סז .5001 16 7 ,665 ץזה חחוזוס 9 ,050 ,7600705615 3 ,1806 3 הַחו60!80ז 1 ,7600705015 ַחוצ58 א | 2 2 ,פחופש , 5691 7 ,610085 50768057066%ז516חה8 ד סח8 5+0708180856ה8זד 0 ,0זח0ס60 הוהם ססה 3 ,98-99 ,עְזפּזסו! פסםססג 9 ,00[6015 0+07 38 30 ח8 ורס 3 ,הח601!860 8זסזזו= (?00[606 18|0= 566) .60%[סס 16!0= (?00[60 360070561 566) .601[סס ₪46007056% 4 ,989 ,עז8זסו| אססה 65 ,תו א06חו חה חַחהו300 6 ,חה פ6ט|/ 116|0 +ח6וח6זסהוס+טהּ 00[60, 7‏ 2818|00) 8 00[606 חותט|60 3 ,חש 180165 חַחו07681 0 ,5001065 0ח8 1265 088 2 ,ןועש 16105 080 טח 0 ,עו 90165+ 08 חס 9 |00[60 06%ח|! 9 00[80 46 5 ,01 ע0/8/164ס 4 0[8060 0660076ז 7 60[סס 80!8ך 69 ;00[606 /ש8ו/ 7 ,358 ,208 ,8165 800. 1 ,פחסוסחט1 3007608%6 59| 4 ,0ח8 065108 ץז6ט 1 ,0ח3 0ז28ועו ץז6וכ) 6|סחזוס ,8ה390769800ּ 2 ,פח0ס)601!86 || 0 ,01 6068 08 טח 5 ,ה ה60|!6000 28065 60655/ מז סו|ה 8 ,001!6000 01807805 450סמזהּס ווה 6 ,359-362 ,330 ,291-293 ,23 ,ח60!!6000 פחזסת ווה 2 ,חס)601!661 65!ווססוו|ה 2 ,ץזז6ססזק חִזְחֶח6 1 0ז26 צוסו|ה 8 ,ח601!860 665ט0)!|ה 2 ,305 , חסו60]!66 8+וסק6חו|ה 8 ,ח60|!600 2706600765 60זס51||ה 0 ר,ה,ח60!!600 65!סב דו|ה 8 ,ח601!8600 פצסו/ו|ה 66655 2000 / 8 2 ,166 ,68זסעוץ6א אוש 601 הש=ד |ג 2, ,166 ,45 ,058זס/וץ6א = |ם/ד חם ד | 7 ,000606 ]8160 הוח 1 ,ץד 6קסזכ הסוזה הוח 55% , (5)חסוזהה וחהּ 3 ,ףפחסוזה הווחה פַהוה0ז558 פַחועֶ3!ס015 7 , 6החושסוע6זק 4 ,1065 הסוזה הווחה חַחו561601 4 ,16ו0660ז0 כ|6רוזס/פחה 0 ]00 2870ו//6/צפח/ 6 ,81800 אהטח6ח6ססה 7 ,אסס 018|08 סח6ססה 3 ,8000 סח6ססה 3 ,חה א6סחו חה חחו300 8 ,סח 18016 3 הָחו07081 9 ,203 ,0067168 סח6ססהּ 4 ,00ח6%ח סוחסה דץוסס ה 5 ,15ח6ותט0זה 7 ,0768ו06060זכ זס1 1 ,)חג 065/00 עזסטף ,5זס:8ז6קס סוז6התחזוזהּ 0 ,59ץ8זה 9 ,0זסששץ6א 5 4 הח 0818576015 6 הוח8ו!סטק ,8%חזסז קספה 4 ,608180%075 55151801 1 ,06606ז חכ110|60ח5515%9 0 .0066076 0!6ו8ו/10%ח5515%ה 4 ,370 ,00[60% 1ח551518/ 4 ,10 1065 חסוזה8 הווחה 4 ,10 608180%675 5515%80%// 2 ,ץזהזסו ] 20[601) 21106) 106 חַהוסח6ז616ז ץ||ה6ו1ה הסזטהּ 3 ,סוה הווחה מַחוה0ז568 3 פַחועֶה!ס015 7 ,8085 הווחה הַהועשסוע6זס 1 ,0חוז הווחה סחה החהואוסח5פ 1 ,0660016 הכ0ח870 5519156 2 ,700800716 2ח02ח156870ח5519%9/ ץחסקסזק 65+טסחזזה 8 ,00[60%8 חוחו|0) 6 ,60%8[סס 16!0= 1 ,276-277 ,0ז]28וע החזס- סזגה אחז | 4 5 + חס הוסזה 5 ,650% 10 ₪860 או 601 חם ד | הח = ופד הממד | 5 ,101 065ו|8/ 5%60 0ח3 5181 6 ,סחה ץזהזסו! 000% ,65גו1ה/ 8610 +חסוח6זסהוסזטהּ 4 ,החסו וסטוה 0 ,סח סזס/צ 0 ,166 ,(1/06 0818 זססוחטואסזטג) 86105 זססוהטצסזט ה 2 ,ועו +וסקס הסה 4 ,חסוזסחט1ז 30917608%6 )ה 8 2 ,)0660016 %0060%א6 68077רוחהססו|הם 0 ,06606זכ |306 |%א6 6807רוחססו|הם 4 ,380 ,00[601 חססו!28 2 ,חזו זטסחו ז56ו חַחוז60ו!00ס 80005, 8 !306!8,/ 0 4 ,006!655וח 8 ,060016סזס חססו|6ַחָה1ו+א6 דהססו|8ם 8 ,5080685אזסץצ 000017601 חו , טַחו08קט ח810ס 5 ,447 ,89 ,61700 5ח8זדחו60ם 6 ,חסטסו!ס6ז |8ה600זו0וםס 8 %חוסקא68זס 9 ,ה 08+908565 01 ח0ו681ו|60ז ,71610856 5 ,76ו0660זכ +הוס)זה םסחה ה והס)תט!וטס 3 ,פחסטסחנ1 חוז-ז!וגום 1 ,ַחופ 16!05 0810013160 8 , ח0סו5ז8/ח0ס0ס 0816/16, 64-65, 8 2 689 ,30760810 חוהחחס 8 ,פחו|סחהּח זסזזס 1 ,חוז ס+ 560גו עוססחוצ 601816 הוח! 8 , ח0סו506061ח1 8 ,ח81וח 6558005, 8 3 ,56160100 01 זה רפ 8 6+ 0 006085 חססו|8ם , עזוסקסזס החסצטם 66655 2000 / 8 0 7 ,ץ6ק0זק 080769126 5 ,6חופ 0651070 ץזסנוף ,16105 60ז0810018 4 ,000095ח10 5001 300160816 1 ,*00618%075 6ו61וחתזווה 1 ,פחסוסחנ1 חוז-+!וגום 5 ,ץז0נוף 6חס חהּח+ 6זסוח והסזז 6ט|הע 8 סַחוזטקוהסס 3 ,פ095ח6100ח10 ה0+צ15ו0 7 ,0066006 ז056ס דקטוסזכ0 08/20 3 ,066006זכ 6028|!080% 3 ,ץ+סכסזס 08!!580% 6 ,066006זס כ קוח 08|!60 0 ,066016ז0 קט0סזכ616%60כ!!68 6 ,0660016 56 616%6כ!|68 9 ,0זסששץ66א ||08 9 ,6ז660סזס קטסזכ)6א3וו|68 7 ,485 ,6זגו660סזכ ז6)!ן= !ההק 6אבּוו|8ס 6 .660176ס0זכ ז6(56א3וו|08 5 ,6ז60ססזס עזוזסוזק ססץ דזחוזשו|8ס 8 .0660016ז קטסזכ) הס - 567 6עסות08|!6 3 ,00660016 קטסזכוס 1 185105 ז6ק 6וסג דו|מ08|!561 5 ,00060116 6וח6ח ד08|!561 7 ,00[60%5 הח0 0080 ,6%000 |06ח68 2, ,16810716 0616%6 0חו085080 2, ,1681016 08165 0חו085080 5 ,0!8156 58| 0858 7 ,ז6|6חהּח זסזז6 הז 7 0[60 2818|00) 2 חהחו פקוסזף חַחו1300 חב , 0חוז06!6 ,ַחוז68זס 8 ,סח 180!6 3 הַחו681ז0 7 ,006016ז ח08%00 7 ,016ו0660זכ 00816 ז116ה. קטאסס |ססס 1 ,00660076 671000816 זה6 ה אסוקססס 2 ,6זס/ , ח601!60%0 68|!5 9 ,147 ,6זג660ז0 ש0ו/\6הַח8ח) 6 ,066016 5ח8ז דה|06ה8ח) 6 ,0 0זסשש855 0 6806 2 ,08065 800655 0818 חס ,%ה6חסקו 00 687 1 ,00[6015 020811 א06ח] | 6 9 ,קוו הח 3 ,ףוע 5+ז0ק6ז הַחו07681 4, ,6ז0ו0660זק 30 !6608811 6 ,חח 6!|סזו) 5 7 ,סזפס 7 ,סח 6/6018 6 הווחה וטסזוס 9 ,חזס1ז 8 ,0ח3 !קוחה וח 9 ,01 15187065 0+ 8167600665 5 ,01 610005 0ח8 65ו61קסזכ טחועוסוצ 7 ,80 חח 5 וח חס ;000165 0|355 וח0+צ05ו6 8|50 666 .335 ,35-36 ,27 ,65|טססח 0|855 58 03885 60011 ;65!גו0סוח 4 ,6/6015 חוז-ז!וגום 8 , 0חה 6/8018 800 035585 ה0צ05ו0 8 ,0ח3 617005 300 065ז6קסזס וה0ס05%ס 0 ההסטסחט1 עזוסקסזק 3 הזו עה6קסזק 8 פַחופססאס 9 ,0!6ה!ז3ע סו!פטק 3 הזוע עץזה6קסזק 8 פְַחופססא6 0 ,פחסוסחו1 ע+זסקסזק .פע 65וסה הט סוופטס 3 ,50071005 0818 חו81סט 7 ,חו 100005 ע+זסקסזס והסז5ס 7 ,30 0135565 0ה080ח518חו 8 ,6ח5+87008|]0 7 ,(5000 0856) 1071806חו חופסו 5 ,600 ע!|8168 ה ותהּזטסזס 9 ,00660076 %ח6/6 >6ו!0 4 ,ץ61קסזק חסזוום 601056 6 ,23 ,6/8601 01058 4 ,01 פ1ְחסוחנוָז3 ,00ח6%ח 0056 6 ,00660016 +ה6/6 2|16% 55 קש חס 9, ,016ו0660ז 1ח6/6 21166 הסח דזחוזק סוחס 9 ,00660016 %ה6/6 21166 זר 0צ5וסח 5 חס 7 ,006006זס +ה6ע6 א0ו01 ז הסט חס 7 ,27-28 ,חסטס 60068 9 ,60680 0008 8 00[60 00060818 4 ,569 , חהוזהּזס! | 6008 8 ;0080 070[60% 02008 8 ,37-38 ,שוסחוצש 60008 66655 2000 / 8 !60 5060106 8|50 566 .22-23 ,5ח60!!8000 3 ,פאחו!ז6קץת 01 ,5זסוסס 3 ,;ז8ש6ו/ע זס|00 7 ,1008%65 6/81!-חוחט!סס 8 00[60% חותגו!0) 7 , הח60!!800 פ5חוחט|ס6 2 ,חסוזסח1 6סץ דהותגו!ס) 2 ,0176ו0660ז 6קץ דחוחט!ס) 8 ,065.06 ח!-400 (0061 +66[ +הפהסקוה0ס6) אס 0 00[606 001 601 4 ,פחז0ס1 קאסס! אסס ססהוסס 9 ,3994 ,00[60% ה080010 וס 4 0060 88000000 וס 6 00[80 |0ז1חה00 808 וס 5 חח סס 50| 566 .392-408 ,370 606[סס 88 וס 6 ,61676065 03 חור 60 (ה80ז0 טח 7 ,60085 חש 8ַחוז5ו| 6 ,0885 0ח8 חר 60 6!םופוע חַחוז5ו| 4 00[80 808000 חס זו 00 8!50 566 .0875 סחה וו סס 1 ,החוזבּ!טסוחה וח , הזוס 9 ,פחה חס חַחו300 7 ,60705 זו6ח1 0ח8 35 סחה החוחסס מַחהו|פ8ח66ז סח פַחווס01580 9 .18106 85 0ח8 הר 60 6!ו8ועחו פחוא הוח ההסזפטס 3 ,0768108 8 ,0ח08!611 04 , ףחוץזוסוח 7 ,סנוססס 4 ,0 6 , !וע חַחוז15| 1 ,0חוז0ס+65ז 7 ,80 2וע הסטם ח8 חס 9 0[60 6008 4 ,חמה פעוסוע סח8 65זט60ססזס ץזבּזטוו אססה 1 ,01 681166 1 ,סז 61 דחו רס 1 ,ץ6קסזק 6סץ דחו רס 2 ,6100 ז6+6ח 38 676816 3 ,סחה עזסטף 56601 3 הזו 660070561 3 0חוז68זס אחז | 8 6 ,סחה זט ז610ה8ז8ק 3 הזו 60070561 3 הַחוז68זס 6 ,;ןוע 7660705 ח06!611 2 ,8100 6060%6א= 6 ,ה ףש 5 חה ה וחסס .5001 0ח600א0 8 התע 7660705 חחוז56חו 9 ,חו/ 8!65ע 66070 (ה080קט 5 0 1 ,095 0חההוח60 הו!וטם 0+ , סָחו300 7 ,500 , טח6וח ץז סז 61 וס 5 ,27 ,125 ,121 ,00[60%5 80 וס 2 ,150 ,00[60%5 0660076זק 1 ,סז +60 וו רס 2 ,ץ+0קסז 0806 2 ,00[6085 0660016זק 5 ,447 ,89 ,81000 5חהז דוו ה וס 8 ,600 86+28180856 60 6 ,60103885 80 0 9 ,8%000 086% 60 9 ,201 ,00679108 ה0ס8וז8 קוח סס (000) |068סו 801[ +ה6חהסקוחס6 8 ,6510001 ח!-00 2 ,"0606016 0285ח602+קח סס 5 ,ה שחואסס! עשסז-6וחָחו5 , ץְסח6זזטסחסס 3 ,ה0ס600א6 60006 |8ח0ווחסס 3 ,5+81076015 קסס.6...1כ זוע סחת... חזו\ 0חה )א6א...חס8ם זסת הזוע 1 ,15ח5+8+676 תזו\ 7 ,15ח5+8%676 +א6!...זס= תזושצ 4 ,185ח5+8%076 ח6חך...1! חזו/צ 4 ,518167060%5 0356 56!601 ח!ו/צ 9 ,10810 |8 הסוזוו חס 9 ,אסס ₪13!08 סַחוזזה ה זס= |החהסוזוסחס6 9 68 ,0ז28וא הסוו|4650 )סו1חס6 1 ,ץ סז |0ז%ה60 הסוז606הח0ס6 9 00[80 ח0סו801הח0) 1 ,100-104 ,עְזפּזסו! פסססה 3 ,ץז6קסזק 6ססו 2 ,8100 ה6סכ) 4 ,8100 006500608 66655 2000 8 4 ,סח 00[60% 2818|00) 6 ,0גס 8 ,60|!8000 5ח0ו8061הח60 9 ,0חה 070718 56870 6!קט!טח , עזזסקסזס זס601החס6) 1 ,00060076 +8זו= הס -+חוזק. |%א80%2 ה הסס 8 ,0005190%5 8 ,426 ,00[60%1 ח1801|:0ח20) זז 008 6 ,0 הזו חה הָחו300 8 ,0 05ח%0ו 6!ס0!טח מַחהו800 8 ,חס הח10! ח3 0חו08!61 6 ,החו 105 ה80ז0ההטחס 5 ,00[6018 ז6חו18ח00 3 ,8785ח000%81 5 , 6011860100 60181615 9 ,80 וח 60 6טחוזחס6 3 ,600%70!5 2 ,0ח38 1085 ה8%ז0 חס 4 ,סז 2 ,000606 60118 ה|5!סזחהס) 3 ,292 ,ץ6קסזק 6סץדו0ז1ח60 0 ,5100 0856 0651000%ו0 6בָ3ק1חסזת חו ,6ז0ז5 0818 +0 הסופזפשטחסס 2 ,6100 78!6ץ600 3 ,ץ61קסזס הס 6 ,.006016זכ עשסס 7 ,0006076 גוחפוש!סקסק 080 7 ,00660016 שש6ו/6608%0+6768% 9 ,6000 028%80856 676816 3 ,61700 676816-16|6 3 ,6100 א06ח|676816 6 ,0 ו0ח6816|16ז6 5 ,00[605 0818|00 ,6%7000 0276816 2 ,424-426 ,413-414 ,חסוזסחט1ז 6816000[60%ז6 2 ,125 ,61000 ז6+6 זה 076816 3 ,/,00[60"85 6080 5+0%6 601, 1‏ 006ק 5 057 8 ,006601116 008!8%6 27001 6768%6 7 ,94 ,61700 261 0768160067 5 ,00ח6% חסו40|31 676816 7 ,00660016 שש0|806/16ק6768%656 אחז 10 9 ,487 ,483-484 ,61000 08ו!0ק60768%656 4 ,81000 80182061 6768167 1 ,00060116 .|אחחסז-8018 0768167 6 ,0006016 שש6ו/602768+6 7 ,5101006 צם!/ 5 05 9 ,61000 6808066ז6768+6/0 8 8 ,6חג 06500 ץז6טף |8ח8ח 1 ,66685 +561!60% זס1 5 ,00871685 07085190 6 ,286וע עז0וכ) 027055180 2 ,68|00!8000 זס1 הזזס1 ,60065 8 00[60 1028%8ח6זזט) 1 ,חסוסח1 סכ+ח6זזט 5 ,6/80% %ח6זז6 8 0080 0[60%זק+ח6זט2) 5 ,527 ,ץ+זס6קסזס הסוז0681.[זספזט) 7 ,80806אזסעצ 08017666 ,5זספזטס 6 ,000 ,1065 זספזטוס 6 ,001665 0|355 ה%0+0₪5 0 ,156 ,113 ,101-103 ,089180856 סהוצותצוסצז ח!ו ,8016+ פזסוסז5ו6 3 ,0ח8 06500 עז6טף ,5ח60ח10 הה5%0ס 9 , חס60תט1 זז /6 פ 5 ,42 ,(20[60%9) 60658/ מ81כ) סהס 2 ;00[606 ז8חו%9ח0) 3180856 8 ,01 ע0/87/1604ס 5 ,00[60%5 50806אזס/צ 461 6 ,508665אזסש/ 261% 3 ,8080685אזסעש 0200017601 0ח3 261 10 הסוהוזסס 60%5[טס 8 00[60 5086086אזסעצ 61780% 0 3 ,0806ף8אזסע 866%ז00861 8 ,800!!68100985 06658-חסח ח!ו 50665 0818 016וח6ז 50| 566 .860655 0818 0 ,זס1 %00!5 00 (20[6015) 400655 0818) 20 ;(00[6089 818 א6שצוז6) 00 566 .006|5 366655 0818 (20[6019) 00655// 28%8) כ2/ 566 .20[6018) 06655( הזה 5 ,00160 7806 308/.00655 5 ,08005 300655 0818 5 ,00 7 ,0886 זהחוחט|ס6 6|קחופ 1 ;חש 2000 406655 9 ,הו 1660705 פָחוקטסזם 2 הח %8ח6 חסק 60 80/ 2000 001866 2 ,5806 +08 2 ,5806 +9%!! 6|ס3 דוסעוק 1 ,5806 50176805766% 5 ,10 1551165 8110 ווחהזטסזס 2 ,018078785 08180856 % 3108565 4 ,80806>אזסע 26% חו 6 ,50806אזסע 86%ז861ס0 חו 9 , ח0סו081ו601] 08180856 1 ,הח0ו600!!801 81808565 0 ,280ו/ זסאו|קס 3190856 6 ,וחסז1 ₪5 ההוהסכס ,שססחוצו סַ5סַהּזהס 2 ,28705!/ 8180856 5 ,;1סכ) פַפַּטפָח3 1 הסטוחוז6כ וה 5 ,205 , (00005ח10ז הס0וחו061 08%8) 65וזסטף הסטוחו061 0818 0 ,65/0007 +הסוההסזוטח= הזה 5 ,515 ,264 ,אס 018|00 665ז6קסזק אחו | הוה 0 ,26510086 6001ב הזה 4 ,ה ףחוחפו!סנוכ ,0818576015 2 חחו 6665 חסוחנ ,שוסוע 3%857661כ (6חחה8 06זטסס 2818) אכ 566 .6חחהּא 6סזטסס הוה 6585 8%₪8 3 , חה 0011865 0|355 (50017005 0818 6700%6ז 566) 016ח6ז 5 088 2 ,118]665 זס1 8 ,0!665הוזה8ע זס1 1 ,64 ,חסווסחט1 816018פ 5 ,חסוסחטז 816 8 , חסוסחט1 |816507|8ס 2 ,1065 08%8 6חחוך/816 5 ,00856 0 ,חסוזסחו פַחופַָח ספ 9 00[60%ס פַחוּחַח ספ 4 ,חסוקס זסזזם חהסוו- 05 7 0051806 סהץ5הטתפט 2 ,חסוסחוז +הטס0פ 5 ,(66א04ט0ח3 ]1 חסוזוחוז6כ פּהכ) וספ אחז | 12 13 3 ,6/8601 6804/8106 פחוקק3ז זסזז6 8|50 566 .38-42 , פחו99 090 0 ,5ח060|3781)0 ץזהסקסזק 68605126 8 ,00[60%8 חוח|0) 6 ,60%85[סס 16!0= 7 ,00606016 0616%6/.02001861 9 ,066006 06]6%6/.02018612 6 ,00600716 46060705 ||6!616כ 5 ,00660076 466070 6|610כ 9 ,0060016זכ שעש6ו/\/6!616כ 8 ,06060016זכ זס0002+6625%+0616% 5 .176ו0660זכ 65וגוססו/וחס7ז6!6161כ 0 ,0660016ז סטסזכ)0616%6 5 ,8100 65חו 816%61ם 2 ,81800 816%6 2 6601769ז0 460070 ב708%6 616160 2 ,203 ,06165 0616%6 פחו08!61 0 ,1675 101087 %80%5ח60 8 ,08185 0ח8 וח 60 ה9%0גוס 2 ,18060705 6 0[60 חה הר 0) חזו/צ 2 ,8600705 0110110816 0% 7 ,0011965 01355 חזזס1 הזסזז 5 ,00165 וחסז1 7 ,15085 9 ,וצ 8 9 ,00[6085 זסזזם ,עזה6קסזק הסטסו650 8 8510 08510 7 ,36 ,24 ,שסוע 65100 8 חהחו ה06510 עזסטוף 3 ,061685 800 9 ,"06165) 01081 זס 80165 חח1ו300 5 ,116!]065 08!01113%60 8 ,011088 1 ,"16685 ז81616ז8 0 ,1008185760%55ו5 (חו0ח6ז616ז 7 ,6685נו) 00816 66655 2000 8 1 , חהסוסחט1 +8זו ספ 2 ,0818088506 , 01807805 0 ,605[סזכ 0 / הַהוח0ו5 עווהזוחו0 0 ,33 ,51816060% וחום 6 ,ה 001!65 01355 ה0צ9וס 7 .076ו0660זכ זהּם טוחסו1580!6 8 .0660076 |0ז1חה0ס חב טחסו עסו /6ו0 0158 1 ,פחו!!סץ)חס6 , הסוזפּזטוס עְ8וס5ו0 5 ,0זסשץ6א ד6אוודפוס 1 , חסוסחש +85 1ם 1 , חסטסחטז קטאסס וס 1 , חסוסחט1ז אה וס 1 , חסטסחט1 חוועוס 8 ,28 ,24-25 ,60%[ס0 ספ 5 ,600 + 600 חה6ק הס 3 ,וח 165 +805700ח5 ,61000 ס טסט ה6סס 5 ,370 60%[סס ע+זס6קסזק+ה6והטססס 3 ,;;5+910760 קסס.1... 6 2 ,699 ,1000005 306036 חוה חס 1 ,פחסוזסחט1 סז3חָ6זְחָחָ3 הוהחזס0 חו ,%ה6וטז3 6חזה חחוה הס 4 ,(8חח8\ 6ס0זט50 8%8כ) אפפ 0 ,ה 81 סז א ד6/1כ! הו 031856615 מהוחפוופטס 3 ,;2870!וט /007וכ) 68+65ו!סנו סחו= ,600705 816סווקוט 5, ,ז80זווס 6וחזהחץ 1 ,06 160070561 סוחחהחע 1 ,106 166070561 8561חע 2 ,0850%5/ץ0 5 9 ,0060076זכ 00ס.1ץ85= 9 ,6ז008600ז 1.0002ץ85= 2 ,6007085 0ח6010 561 61700, 2 7 ,0086685 018100 105ה5ח0ו46!31 01 3 ,51 ,6!81505 ₪156|1 4 ,323 ,0+ 8018070069 85 1ח56 8!65 0%ה805ח5 ,|והחח-6 8 ,0זסעוץ6א עזקוח= 6 ,0885ו!1601ז פְַחו0עז0ח6 0 ,5186605 חסו)סחט= = 5 518160601 ע+זסקסזק ה 9 ,0060076ז0 פוזס-||816ז6 הוח א06חז | 14 15 5 ,.00606זכ 561ח!0 דוס ||ה816ז6 הוח 9 ,0660076 0!65סו||816ז6 טוח 64 ,006076זכ 561ח!65%0!וססו||ה816ז6 טח 9 ,066016ז0 80165 דך||816ז6 השח 0 ,0660076 816||/164/82ז6 הוח 9 ,396 ,06ו0660ז 5ה7%0ק170!08ח8%6060ז6 ו חס 5 8+6/5101600 0 טח 6 ,16ו0060זס 9 חס 0 ,0085 ה6רח ה60!!860)0 || 6 ,6685 8 הו סס 6 ,1975 1010097 %806%5ח60 2 ,10085 5 ,;0[]606זכ 01081ח3 חו פחחזס1 2 ,6004705 800 פחזס1 2 ,160055 0, ,139-140 ,80!65+ 2 ,/,660116685ס0זכ 0ח8 פעוסוצ 9 ,0 = 9 ,600 602 0 ,89-90 ,74 ,00[60% זזו= 2, 0 424 2 ,]60 3251 0 ,0 6111685ק0זכ ,60%[סס זסזז= 3 ,89-90 , ח0ו601!86% 8זסזז= 0 ,פחוסס זסזזס 1 ,18016 חַה150א6 חה הַחוס60!80ז פחוסוסטהּ 0 ,סח פזסזז6 הַחו815ז 0 ,01 9800|685 5 ,10 א%+חץפ 9 ,066016 00200 דח6ע= 6 ,070060165 %ח6/8 6 ,6/6015 4 ,חו+!וטס 6!ו0ס 0|355 8 ,090 7 ,01385565 ה05%0 %0חו חחוההוחהזטסזס 7 ,10 א18חץ5 000|6ח 51800870 |06א= 3 ה,חו 08%8 [0ח!ו800655 3 ,409-410 ,הזש 2000 60655/ 0חוז6078זחו 66655 2000 8 5 0060585 הו681ז0 ע||ה6והוהחץ 1 ,60%15ח8אזס/צ [068א חס 85860 3 ,0000016 400655/ חב וחסזז 60600765ס0זס !066א₪ בהוהחטז 8 ,66%55ח8)ז]ס/ |66א= וחסז1 65ט|פצ 5 ,]\6! סַפָחַהַחס6א= 7 ,94 ,617000 600%6א= 2 ,00[60%8 6080 9 ,00[6085 ה1!656870= 2 ,6015ו5+8%67 0 )וא 8 ,56 ,5%9%6716018 זסת )וא 5 ,519166015 חסווסחת )וא 4 , 15ח6ו5%8%0 סטש )וא 9 ,אסס 0!3!00 +זסקא= 0 ,אסס 013|08 +וסס6 +וסקסא= 4 ,201066 חה0ו655זקא= = 5 ,2100 16!0= 5 ,אסכ 018!08 ז00ווטם !6 1 ,פחסוזסחט1 סז3חָ6זחֶָ3 הוהח 00 חו ,ההזה הסו655זקא6סוסז 5 ,;אססם 018!08 115% 16!0= 4 ,51910760%65 07= 51 חו ,815ו! סו6ו1 7, ,6ז1ו0660זכק 6כץ דשחה צ6!0ו- 1 ,;00[60 16|0= 1 חחו ץ1ח6 1610 0651 חס! 6ח סַהוסחוז 6, ,0 0065ח6%וח 7 ,00 06111885ס0זכ 6גו|9/ סחהּ 6חחבּצ 7 ,1065 08%8 1610 חַהוזחוזק 6 ,0 68ו1ו6ססזס 7 ,1 עזסקסזס 6קץדך 1 60 850 566 .6!05 3000 4 טוט 16!0= תזועצ 5 ,ץו|הטחה8וח חח ו6זסחו-0+ה 6 ,65]ה/ 16|0 +ח6וח6זסחוסזט3 חַח5010 5 ,101 65:ו|/ 5100 0חה 51871 0, ,166 ,ז6סוט)סזוה 2 ,,;0ס1 1/0265 08%8 2, ,316/76 2 ,08080 וח אחז - 16 17 9 ,סטאסס | 12 | סוחס 1 ,6 והטצז 2 00180 01.5 5 ,-0ח1ח61765ז 3 , ;5/5910 הסוז08ו!60ז 3, ,חה 6זה28ו/צ 6|פ8ד 6 )אד 2, ,ס!/85צ 5 ,הח60|!600 18|05= 1 ,00060016 16051265 7 ,חסטסחט1 6סעד60ו- 5 ,חסוסח ח6. 61 7 ,373 ,00[600%5 8ה656870!ו= , ע+זסקסזס 6ב צז6וו- 3 ,0006016 05687006%וו- 9 ,370 ,00[60% 16568108 4 ,חןוע ה56870 0|6 סופ 3 ,הווחה 8חהוה0ז568 3 הַחועְ3וס015 9 ,0חה 60788 ה56870 6!סט!טוח 5 ,56870 3 סז 56% הזטז6ז 6חז פַחו0פ 7 ,56810885 )6+ 3 ,06606ז 05687001וו- 5 ,16ו0060ז 687002 05וו- 6 ,066016ז 3ח56870סוו- 7 ,373 ,00[600/5 חה80סו!סק4 ,ץהס6קסזק ה0ז6568ו1= 5 ,ץע 56870 16 3 וחסזז +56 הזטז0ז 06 (חהז50 ,5126 סו 3 '00[601 +1!655160020[80%-] 7 ,ץהסקסזק 6סעד6וו= 8 ,עזו6ססזק 60ז6:וו- 5 ,76007085 סחחחסזות 5 ,חסו1סחט? 16!0- 6א! הזסזוו= 1 60[סס ז6:!ו- 5 ,ץ6ססזק ז6זוו= 5 ,114-115 ,0660076זכ 66070561 חסווו- 3, ,0660016 ח8%6 !ה סחו- 9 ,6ז1ןו660סזק כוץפסחוז 3 ,2870!ו/ 7ץ07ט2) 8165סו!קטכ 6חו= 3 ,81800 +8זו= סחו- 64 ,760071085 חחוסחוז 3 ,81700 451 |סחו- 66655 2000 8 5 ,112-114 ,107-108 ,92-93 ,6%0005 הו 3 ,0ס0ח8% 1א6צסחו- 3 ,000ח6%רח פגוסוע6זק סחו- 4 ,0ז28ועו עזסוכ) 81060 החנ סחו- 8 ,הס |החוזסצז +5זו- 1 ,%18ח5+9166 חזו/ |סח=... חזו טחה +א6א...ח80= זס- 7 ,5+8+67016015 %א6...ח80= זס- 9 ,לחה פַחוסקס8 זסזזס 6 ,172 ,665 ח0וסזס1 9 ,סח 8ַחוסקפּזז זסזז6 ,5קססו זס- 3 6/60% 1הוחזס- 1 , חסו6חט1 81חזזוס- 2 ,10]05 01 ע+זסקסזס +8חזזוס-] 9 ,0!35595 חזזס1 8 ,0חו3!וסוח8 וח 9 ,01 5180065ח! 0+ 665ח61676 5 ,01 6%0005 0ח3 65ו6קסזס הצפוש 6 ,0011165 6355 וחזס1 7 ,סזחו 161 חח 56חו 2 ,343 ,(ץ5%00 6856) 1806ו0זחו חוטס! 5 ,443 ,6ז660סזס 1ח6/6 1056 חחזס- 7 ,311-313 ,6+075! חזזוס1 3 ,16ו0060זכ 1ה6ע6 ח6ככ) הזוס 9 ,23 ,פחזזס1 7 ,)חה 70[6015 00655 2 ,68080 שח 5 ,'0[]60זכ זסחזסחה חו 3 ,ףחוששסח5 סחה שחוסות 7 ,. שד 1 ,0818 סל חַחואחוו 7 ,280וע וחזס- ס+ט חזוע 9 ,1010 | הסוזוו חס 1 החו 0918 הַחועֶ3!ס₪015 ח3 קט פַחואססו 1 ,9189 01 500561 8 הַחוזוהחס 7 ,חס קטאסס! 8 0הו681ז0 9 ,חסוזה הזסזחו פַהועְ3!ס5ו ץ!וה6וחוהחץ 6 ,088 צעְחהוח-6-10חס חזוצ פחו2והסזה הץ65ז 0 ח,ה507606 ח50!85 6 ,000 ח6+ו/5 5 ,8%:46]קוח8וח 0+ 860 3 אחז | 18 19 4 ,. 0חו9ו 08%8 ח6011 0ח3 ףחועשסוצ 5 ה,חו 566% ע+זסקסזס ,טוסוע הזוס 7 ,ף15ח5+8%676 %א6!... זס- 5 ,(507זווס +חהזסעח 6ו1) זספזנוס עוהס-0זה8שוזסז 1 ,106 166070561 עוחס-0ז8עוזוס-] 9 ;00[606 65!ו= תגוס 0 ,08:808565 סז]אס- 2 ,)00660616 8016 ד0זס/\ס 666557 סז 4 ,63856 ]0 0 סהְַהּקז)חסז- 3 ,50007 0856) חזו/ש 068+60 00₪65%000% 0 ,51700016 0818 16 פחוזפצחסס 3 ,90! הזס1 3 0חו681ז0 1 ,,30615]! פַחו!וח פַחו07681 7 ,סז 08%8 (חוזסקוחו 0 ,חש 031856615 מַהוחפוופטס 9 ,0/8075ז0 61568726 חזועו 58050015 שד 3 ,עזזסקסזס סוחבּאוווטו- 4 ,(00600765זכ הססת10) פהסטסחטז (5חסוסחט1 300760816 566) 3091760866 (5חססתט1 חו-)!וגום 566) חו-+וום 3 ,)חה 065170 עזסטף ,והסזפטס 0 ,0 חס₪וחו61 וס 1 ,(חוחהחתטז) פַחואסטחו 0 ,10 000860 6060765סזס ץזזוסססזס 7 ,050 0 ,1 65ו671קסזק פַחופסקא6 0 ..פ 65!סהּוזהּע סווסטס 3 6, ,6006 אהטת2910) 6 ,61800 ז0!06-+|0ו2910018) 0 ,,66016סזס 0940 6 ,8100 86508086 201) 64 ,החסוסחט1 30%0[60%) 5 ,066016ז 05ם 01חפטסזה 00 36%0 5 ,440 ,61700 הסוס 2610) 0 ,61800 8חו201517) 4 ,25 ,817000 |סז1חה0 0700 9 ,245 ,212 ,200 ,086ו6|8 צם ק()0 66655 2000 8 5 ,600 38 חו ע0150!3 זס1 6600705ז סַהוקטסזם 5 ,אס 0/8!08 פַחוזזס5 0חג פָהוקטסזכ) 9 ,8075 0+ הַחהוח355!0 ,פקטסזם ח0ו60!!60 פקטסזכ) 6 ,עזהּזסו! אססה 5 ,86 ,6508669זס 26% חו ה 3 ,357 ,336 ,272 ,שזה6קסזכ 6וטוססו5ב3 5 ,200 ,6!3(86 0)צז|/] 0 ,7 , חהסוזסחוו 6% 9 , חסו!6חט1 1651א6ח 3 ,076ו0660זכ החזס- ו פֶחושסח5 סחה סחוסוה 9 ,0087165 ח800%0 3 ,פחזזס1 (6חְהּטַחָח3 | קטאז3ו/ 1א6צוססערו) ואדה 0 ,בח ז006ו265 6001ב הוה 7 ,פחזס1 0 היחו 0318576015 הַהוחפוופטס 1 ,סז 386ח! קו36 וואדר 1 ,ססת8אזס// ס|36 וו דר 0 60[ס0 60%[סזק ]ו דרו 9 ,520-522 ,272 ,179-180 ,171 ,06/+ 0818 >חווזסקערו 5 ,0ח8 6חוא6סחו 7 00[60 אחו!|זסקערן 3 ,ף6>חו!זססעה 2 ,800100 3 ,0 8ז00|0 2 ,601000 80 חַחוז 0פחו 74 החוש 0חה08והח 3 ,"06 5800|685 9 0 065 (סִחְבּחָח | קטאזבּו 1א6זוסכערו) | דר 566 .6ֶחְהּטחחב | קטאזבּו זא6ח6קערו ו 8 00[606%5 הסס!|28 , עזהסקסזס הססן 1 החו 03185766%5 ה הוחפו!סטק ,8%חזסז אדרו/6פו 0 ,166 ,145-146 ,106 08%3 צדודאשפו 2 ,זסעוץ6א צדודאשפו 7 ,6ז0660זכ 8חהוקק8ז זסזז6 חו ,%ה06ז518 56ם...156/1ם... הסחד.. = אחז 20 21 7 ,606ססזק מַחוקק18 זסזזס חו ,%ה6ח51810 156ם... הסחד.. .= 4 ,1ח5+8%000 חשחך...%| 9 ,ץזסקסזס 8!וטוא! 6זסחט! 5 , חסוזסחו (1! 6018%6החחח!) =|ן 2 ,חסוסחו +!| 6018+6הוח| 1 ,29 ,שוסוסחוץעצ 601816 הוח| 1 ,סז הסוזסחטז 3 פַחואסעחו 1 ,01 585 7 ,606510006 סִהְהק+)חסז סז ,08%8 סחהווסקחו 5 |8 660060 60א06ח!) /5! 566 .700ז16 60655 |08ח56006 60א06ח!ו (00חז6ו 5 3 ,ץזהזסו| 30% הזוע , הַחו0ה 8 ,0080 8 ,3000 ץ!|08ו81 ה וחהזטסזס 3 ,93 ,חסו60!!861 65א<06ח|! 5 ,065 0818 סוח6! סַחואססחו 9 ,ץ6ססזק 5!!טצ]א6סח! 9 |;00[60 06%ח|! 4 ,336 ,6/6011 26!ו!|₪8וח| 7 ,10 א18ח/ץ5 1ה5%916706 027ם. 551 ,פחוסן זסחחו 3 ,ץד6קסזכ 35% זטסח! 53 ,286וש 135% %+טסח! 2 ,273-274 ,אס 018!08 אחווזססץר + 56חו פחו56חו 8 ,00[60 סח 60 3 הזוע ,660705ז 64 ,001965 ס+ח| +%א6+ 6 ,0660016 פחזוס- ס+ח|561ח! 4 ,006060076 65!גוססו/ס+ח|1ו56ח| 4 ,362 ,00ח6% 85ח56+1.1ח! 0 ,אסס 018100 6ז0ז10 +56ח! 8 ,0660076 56134660705ח! 8 ,5ח0%0חו ח6060ספחו 7 ,0135565 0ח080ח518חו 8 ,168176 56ח16|!!56ח! 2 ,0חה 0818208565 01 ה0וז60168ז , הסו281והסזח הץ5 61חז6זח! 72 ,80!6+ 028165 66!סעח| 7 ,0851-0006 חס 60011 10 0560 5חסוזסח1 חו-)!וטס ,65סוסעחו 7 ,06060176 0046167606 /6אסץחן 6, ,066006 06ח61676 60/6 6אסעח! 66655 2000 8 (000ז0!/! 400655 |18ה5606 60א06ח!) הפו 6 ,800 68080665זס/ 261 ,507008 0818 1 ,ףפזסעוז0 |/5! 5%9||3016ח1 5 ,סח 4 8% 4 ,0606016 616 דסס 15 8 , ה00ח10 ע%קו5! 6 , חסטסחנ: ווטא5! 8 , הסח פַחוקס8 זסזזס 6 ,ז0ז8ז6קס ווטוצ8! !50 10646 51870870, 4 |? 00606 6/6706, 5 3 ,ץע6ססזק ח6ז! |16 460/60 6/001, 5 נ 5 ,,(007/07 4 6% ;4 061) 6חופַח6 08180856 46% 6 ,ה 60!!0858ז זס/ז56 .5001 ח66/עשז06 חסוזהסווק6ז |החסוז66זוסום 0 ...פע = כ 5 1 ,00606 שַחופַחם 46% 6 ,5080665אזסש/ 061% 3 ,0ח8 808065אזסעצ 000017601 10 הסה וחסס 60%8[טס 2 ,פחוס[ 7 ,10 א8+חץ5 1ה5+916716 077 ₪1 5 ,מחסחחו 4 ,185ח5%9%078 07 551 הז 7 ,סח 0ז28ועצ עז6ט2) 6|סחזוס 9 ,עזהזסו! סחנ 6 ,470-471 ,800 081808565 01 חהסוז08ו7801 , פָהוהההבּזטָסזס סחנ 6 ,0385ו!80ז הַחוזקץז0ח6 ח8 0חה 60 קהסס 4 ,6010885 ||0 |8ה0וזו300 0חוז68זס 7 ,1]1075 0ח8 035ו!60ז |הוצוהק חַחוז68זס 3 ,)0806ו|60 089180856 8 (חוא8וח 1 ,6010885 2616165 %ח6/6זק 5 ,65ו1ז6סז 08ו601ז 9 ,8010885 הָחו2וחסוחסהץפ 5 ,66016ס0זס 080!6ו!0ק46+סצו6קץע דק חן 46 00[60| 9 66/56% 050, 5 אחז | 22 23 0 0 הההחססו!3ם ,30615! 2 ,וע 015ק6ז 0ה07680 , ס]זה28וצו |306 .1 0 00[606 פחַחוזַ8ס655הַבּטַחָח3 .1 2 ,6815 08| 1 ,חסוסחט1 6% 1 5 ,;00678%0/5 = און.] 4 ,%ה518100 זסזז= הכ) ,%הסתגוחָזבּ |6סה!סחוו 5 ,8100 שחו | 6, ,06 660סזס פזסחזטה 6כ ס>חוו 2 ,066016ז0 פחחזסת||מ+5ו. 1 1, ,016ו0660ז 676ח/צ150 8 ס !מז 1 0, ,0660016 6015 !!מ9ו | 7 ,0060076 85 150 6 ,00660616 %86%8ח0 151 1 ,0066006 +8ח!5קטסזכ)ז8וו 1 ,6006ס0סז 05סזקץ511 1 0 ,06ו0060זכ 30165 1.1807 2 ,006016 5חוחט|660סץ ד3016 1517 1 7, ,076 660ס0זכ 5שו16/ז8 1 6 ,5 ;6/6 080 1 0 ,שוססחוצ 068|5 1 8 ,0060076ז 66ש0|מחם 106816 2 ,60070566 3 01 ע+זסקסזס 50165 1.06% טחואססן 0 ,43-45 ,|6צ6!-0806 5 3 ,ץו!ה טוח 7 ,ץ|81168 החרז סזס 9 ,]6/6|!-/סז 4 ,אוסז-6ופָחופ 6 ,ץ1ז6קסזק 6סעדא06 1 2 ,(500 0856) 1077806חו חופָסו 3 ,ץז6קסזס ח!|אסס .| 9 ,/,86!]085 קטאסס.1 7 ,076800 ,5וחזס+ קטאססו 3 ,סכ ,פססס! 2, ,0060016ז0 פזסזזם פָחופ(ס דקסס | 66655 2000 8 ₪ 3 ,80105 2 ,0006 2 סן 0חוז8|פח3ז 3 ,10 600860 ה 2 ,ןועש חחואזסעצ 2 ,שוסוסחועצ 0ז6ה | 5 וחוווהוח 0 ,0 5 ,1681016 46זח |והח סזס/ הזוע 1 ,6זה2וע !1.306 סחוווהו 5 ,430 ,411 ,00[60% 06ז6וווהו 7, ,00060016 צוסו//83>6ו 2 ,0176ו0660זכ ז2651001/)3516 866 7 ,.066016ז0 68ו!0ק6!וט- 866 4 ,0006016 כגוסזכ)866וח 1, .06ו0060זס ז8חה8%0)זזם 316 ד|068- |6>הו 3 ,0660016 81%00812)זז 3016 ד|068. 3661 8 ,0060016זכ 6!סב ד|83>61.068ו 7 ,0066006 זו ]הזה 866 וח 3 ,6000 016 0!!68ק46 6>ה ו 3 ,אסס 018100 6!ס3 ד 866 3 ,061685 866-18016ח 5 ,5916076015 .5631 חזוש 6, ,00606ז0 866)0561ח 1 ,50105ח6|8%10ז עְחה8וה-0+-עח8וח 1 ,59 ,06ו660סזכ 0 ס ד6!057:= אזהו 0 ,358 ,1!65 ס0וח. 4 ,65| 66וח. 2 ,0605 0818 סוחס 5 ,01 (חוא6סחו 7 ,סקטססס ,ז8ם הסוח 7 ,150 ,60805 טחפוח 3 ,א6זס 6 7 החהחו 7651/58 הְַחוְעֶ0150!8 ,אס 655806 5 ,005ח6%וח 7 ,סוס 0 ,שחו ך הט 466655 50סזסוו 868 006858%5/ 89/50 566 .497-501 ,(50₪!) פַחוּפָחם 0818 אספסזסוו 0 ,חמה (5כ0) הסטוסם זסקסופט6כ 2000 07166 אחז | 24 25 אססוט אספסזסוו 0 וה 1 400655 0חוז6078זחו 6 ,10006 020718015 6ח1 0+ הה0זו חה הָחו300 8 ,1000 620018015 06 10 005 6|סטוטוח הַחו00ה 6 ,10006 0018015 6+ והסזז 10 חה 0חו06!61 8 ,11905 101007 6018015 6וכוז!טוח ח06!61 6 ,085 101007 %8018ה0 080 ההטחס 5 ,סח 4 8% 1 ,3800 הסוז68ו!ס36 אספסזסוו 9 ,316 50171065 [1508/ 60סזסוו 4 ,5ח00ס08!!0 006!655וח ץזז6קסזק 6ססו 8 ₪5'-00[60 חססו|28 3 "0060855 ח0סו080%ח0) 3 ,חסו85!וחזסכ ח6ו65כ עזוססו 2 ,0חה 00165 חַח0ו60 ע||8168 ו רוחה זטסזק ,60%[סס 6וטססו 6 ,001885 7 ,0355 7 ,600 ץ!|68ו81 ה וחהזטסזס 5 ;1096 סֶח!08!61 64 ,000!65 01355 סזח! +16 חַחוז56חו 7 ,001685 01355 סז סזחו 169% סַחוז56חו 5 ,336-338 , 6ח5%8708|0 276 ,0970 7 ,6/80%85 081156 6 0 065 6 ,92 ,00ח6%רח +5זו- 6עסו 7 ,92 ,00ח6%ח 35% |6עטסו 7 ,93 ,92 ,618005 6טסו 7 ,92 ,00ח6%רח +א6צז6ץעסו 7 ,92 ,81000 פטסוע6ז 6ץטסו 6 ,ץז 5001 כ 16 5 , זסושעסזכ .5001 ו 68 0069858%5/ 8|50 566 .497-501 ,(סַחוּפָחם 08%8 אספסזסו₪) ספ 0 ,חה (5כ0) הסטוסם זסקסופט6כ 2000 07166 1 0060 0 5ץ5ו 6 ,03%8085665 567ש-!גורח 64 , )חה 16810765 /5600011 4 ,ץ1וו560 |6/6|-567 10 65עו81חז10|ה 1 ,10713069חו ה15%0וס 66655 2000 8 2 ,8554/0106 08180856 4 ,1!)665 66וח. 2 ,. 0זס/855 6!ו0סוח 4 ,5607 |6ע6!-867 חחו|!סץחהס6 !81168 ה וחהזטסזס 2 ה,החו 865 הָחוזהח5 7 הו פחזס1 הַחוזהח5 0 חח 7600705015 הַחוזהח5 5 ,ה 5800075ח8ז 1 ,660076ס0זכ 3016 ד6אה ושעו 6 ,076ו0660ז0 561601 עו א ץזוסססזוס 6חובּצו 7 ,134 ,00[60%58 02818|00 8 ,00[60%8 חוח|0) 7 ,00[60"5 16!0= 9 ,00[60"5 א06%ח|! 0 ,00[605 660016סזק 6 '00[601 0806 65חחהּצ! 0 ,ץץזזס6קסזס זסזזם עובצ חסוזהףועהח 14 ,0006 !וצ 7 ,766070501 9 ,עו 0%9ח825ח5 = = ,8ז96/וסזס 46156806 3 ,006016זכ הסח חור )סח 0 ,336-338 , 0זסצוץ6א עסו 0 ,6ו06060זכ ח6+!וח6ועשסח 3 ,6100 ה66876 עסו 3 ,0%ח6/6 318 סא 0, ,6ז0ו660סזק קסס.1/ץ85= סו 9 , חסו8|!)28וחזסה 9 ,64-65 , חסוס6חט1 עשסצז 8 ,46 ,65ט1ע ווגוא 1 ,116]065 זססוחט)ו ץזזסססזס זססותגוצ 4 ,60%5[סס זז= 9 ,00[60/85 זסזז= 8 ,00[605 חותט[60 ,שזה6קסזק 6568|6ו6חגוצ א | 26 77 0 2 ,ז80/צ0ז2 00[60%) 5 ,חו 618005 0חה 65ו1ו6קסז 6!355 חזסז 0005 3 ,01 חס16חו061 3 ,01 005ח6%וח 3 01 0611185סזס 7 ,חסוסחוו 006% 5 ,137-138 ,90-91 ,86-87 ,507065 0818 000 6 005001780 3 ,808065אזסע 0861766% 8 ,חו 8ַח080קש ח8%0 7 ,01 608168 3 ,ה 508065אזסעע 261 10 החסה וחסס 80%8[סס 8 ,חו 00[80%8 2 ,60870 ,085ז500 0080 9 ,128 ,00660016 חפעם 00070 סכ 2000 081086 5868 .םס (005) חסו0= 5מסו68ו|קקה 021166 5060170 8|50 566 .פחסוז9ס6ו|סק8 01166 7 ,ועו 2000 06655// 8חו00781זחו 4 ה,ההחסוה וסט (|00א= 5866) |06א₪ 1 ,ףפץסעוז0 |/5! 16ס5%9||30ח1 1 ,זו 8%95007086כ ה6ק 0 0 ,01006 7 , זס/\ 0 ,;(ם00)) הסטוסם זסקסו6צ6כ 2000 01866 14 ,החהוזהזס! | 6006 0 ,10085 800655 0/3%8 8 ,800!!60810085 66655-חסח חו 1 ,10085 8660 ח3 וח 30 זהסההץסו090 0 ,05ן[סזכן 0 .// חַהוח0ו5 עווזוףו0 1 ,01 שו6ו/]6ס 6 ,0ז2וץצ 1ח6והץס|ק6כ 0חג 6אְהאסהק 69 ,0015 ע8ושוז00006ז 3 3 ,ץזהזס] | +20[66) 0106 4 ,ה,חו 1065 חסוזה8 הווחה 551 עם , מַהו0ח6ז616ז ץ||68ו81 הסזטהּ 2 );00[80 66655 2000 8 8 ,00[6065 21106) 6 ,ץ+160000100 (08180856 חַחו655ססזכ (בּסועְוהח3 6חווחס) קמ וס 6 ,194-196 ,192 ,178 ,97 ,85 ,פז6סוטסזס (08180856 = 1ס) פס 015 2, ,6ץץ 0818 00[600 = 001 1 ,ץז קסזק הסטס חכ 6 ,59016806 זסזזם ה 1 ,50105ה6|81)0ז עְחההה-8-10חס 9 ,6!91!0080105 6חס-6-0חס 7 ,00 600 ה הס ה6ס 0 9 ,81000 28%00856 006 7+ ,11 ,6100 9850066 חה6ס 3 ,25 ,6/60% ח6סכ) 2, ,00660076 8591 חה06 0 ,.6ו0060זכ חזזס- חה6קס 1 ,0060016 פזסזזם ץ|הכ)אסס |ח6קס 3, ,66016סזק ץוחכ)אסס וח6קס 0 ה6סכ) 2 ,00[60859 ח0סו0860%ח0) 6 ,00[605 ₪36007056% 3, ,00660076 06זו0ס8%95כ. |אשחוזק הס 7 ,0 )חק 8 ,94 ,91-92 ,45 ,61700 460070561 ה6ס 0 5 ,6ו0060ז ה0וז0681. 06/80 סקס 1 ,0060016 55 58/60 חה6ק 0 1 ,100 68 50 ה6ק 0 4 ,00[60859 ח0סו0806%ח20) 1 ,006076 57/81 0+6 6 3060 דח6קס 5 ,.06ו0060ז0 |005671.6/8ח6סכ 8 ,416 ,6ו0060זכ +חו6+טקו 00 |אח6קס 0 %ח5%9%670 1 2856 הסטסכ 4 518+6000% 80856+28% 00086 הסזסכ 8 ,519+6000% 6ז08וה0 הסוזסכ 2, ,50 ,33-34 ,559100001 +וסו!קא= הסוס 3 ,248-249 ,245 ,6!805085 צם ה05כח0 8 ,08%80856 6חוששח+זסצז חו ,18016 5ו6%81כ זז 2 ,86007085 חהחקזס .א0ססו!זט0) 50סזסו1/! 566 .אססוטוס אחז | 28 29 כ 6 ,570-571 ,0ז28ו/ו 1ה6ההץס!ק6כ סג 366806ק 7 ,6ז0060זכ 1ח6/6 81וחזס= ה56000זסזסס-6מב3ק 0 ,ףְחואסס! |6ע6!-0396 5 (8005ק 8000655 0818 566) 800655 08%8 5 ,סחואסס| 4 ,ח60]!6000 38065 5 ,א87800ק 2 ,124 ,006060076 80 000)ז616וחהּ זה 1 ,204 ,665נו) ז616חח8זהס 5 ,תעש %+6007056ז 3 הַחו07681 3 ,1 5007065 0818 ח080קט 5 ,94 ,חס!60|!60 61676 8]8ק 5 ,ח060]87810 61075ח8]8ק 6 ,60665 ח6טסזחז-0855 0זסצ855ס 2 ,08180856 3 ,6!ו0סוח 4 ,85% זסש855 4 ,פ095ח60185)(0 7 ,פסנוסזף זס1 3 ,.00חו5611 0 ,507080705 ה50!35 01 ,שץהסקסזס 6זטזסוק 2 ,08005 300655 0318 חס ,|סזזחס6 5%ו! 30!6 דוסטוק 5 ,006016זכ 03160081זסזזם אק 1 .0176ו0660זס 01 2 .16ו0660ז 02 7 ,485 ,61000 |בּוזבּק סזבּוטוססק 7 ,0885 חח 60 קטוססס 8 ,00[60%8 חהט|ס0 ,עה6קסזק חהסופוס6זק 2 ,ץזז6קסזק 608160זק 1 ,478 ,469 ,68ו!0ק6ז 2616165 %ח6/6זק 5 ,165 ,156 ,5ש6א ץזה וס 7 ,0768000 ץ||68וחחה8 הץ 4 ,64606 +חוזק טחסחוזס 0 ,)60070506 8 01 65טובּע 16!0 8 ,פוש 8 4 ,16ו0660זכ 3615 |ש6וע6זקזחוזס 66655 2000 8 7 ,006606 611675 |עשסוע6זקזחוזוס 5 ,6זוו660ס0זכ עזוזסוזוקזחוזס 5 ,00606זכ 6כץ 36011087 +חוזס 8 ,ח650!00ז 66ו1חס6 08560-עוזסוזס 2 ,478 ,עזזסססזס עזוזסוזק 5 ,0זסשץ6א 6זה8עוזק 0 ,%ח6וח5+8%6 סזהּצוזק 4 0[600 076ו0660ז 58 4 ,50760 8חהוהחז סח ההוז 2 ,08080 טח 3 ,0060016 400655/ חה וחסזז הבהוחחנוז ,!66א= 0 ,10 600860 פחהסטסחטז 0 ,(פַחו!|68) פַחוא)סטחו 7 ,10 5חסחה6צחסס מחהוחהה 5 ,ץ6ססזס 9 ,5%0760 1 ;5181008 וק 5 057 .5001 הזוע ,0ח68זס 2 ,ףחוחפקס 0 ,50007006001685 7 0% 065 7 ,006016 00106א20 00 665500סזס 4 ,006600176 ז6סותטוצ]קטאסס וססזס 0 ,ץעזזסקסזס 6כעץ6011[סזק 8 ,אוסס0חועש 60%[סזק 5 ,22-23 ,6]65קסזס 9 ,חסוסחט1 עזהסקסזכ 3 חזועצ , פָחופסקאס 4 ,85ח60!!8000 65ו6קסזק 8 ,;וססחו/ו 165ו6סס-ק סח ע+ו6ססזס 7 ,סוס 0 ,ןועט 611165קסזכ (חופסקא9 0 ..פ 65|סהוזפּע סו|סוס 0 ,339-340 הסטסחט1 6261 עזו6קסזק 5 ,518100001 0261 עזו6קסזק 0 ,339-340 ,חסוזסחוו 161 עץזו6קסזק 5 ,57016000 6% .]1 עזו6קסזק 5 ,060600765זכ עזו6קסזס 5 ,51810601 661% ץ1ו6קסזק 5 ,58661 ץ+ו6קסזס אחז | 30 31 7 ,372 , חה0סוז60!!60 65%5 דעז6קסזק 4 ,ץזז6ססזק זססועסזק 5 ,0זסשץ6א סוופטק 0 ,%ח60ח5+9%6 סו!פטוק 5 סווסטס 9 ,ןוש 611165קסזכ (חופסקא9 0 ,..פ/ פחסססחט1 ץזו6קסזס 4 ,0318576015 הַהוחפו!פטס 0 00685, 7 43 ,202-203 , חסוו30 9 ,06685 סח6ססהּ 2 ,60665 06]6%6 9 ;סחווח 3 ,61685 866-180|6ח 7 ,6685 00816 9 ,203 ,0ח6ססה 000, 5 5 ,0חה 8חסו691קס הסוזוחו061 08918 08!816, 203, 2 3 ,205 ,8%6-180!6וח 43 ,01 8ו065 |8ח8וח 3 ,06685 800 (חו ח065/0 עזסטף ,שוסוצ חו265 8|50 566) 216-228 ,סוט ח0ו65סם 1 ,6685ט) זִסזְְחחהּזה 6 ,128105 7 ,01 עו0/87/16ס 1 ,204 ,ז6160וחה זה ס 5 ,עו %+6007056ז 8 0חו681ז0 3 ,ףוט 5007065 0818 חַחו81סקט 6 ,תח טסזחז-855כ 1 ,000 6ח3 .5001 חזוצו , הוה וההזטסזס 5 ,ףפחס60חט1 חסוווחו061 08%8 9 ,5191060665 07ם 551 1 ,0660076865 510760 7 ,168 7 ,50111065 0818 0+6וח6ז 0+ 5 ,ף270[6015] 00655 2 ,500170865 000 60אחוו 7 ,סוה ההות הוףסזוס 66655 2000 8 7 ,)חה 5017065 08%8 60016ז 2 ,58/10 (061105 56!60% 566) 56]601 5 ,500006685 7 ,0 065 2 ,204 , חסוחט 3 ,0816קט 8 ,94 ,00[80% 261 0387 4 , ח0סו60!!801 87/8618 09 ,2658066 ץ7ז36) 9 ,אס 01800 65ז6קסזק ץז6וכ) 1 ,!69א= ,00ח6%ח זוגוכ) 1 9 ,00ח6% 38156 0 ,677075 הָחו915ז 0 ,סזס/ חו ,66%[סס 6פָחב 7 ,ץזז6קסזס 4660701.00%5 5 1 ,80000 2 ,081610 6 0[606% חה חח 0) חזו/צ 2 ;6007089 6816ו!0ו ץכ 68105ו!סטכ סחו= ,68%6ווק0 3 ,2870!/ 9חואסס! 3 ,ץו|ה טוח 7 ,ץ|81168 הרהז סזס 4 ,280 26 60ח8+0 חחת( סחו= ,810060 הט 7 ,ץ6קסזס 6ה36607056%0|0 (60070561) %+00[60 466070561 5 ,101-102 ,עְזהזטו! פסססה 5 ,ץ6ססזס הסוס ה הס 60 עה 1 ,6007/05 חו800 8 ,6100 /עצ6צ001 5 ,06 זספזטוס 2 ,60060 8 (חו06!61 זס חַח0ו00 8 ,עזו6ססזס 60ז6זוו- 5 ,76007085 חַחסזות 64 ,78007085 8חוסחוז 7 ,606 חו= אחז | 32 33 6 ,ץזז6קסזק 6סע 10667 7 ,61005 חַסו0ְ89ףְוע8ח 6 ,6100 ה6סכ) 0 ,5ט|!פע 1610 פחחוזוס 8 ,ץזזסססזק +וספ 5 ,חס 08580 1600705615 ,518166015 .5601 3 ,ץז6טף 56!60% 3 הזוע , סָחו681זס 5 9 ,|,0חה 18016 3 הַחוזהּ!טקסק ץו|68והחהחע 1 ,98/0 0 ,חח 3 ,200 ,חסו60!!601 4660705615 2 ,ץה6קסזק 06ע7 36607056% 7 ,ץ6ססזס 5006 66070 0 ,660 הו 6 3 ,2006016 ₪61076066021106 6 ,3 ,337 , ה0ו60|!86 616760665 5 ,ץע 808%60ק0זק %5ח6/6 סהּזז ס+ 1560 0זסעשץ6א פזחסטם הזו 3 ,99 ,אסס 019!00 3616760665 8 ,161-162 ,ע1ו16ח! |8ו1ח6ז616ז 5 ,65ט|!בע 8610 חַחוה61765ז 4 ,00ח61 61765 5 , ח0ס60!!6601 5ח₪48!8%0 5 ,00[601 5ה00ז36!3 7 ,50117065 0818 670016 7 ,.פחוץזסטף 5 ,ף270[6015] 00655 2 ,500170865 0860 60אחוו 7 ,סוה ההות וסוס 8 ,0006076 5!והחחם סרח 6ז 6 ,000606 |והחחם 6הכ)6/סרח6ז 8 ,070060076 קטסזכ)וחסז- 567 ו6סרח6ז 9 ,6%000 זו08ק6 8 ,ץז6קסזס 60116810 1 ,00[601 4601108 8 ,5015 08ו!60ז 9 ,חר 60 הסוז8סו|0ק6 1 ,471 זסִהְבּח3|! הסוז8סווק6 6 ,0918085685 01 ח0ו68%ו!60ז 9 ,חה חססו 6160856וזם 66655 2000 8 6 ,חמה 865אחַ8ח6 065177 2 , 0ח8 חסוז28וחסזחה0סהץ5 61חז6זח| 6 , חה 065ַ0/חח160 +ח6והקס!ו06/6 סחצ 6 ,03885ו!60 8חהוקץז0ח6 30 חה 0 קוסס 4 ,60103885 ||0 |8ה0ו 300 0חו68זס 7 ,111075 800 6011035 |8זהק 0חו68זס 3 ,60!!080!6] 08+80856 3 חַחואהוח 1 ,670!)0885] 2616165 %ח8/6-ק 5 ,685ז06ס0ז 601108 9 ,8010885 הָחו2וחסזחסהץ5 1 ,סח 8ַהוההוההזטסזק סחצ 0 ,10 188%0765 /ש6ח 7 ,008%65/ 6/81!-חחחט!סס 6 ,ח0ו68ו601ז |8ה600זוסוס זפצז56 -01ס-061 8 ,ח0ו650!0ז 6וחס6 08560-עוזסוזוס 8 ,0!5ע6! ץזו|וסופוצ 601168ז 9 ,ה סחה וח 60 הסט3סו!60ה 1 ,סח זסַהָהח3)ו הסו68ו!ס6 75 ,483 ,ץזו6קסזס 6סץ 601687 5 ,000!65 01885 +וס0ס6ז 6 ,00660076 +חוז ]68006רוסק6ה 5 1 ,)חב 0[6015ז 00655 6 ,6 0008 4 ,10 000%70|5 4 ,0768008 3 ,5100 0856) 00651000% סהְהּק+חסז- 6 ,סוט ח6ו065 חו ,ץווהטחהוח 3 ,28105וע חזו/צ 0 ,508050015 חזועצ , סַהט0 015% 7 ,0010 30 0ח8 סז סוחזהחע0 חזועו 6 ,000 0ַחו300 סחהב חַחהוה סז 7 ,8065 0806 8 חתופ 4 ,ץ|808 רה זט סזס ,30 0!5סז1חהס6 6001 חַח3וטוסוח8וח 9 ,פחחנו!סס 6!ס0!טר חזוע 89 ,600185 וה05%0 6, ,)070846 10 1560 0ז]28וע +וסק₪6 ,5 הזו ח6 בחב פ5וסזזחס6 זוסק6ז סחהוה|טקוחהו ץו|68וזה ה והזטסזס 2 4 ,850015ח5 מַחו!והוח אחז | 34 5 3 ,61166ק0זכ |סזזחס6 1סק6ז סַהועץזוססוח 5 ,10 עו הס 0חט1 0ח608!0013% סחה ,פַהוקטסזם ,פַחזס0פ 9 ,ץ|81168רח8זחסזס ,ה080קט 2 ,280וע ס0ק6 6 ,חש 6768%60 8+ז0ק6ז הותטוס6ט!טוח 4 ,105 ,6%000 60067 2 ,16!05 01 עז6קסזס 6001760 5 ,251-252 ,16גו06060ז0 ז%6ה₪4656100 1 ,0 3656% 5 ,6/60% 85126 1 ,08985 0ח8 60 הח 65%0ז 5 ,51816060% |6|306חו! 365016 5 ,518160060% +46 365016 7 ,5186001 6500186 6 ,ץ6קסז 0ה8 00 6הץ365 6 ,0318 עְחההה-0)-6חס 15 הזוע ההזסז 8 מָחו2והסזההץ65ז 3 ,חסווסחטז פסה 6 ,447 ,89 ,61000 א836ס!!ס 5 ,חסוס6חט+ סתגוסז 9 ,6החו)סס)| |6/8|-עוסז 9 ,6זו0060זכ 6551015110 ףהוא00 |עוס 4 ,6000 סח הוהס6חטת= 7 ,0066076 675ש6!וחזס= הז 7 ,6606סזס 80615 |חטז 4 ,070060076 6ס0ז קנאסס ו|הטה= 1 ,;60%85[סס חסוז3סו!סק , 00חז6 חטוה 5, ,6ז660ס0זכ 40615 | חטז 5 1 ,6607080665 101 ,6%000ח 588 58/6405 070060076, 1 2 ,665 8ַחוצ58 3 ,160 6הָ68חו||00. 5 10006 0 ,85זזה 01 9 ,87180!65ע 01 1 60][ס0 500% 3 ,ץז6קסזס 010878 568700500 8 ,חס |החוזסא] 0ה5600 4 ,)חב 5ח0800ו|שק8 400655 ז6פ-0|וחח ,10810765 /ז5000 4 ,ץ1ו07ו560 |6/6|-567 10 65עו81חז10|ה 66655 2000 8 1 ,1018069חו וה0ס05% 2 ,8554/00 08180856 4 ,1!6565 66וח. 3 ,. 0זס/855 6!גוס0סוח 4 ,56077 |6/6|-867 חחו|!סץחהס6 ץו|68וז81 ה וחהזטסזס 3 ,84000 588% 5 ,5%916060% 0856 56!601 7 ,ז6|שחהּח זסזז6 הז 3 ,0060076 0ח8 5616000 5 ,61 58% עדו דא כו דסם ]55 1 ,;%ח51916:8 0 דא!... ₪07 551 2 ,6167105 +56!806 1, ,0חה פחסוזסחט1 3097608%6 3 ,)וש 6007056%ז 3 חַחו07681 1 ,'ז10 071+6718 2 ,6)ח8 פחוס[ 2 ,58/10 4 ,500006685 2 ,0ח8 6685 חסוחט 2 ,ה 08%8 50706 0ח080%קט 5 , ]50 0ח5)9100 07 551 5 ,חו 805 חח ס6 .5001 60016א6 10 05860 86%5[סס 80 וס 5 ,085ז0סשץ6א ד0צוודפוס 4 ,515!! 18!0 4, ,6!8656 |]0סא = 9 ,245 ,212 ,200 ,6|8₪086 צם ק(סאס 5 ,6386 )| ה ₪ 7 ,;א%חע5 חוסן זסחחו 4 ,חו פחוס[ 5 ,06781015 = א|.! 5 ,9500ח 5 ,6!36856 צם הםסחאס 4 ,50206685 69 , 0חופו 6!קחה8א6 ,613056 צם 0 סחה הסטסחטז פזְהחָ6ז0ָפָ3 ואפ 2 5%9%09780%1 07= 551 אמסוצט 4 ,68056 = חשת// 3 ,ה 65| +82570%ח5 ,6000 0020[601חה56 3 ,0060016 80500%5 9050 1 ,00660016 0000%א5610860 5 ,8000 58%1-0015 א | 36 37 4 ,6100 6זט+ 06 9 ,00660016 %ח306!00 ]561 5 ,443 ,440 ,81000 56100007 3 ,8100 005ן58126701155 5 ,"006606 ז%6ה6146561000 6 ,00060076 0150105160 4 ,236-237 ,6100 85חוחזבּ )501 3 ,60 הח8/8%00ח6) 5 3 ₪60 כו 5 8חוזהח5 2 ,65| 7 ,פחזס1 0 ,660705015 7 ,06606 א0ם 00 0665500ז2 סח סח 0 ,606ססז0 +וססו|/שסח5 0 ,06ו660ס0זכ 1 /שסח5 9 00[60"85 הסס!|28 ,9%000 אוסחפ 6 ,8100 קנגוססק /צסחפ 0 66016סזס 3008 /וסח5 5 ,217 ,אס 013|00 8|6 ד צוסחפ 9 ,00660016 זהּם 60//וסח5 1 ,2870!וע ץ67ט2) 6!|קחחופ 9 ,אס 018|08 6ז28ו/\ עז6ט2) 6|וקחחוס 5 ,ףח ואסס! שוסז-פוחָחו5 1 ,ץזו6קסזס 006! 5126 3 ,00 6806ח1 5 1 ,06 60070561 80570%ח5 בו 3 ,320-323 ,חָחופ₪ 15וסק6ז חְַחוט01510 9 ,0700/8675 4615608726 הזוע , קד 3 ,;ז6/ץ6וע 80570%ח וס 5 ,';56870 1!6 3 וחסז 56% הזטז6ז 6ח+ 5 ,8106 קוח 60- ד פ/שססחו/\ 8 180010566 ,ץצזסססזס חספ 0 ,00[6085 זסזזם ,עזו6ססזס 6סזטוספ 0 ,50768675 501380 1 ,280605 800655 08918 חס ,507680576061%5 5 01 8 ,פחסוזסחט1 30917608%6 66655 2000 8 4 ,חמה 065100 עץזסטף 1 ,5910601 אק = דך5 60 7 ,01 ח5+8%6 /צם!/ = ד65 5 ,(1סכ) סַפַהּטחָח3 1 הסטוחו6כ הוה 6 ,6067165 ח6טסזחז-0855 5 ,חס 08560 7660705615 (5001 ,%ח5181670 507 551 588) 1ה8ות0ו519 ₪07 551 2 ,00671685 חסוחט 1 ,500 .5001 8 ח]ו/ 501665 0818 חַחוזה8ססט 6 , ;08 פסם 501.01 7 ,0660076זק 0600000867 5091 5, ,00660016 46607056% 501 5 ;507/06 .501 6 ,60085 ]56/6 .5001 508ס0זס6ו! סחה 261 ח66/ש061 הסטפסו!ק6ז ו8ח660זוסום 7 ,081808565 507/67 .5001 0חוז600/6ז 89 , )ח8 006600765 510760 0 ,00[60%8 זסזזם ,עץ+הסקסזס 51816 561 1 ,0ח68|00|811 זסז חזזסז ,508765 65" 566 .000!65ח 51800810 1 ,אס 018|00 קטזזהוס 5 ,16!05 הַחוזחסוח6זסחו-ס1הּ זס1 , וע 51871 5 ,05801 5%8%10 0 ,0זסשץ6א 50910 0 ,5+9+67601 18110 0 ,40!85!זהע 5%8%10 5 ,6!05 מַחוזח6רח6זסחו-סזטה זס1 ,6טוה/ ק6ז5 89 ,06600768 510760 1 ,"518100 וק 5 0527 .5001 הזוע ,,פָחו681זס 2 ,ףחוחסס 7 , חסוזסחט? קוהס6זופ 9 ,ג ,זסזו0ם טחוס 8 ,0%005ח10 חַחוזז5 0 ,016700008 5000818576618 1 ,5101075 68 8850 566 .27-30 ,0765ו500070060 4 ,205 ,500006165 5 ,50076008 7 ,ה ח5%9%6 פטס 5 .08!00!300 ,5001018|5 אחז | 38 סח 0!3056 צם 0305 פחופט 6|קה8א6 6זטוס0סססזק עזסטוף ,הססחטז 399760816 אמשטפ 159 220009 1 0[60ס ס%ח!ץז3 ו וטס 6 ,8000 פ+זסססגופ 6 ,1085 זה 0 ח6+ו/5 1 ,00606 0002 ד 00 הסחהץפ 1 ,000860016 008|8%6 0021- סס- ח0הץ5 9 ,76ו0060זכ 6!616ס ד תוצח סאסס- חסהץ5 8 ,00606ז 000 דסס- חועשח+ סא חס הץ5 8 ,7801085 פָחו2וחסזחסהץ5 ז 4 ,0060 8018061 ך 4 , ח60!!800 0815 8!8ד 1 ,סחטטסז פחווסחהּת זסזז6 ז6ה0ז08%זזם 6וס הד 7 00[60 8!8ך 2 ,0ח8 00655/ וחסזז סזס/ הַחוזהוהסזטהּ 1 ,אס 018!00 671165קסזק 6ופ8דך 1 ,106 166070561 6|פ8ך 1 0 7 8!50 666 .155-197 ,65וסַ8ז 7 ,33 30 076800 עו|8168 ור זטסזק זסז 065וחהח166 ססה 1 ,1806 חַחו151א6 ח3 מחוס3!ק6ז פחוסטוסטהּ 3 ,1806 8 0חו07681 7 ,1015 01761 חו 08%8 2 ,1800 8 הַחו3!טוססק ע!|68והוהחץ 7 ,65א06ח1 5 ,)סז .5001 כ 6ו 7 ,66/5א עץזהחווזוס 9 ,0510 ,7600705615 3 ,1806 8 הַחו60180ז 1 ,7600705015 ָחוצ58 2 ,פחופש , 5691 7 ,610085 516750768057066%חה8ז ד סח 5+0708180856ה8זד 1 ,8חו076811 עץ||68וחזה חץ ,6615ח5אזסעצ |66אם חס 08560 3 ,ץזהּזסו! אכ תווצ ,0ָחו08זס 3 661ח8אזס/ 8 חחופ חַחו07681 0ח3 001000 2 ,פ/שס0חו/ש 38| 08180856 חו חַחו00 0 ,0800 טח (5חוס[ 566) פָחוחוסן 8 ,07680 !| טח8וח 9 ,01 חהס8|!28%1 וחזסחה 66655 2000 8 1 ,ףחוחסקס 2 ,ה ה060%/66 105ח5ח0וז6|8ז 6 ,5/5910 הסוז08ו!60ז 5 ,0768000 זס1 28705ו/ 8 ,חסו60!!801 85!פ8ד 5 ,00[601 000181081 80!65ך 5 ,6ז2וע 8|6ד 5 ,אס 018/00 0ז28ו/ 6|פ8דך 4 ,336 ,6/60% 316 חווחז ד 9 ,2006016 6511070013552+ 6 ,16|]05 +א6ך 8 ,חו-+!וטם , פחסוזסחט1 16% 5 ,6 | דר/זאד 6 ,28וע +הססחח! +אפד 5 ,ץעזסקסזס עה6קסזקזס)אד 7 ,568700985 10% 8 ,חחזסת |החחזסאא 6זוחד 1 ,6ז0ו660סזס קסס-. |ס6חחזוד 1 ,ץזו6ססזס |8עז6זח!זסהזוך 0 ,זס1 6זו|0060זכ ,0006 01 6סח8 ה זסזוסק 6חז סַהוחוז 2 ,0660176 קט0ז5 ורס חה[507 עס צו6וסטס+ 6 ,1805801005 601[ ז 0 ח8 וו 00 568 .זה ט!|סס+ 6 ,504 ,499 ,.58061-501ח83זד 7 ,800 516708%80856 הזד 7 ,8000 5+075076805766% ה8זדך 1 ,0060016ז 002- סז 6!6%6כ סדעזד 8 ,5%81670601 6קץד סחת... 6קץד 2 ,59 ,6זסשץ6א 601קץד ץזזסקסזס 6קץד 7 ,00[60%85 00655020[60%// 8 ,00[60%8 חוח|0) 7 ,6085[ס0 16!0= 9 ,00[60%85 46 7 ,0[60%"8ס0 80!6ך ט 4 ,חסטסחט1 8!6%6 ספתנ 5 ,44 ,6006וח( 1 ,231-232 ,204 ,68!ז6ט חסוחט 2 ,;5+9+9080 07 551 אסוצ 6 ,ץס6ססזק 6|פ3ד 6טףוח אחז | 40 21 4 ,ץ6קסזק 81065 / ס6טףוחנ 4 ,280ועש 067 86060 הח 0חו= ,660705 80060 ההחט 2 , 0זסשעץ66 |זחנ 6 ,522 ,ץ1ז6קסזק 5825001 00818016 1 ,108 ,92 ,60000 2008%6 7 ,203 ,665נו 0816קט וסט 585 080% 2 ,סח8 6165ף )56160 3 ,ץזסנוף ז0ס+6וחהזהכ 3 חזו/צ 1 ,סחו51 .5031 8 חזו/צ 9 0[60 608 הזוע ,65ט|פע 0ז600ז 1 00[60 2567068860 9 ,85 זס-567( ץ 500 |6ע6!-]50ט 4 ,10 31[/65חז8|)6 64 ,פחו!|סז1ח60 עו|8068 והחחהזפסזס 7 ,8085 0חו06!6% 0חה 8ַחו800 9 ,150785 0+ פ0גוסזף בַחוח0ו855 5 ,081808856 560076 3 0+ 4ה600 600 2 ,.6818!00 8 חו פקטוסזםס חַחו130 סח ,0616000 ,0חו68זס 43 ,5פח155)0ז06 0ַחוז501 2 ,0חה 1165 חָחו8ח5 ,1158 ז250 חסוז00!!60 25618 6 ,עזפזטו| אססה 5 ,86 ,508069אזסש/ 26% חו צ 14 ,0818 808000 3 ,ץעץזזסקסזס 6ו₪ חה0ו08וו8/ 3 ,ץזסססזס +א6 ד חהסוז08וו8/ 7 ,006085 6|6ו= , עזזסקסזס 6טו8/ 5 8 ,10 1/0065 08+8 0 ,1 חס!8%ז060|3 סווסוס 9 ,1 65ו6קסזק פַחופסקא6 0 .-פצע פחסטסח10 עזוסקסזוס 9 ,0 800086 0 ,5%800 8 ,561-0611860 66655 2000 8 8 ,46 ,106 0818 +ח8וזה/ 6 ,חסוזסחטז 6סץ דזהּ/ 1 ,(5חה80סו|סס זסז 28510 |8טפו/) הפ 0 ,605ן[סזכן 0 .// מַהוח0ו5 עווזוףו0 9 .ם00 חו פ|סס: עושוסטטסזס 9 ,ז%8%0ח6ו 00 0068 ב 0 , חסוז6ח10 +15 סז 560 הסג סאפ 0 , חסו61חט1 +15 סז 00580 ספ 9 ,חו-800 +וססאם/!זססוח! 0006-טוטו ג 9 ,00 (חהוזס ה 8 ,01107 28510 |1808/) 5 2 הו פַחופֶח 0600 6 ,8חוחסקס 6 , 0חה ששססחוצו 23180856 ח66שח6ס פַחוופחָס1 זסז 100 סח 8 ,חו פעוססחו/צ 8 ,0066006 שש16/עוסו/ 9 0060 /ש8ו/ וצ 7 ,0706800 7 ,%66015+518 /₪]/ = ד 0 .6001 חזוש 9 ,0ח09!61 2 ,08080 חס 9 ,סחוץ1ו00סוח 8 ,פסחוחוז 6 ,ה 65/0067 עזסט0) 7 ,137 , חסו60!|861 5ש18/ 0 ,476 ,471 , עזוסססזס עזוווסופו/ 9 00[]60"85 זהּם סחה ה 00 ,עזה6קסזק 6וסופו/ 5 ,6 28510 |1808 (זסזו0= 28516 |8טפו/) ם2/ 566 .זסזוסם 28516 |הטפו (5הסוז8סו!סק זסז 28510 |508ו/) 3ם/ 566 .פחסוזהּסו!סק זסז 8516 |הטפו 9 ,670507!!/! ,816 601176065 |808ו ש 0 ,שוססחועצ ח6זבה/ 1 60[ס0ס זחס ‏ פִַחָהּ; ס6/ 5 ,0108165חח160 60/ (08005 800655 0818 566) 080065 800655 08)8 9 ,0700/8675 461808726 הזוע 015ח805ח5 שד 7 ,פזס1 !ו ד4] 3 ,ףפאחו!ז6סעת א06חז | 42 23 4 ,031856015 מַהוחפו!פטס 4 ,200 ,6!3086 םח שה/ 2 , 0זסעשץ6א 6!וח/ 2 ,518160606 0ח6/ש... ס!ומצ 5 ,206 ,66165 ח! ,6087861678 06870!וצ 5 ,200% 2007655 פאוספחוצ 1 ,15ח5+0%06 ה)ו/ סחת... מאצ 5 ,3389 , 0זסעוץ6א פזהסעם הזו 5 ,ןועש ה0ו60|!60 065ה461676 6ח1 עס מַסזהּטְהקסזס 6/6015 הוססגּזז 5 1 ,276-277 ,0ז]28וע החזס- סזוה 2 ,280ו/ + סק 6 סזט ה 9, ,זה 2וע +זהח6 7 ,קוו הסצטם 0חה הוח ס6 0 46898 , 6ז]28וע חסו1ט|4650 +716ח60 0 ,280 זסו|ק5 ספַהּסַהּ1הכ 3 ,287085!/ 8180856 3 ,280ו/ 135% +טוסח! 1 ,0ז28ו/ !1.306 סחוווב ו 6 ,570-571 , 280ו/צ 1הסההץסוק6כ חג/ 30806 6 ,ץזסוף 6 ,286וע עז0וכ) 027055180 53 ,2870!ו/ /ץז0כ) 8165סו!קטכ הו 4 ,0ז28ועו עץזסטוכ) 81660 החנ סחו- 1 ,2860וע ץז6ט2) 6|קחחופ 2 ,280וע +וסס6ה 5 ,86 2ו/ש 6|פהד 6 ,280ו/ +זססחח! אד 7 ,ףע 00655// 0ח80ז607:חו , סזסש 2 ה,ההחסוה וחס+טה 7 ,811075! הזזוס1 5 ,30015! חָחו!ווח 3 ,006016ז0 66 דוס 0 ,89 ,ה60!!60%00 5080665אזס/ % 4 ,066016זכ 6ז6חד|א ץ 7 1 ,חסוסח +65 881214 צ 2 ,6כץ1 0818 65/40 2 ,06ח8ו!סוחסס (2000 ז68צ) א2ץצ 1 ,218 ,אסס 018|08 וח200 66655 2000 8 ת.ד. 6108 הרצליה 46160 הזמנות באתר ||.60. וחובהּ- סח טע |ו.0ס. והזה00-8חש6סזחו קטלוג ינואר 2017 וניצר | אעטתט. מפתחיאתריםגרפיקה | | | | = | | אמא, אבא - בניתי אתר באינטרנט (וזה) | | | | | | |266| 28 | | הגדל את הכנסות העסק שלך באמצעות פרסום בגוגל פסזס60 600016 | | |300| 249 | 5 !ודו המדריך ו אתרים ולמערכות 5=//, הדור הבא - מהד' 2 | |390] 158 | | 080980 סדנת לימוד | | |566| 188 | | מדריך 4 סש זםא.ק5ה 00| מדריך 4 ₪6 דשא 455 5 דשא 5 סדנת לימוד בשפות 0% ו-5/ 6 0 0006 - מדריך מעשי לפיתוח תוכנה לחפש באגים, מדריך מעשי לבודק תוכנה, מהד' 3 0 60% 15081 סדנת לימוד ללמוד 6 - מהד' 3 שפת אסמבלי למחשב האישי, מהד' 2 | יסודות התכנות ב-88 לתוכנת 8%8, מהד'4 | | | |182| 95 | || 80.מרה, תוכנהורשתות || | | | | | מדריך 9ח₪90%0 ואבטחת מידע, מהד'2 | || | | | |428| 169 | מדריך חומרה ותוכנה לטכנאי 06 - מהד' 5 (כולל חלונות 7/8) |752| 189 | מדריך רשתות לטכנאי 6 ולמנהלי רשת - מהד' 4 | |608| 209 | פאסחש) הההה ה ה | | | 0 | 841 606הו/צ מדריך למשתמש | | | | |544| 149 | | 8 פשסטחו/ מדריך למשתמש || | |488| 19 | | 87ס0חו/ צעד-אחר-צעד 6 | |272| 19 | || אטאש ה | |[ | 00| | אטא!] למתקדמים, טיפים, טריקים ותכנות בהפאם | | <> | |226| 189 | * מחיר מומלץ לצרכן כולל מע"מ היכנס לאתר להתעדכן בספרים החדשים ובמחירי המבצע בהוצאה תוכן עניינים ופרקים לדוגמה |ו.60. והחה-סח.צעשש ה "ל עמ'| מחירי| ו 35 - ספר הדרכה ותרגילים אינדיזיין - ספר הדרכה ותרגילים 2 72 זס%+₪53+78!!! -- ספר הדרכה ותרגילים | |120| 64 | חק צעד אחר צעד (צבע מלא, למתחילים), מהד'3 כריכה קשה | |200| 159 | חק צעד אחר צעד (ש/ל, למתחילים), מהד' 3 | |200| 89 | מדריך לתוכנת העיצוב והאנימציה א8חחזו 305 (2 כרכים) 140000 0-65 יישומי סטטיסטיקה בגיליון אלקטרוני |66א₪ סטטיסטיקה יישומית טבלאות ציר - ניתוח נתונים חכם 6 00868585 צעד אחר צעד 6 שזס/ צעד אחר צעד 43| 6 ]06אם צעד אחר צעד | 2010 סקסאס צעד אחרצעד 8 00| | 0 260655 סדנת לימוד עוד ספרים בגרסאות קודמות (2007 ו-2003) ניתן למצוא באתר הוד-עמי ניהול, כלכלה ושונות לחפש באגים, מדריך מעשי לבודק תוכנה, מהד' 3 5 9( לי זה עולה יותר (תמחיר) (כריכה קשה) - מהד' 3 8 | 129 ו מ | |350) ניהול ממוקד לעשות יותר עם מה שיש (כריכה קשה) - מהד' 4 | |358| 133 | | | 368, מו ו מערכות מידע | 806 01996 ימלות מתקדמות | || | | | | |626| 249 | 5 (;ח6/5+0 515ע!הח/ |519415+163) -- ספר לימוד | |256| 1%99 בסיסי נתונים ושפת .501 - עקרונות ועיצוב | |648| 149 | ניתוח מערכות מידע כולל מתודולוגיית ה- וש | | | | |818| 229 | | המדריך העברי השלם וט | |346| 320 | || ספרםדגיטל"ם 00000 | | | | לרכישת ספרים לצפייה בפורמט = היכנס לאתר לקטגוריה "ספרים דיגיטליים" קבצי תרגול לספרים 0 קבצי תרגול לספרים שונים תמצא באתר בקטגוריה "קבצי תרגול לספרים" ₪ ₪ ה * מחיר מומלץ לצרכן כולל מע"מ. קטלוג 1/2017 היכנס לאתר להתעדכן בספרים החדשים ובמחירי המבצע בהוצאה תוכן עניינים ופרקים לדוגמה |ו.60. והחה-סח. ששו