אקסס למתחילים: תגובות
-
@בערל אמר באקסס למתחילים: תגובות:
אגב, למה החשש הגדול להכניס קצת VBA ?
אני פשוט משתדל להצטמצם לידע בסיסי. VBA זה עולם שלם בפני עצמו.
וככלל, אם אפשר לפתור את הבעיה על ידי שאילתא, זה עדיף מבחינת יעילות ותאימות הלאה, דהיינו, כשנרצה בעז"ה לשדרג את המערכת לבסיס נתונים אחר, או ממשק אחר.
אבל כנראה שנטעם קצת משם, כי אני רואה שנדחקתי לפינה עם בעיית שיוך התרומות, והפתרון של הרצת השאילתה באופן ידני בכל פעם לא מתאים למערכת אמיתית.@בערל אמר:
איך שאתה מצליח לשלב בין ההתקדמות בפרוייקט הבניה לבין לימוד של חומר חדש.
אני בספק לגבי מה שכתבת בהתחלה שהמדריך לא מתוכנן ואין סילבוס.באמת? אני חושב לפעמים שהשילוב הזה הופך את המדריך למבולגן למדי. הוא מלא טעימות מפה ומשם. אבל מנחם את עצמי בעובדה שהתרעתי על כך מראש. מי שלא מרוצה יכול לקבל את התשלום בחזרה...
@odeddvir אמר באקסס למתחילים: תגובות:
אני חושב לפעמים שהשילוב הזה הופך את המדריך למבולגן למדי
מה פתאום?
לא עקבתי אחרי כל מילה של המדריך (כי לא נראה לי שאני הולך להשתמש באקסס) אבל קראתי את הרוב, וזה נראה ממש מסודר. אין לי מושג מאיפה יש לך זמן/כח להשקיע כל כך במדריך כזה. או שזה פשוט יוצא מאיליו?אגב, חשוב להבהיר שחלק גדול מהתוכן שימושי לא רק באקסס אלא בכל מערכת שמבוססת על מסד נתונים SQL-י.
(מה שלא יהיה נכון אם תתמקד יותר ב-VBA ועוד דברים שקשורים יותר לאקסס ספציפית, אולי זה עוד שיקול לא ליכנס לתחומים אלו) -
חלק י"ז: פתרון (חלקי) לבעיית שיוך התרומות
נתחיל דווקא מהבעיה השניה:
האם בכלל אפשר להעביר תרומה ממשפחה אחת לאחרת?
וניישם את הכלל שחשבנו עליו:
כל זמן שהתרומה לא בוצעה בפועל, כלומר שהתורם העביר למערכת את הכסף, אך אנחנו עדיין לא העברנו אותו למשפחה – ייתכן ונרצה לאפשר לשנות את הייעוד. אבל אם התרומה כבר הועברה למשפחה, אסור שתהיה אפשרות לשנות את הייעד.לשם כך אנו צריכים שדה נוסף שמציין את הסטטוס של התרומה.
לאחר מחשבה, החלטתי שאני מעוניין בשלוש אפשרויות לשדה הסטטוס:- זמינה התרומה נכנסה למערכת, אך עדיין לא מיועדת עדיין לשום משפחה. בידינו ליעדה למי שנרצה.
- מיועדת התרומה כבר מיועדת לאחת המשפחות, אך עדיין לא הועברה אליה בפועל. כעת רק מנהל יוכל לשנות את ייעוד התרומה.
- בוצעה התרומה הועברה כבר למשפחה, ואין לשנות בה שום דבר.
יתר על כן,
אני רוצה שהסטטוס ייקבע על ידי התוכנה, ולא באופן ידני, כדי למנוע את כל הטעויות שהזכרנו. לשם כך ניצור מנגנון האחראי לעדכון שדה הסטטוס, ולא נאפשר שינוי ישיר שלו.שלב א: הוספת שדה סטטוס תרומה
ניצור טבלה חדשה בשם DonationStatus עם השדות הבאים:
ID
מטיפוס מספור אוטומטי. זהו שדה המפתח כמובן.
StatusDesc
מטיפוס טקסט קצר, אורך מקסימלי 10:
עברו לתצוגת גליון נתונים והכניסו את השורות הבאות:
נפתח את הטבלה Donation ונוסיף שדה חדש StatusID מטיפוס מספר שלם ארוך. ונקצה לו ערך ברירת מחדל 1 (כלומר סטטוס=זמינה):
גם כאן, נעצב את התצוגה של השדה להראות תיבה משולבת, כך שיוצג התיאור של הסטטוס במילים ולא ע"י מספר:
נעבור לתצוגת קשרי גומלין ונקשר את הטבלה החדשה לשדה החדש:
יפה.בואו נפתח את טבלת התרומות בתצוגת גליון נתונים, ונראה כי השדה נוסף וברירת המחדל היא "זמינה":
אבל,שימו לב כי עבור התרומות שכבר קיימות במערכת, השדה ריק. מדוע? כי באקסס, כאשר מגדירים ערך ברירת מחדל לשדה, ההגדרה תקפה רק עבור רשומות חדשות שיתווספו מעתה, ולא מעדכנת עמודות ישנות.אבל ברור שהמצב הזה לא מקובל. אני מעוניין שלכל תרומה יהיה ערך תקין בשדה סטטוס. לכן אין לי ברירה אלא לטפל בעצמי בסטטוס של רשומות ישנות.
שלב ב: עדכון שדה הסטטוס עבור הרשומות הקיימות
דקה למחשבה:
לשלושת התרומות הראשונות אנו יכולים לבחור כל אחד משני הסטטוסים: "מיועדת" או "בוצעה", כי הן כבר מיועדות למשפחה. אבל הסטטוס של התרומה הרביעית יוכל להיות רק "זמינה", כי היא לא מיועדת עדיין לשום משפחה.
כרגע לא נסמן שום תרומה כ"בוצעה".בדוגמא שלנו יש רק 4 שורות, ונוכל לעבור שורה שורה באופן ידני ולשנות אותה.
אבל בדרך כלל, לא נעשה כן.
מה יקרה אם יש 40 שורות? ואם יש 4000? ואם בטעות נסמן סטטוס "בוצעה" לתרומה לא משוייכת? צריך מנגנון שיעשה זאת באופן אוטומטי ונטול טעויות. לשם כך נכיר סוג נוסף של שאילתא:שאילתת עדכון
יצירה > עיצוב שאילתא > הוסיפו את טבלת התרומות, ומתוכה את השדה StatusID לרשימת השדות למטה. כעת בחרו סוג שאילתה "עדכן" מהתפריט:
שימו לב שנוספה כותרת שורה: "עדכן ל:"
בשדה זה אנו אמורים לציין את הערך המעודכן של השדה StatusID. אבל כפי שציינתי, ערך זה תלוי:- אם התרומה לא משוייכת למשפחה, אנו רוצים שערך השדה יתעדכן למספר 1 (=זמינה)
- אחרת, השדה יתעדכן למספר 2 (=מיועדת)
יש יותר מאפשרות אחת לעשות כן. היום נשתמש בפונקצית התנאי הכפול IIF
פונקצית התנאי IIF מקבלת שניים או שלושה פרמטרים, ומחזירה ערך לפי ההגיון הבא:
אם ערך הפרמטר הראשון הוא אמת – יוחזר ערך הפרמטר השני. אם לא – יוחזר ערך הפרמטר השלישי (אם צייננו פרמטר שלישי. אחרת יוחזר NULL)
כנסו לשדה ופתחו את הבונה, ושם כתבו את הנוסחא הבאה:
IIf([TargetFamilyID] Is Null, 1, 2)
חשוב מאד: שימו לב להוסיף את הסוגריים המרובעות מסביב לשם השדה TargetFamilyID, אחרת אקסס תפרש אותו בתור מחרוזת, ותוסיף לו גרשיים, והתוצאות יהיו שגוייות, כי התנאי בפרמטר הראשון תמיד יחזיר שקר.
זהו.
כל מה שנדרש זה פשוט להריץ את השאילתה.
בחרו מהתפריט למעלה: "הפעל". אקסס תשאל האם אתם בטוחים שברצונכם לעדכן 4 שורות:
נבחר כן. ואקסס תעשה את העבודה בשבילנו.
כעת נסגור את השאילתא. אקסס תשאל אם ברצוננו לשמור:
נחשוב: האם אנו צריכים לשמור את השאילתה? כנראה שלא. אנו לא אמורים לשנות באופן גורף את ערך השדה בעתיד.
נבחר "לא".
נפתח את טבלת התרומות ונבדוק שכל הרשומות עודכנו בצורה נכונה:
נראה מצוין!
רבע שעה הפסקה ונמשיך.שלב ג: הגדרת שדה הסטטוס כשדה חובה
למרות שאקסס מספקת לנו ערך ברירת מחדל לסטטוס, עדיין המשתמש יכול למחוק לגמרי את ערך השדה, ולהשאירו על NULL. זה מצב שאנו רוצים לחסום. לכן נגדיר את הסטטוס כשדה נדרש.
שדה נדרש
אקסס מאפשרת לנו להגדיר כי שדה מסויים הוא נדרש, כלומר: מוכרח להכיל ערך. אם השדה הוגדר כנדרש, אקסס לא תאפשר לנו לשמור את הרשומה מבלי לספק ערך תקין לשדה.
כנסו לטבלת התרומות, בחרו את שדה הסטטוס, ושנו במאפיינים את המאפיין נדרש לערך "כן":
שמרו את הטבלה ביציאה ממעצב הטבלה. אקסס תציג את ההודעה הבאה:
הודעה זו מופיעה בכל פעם שמגדירים שדה כנדרש וכבר קיימות רשומות בטבלה.
אקסס שואלת האם ברצוננו לבדוק שהרשומות הקיימות מקיימות את ההגדרות החדשות, או במקרה שלנו, שהשדה StatusID מכיל ערך עבור כל רשומה ורשומה.נבחר "כן", ואקסס תבדוק שהרשומות תקינות. וכיוון שכבר דאגנו לכך מראש, לא תהיה שום בעיה, ואקסס תסגור את מעצב הטבלה.
אם הנתונים היו שגויים (כלומר, היה חסר ערך לשדה הסטטוס בחלק מהרשומות), אקסס הייתה שואלת מה ברצוננו לעשות: לבטל את ההגבלה על השדה, או להתעלם מחוסר התקינות של הנתונים הקיימים, ורק לדאוג לכך מכאן ולהבא (וכן, זה באמת נשמע רעיון מסוכן, ורק לעתים נדירות נבחר בו, לא ניכנס כעת לפרטים).
שלב ד: הוספת שדה הסטטוס לטופס רשימת התרומות ונעילתו
אנו רוצים להציג למשתמש את הסטטוס של כל תרומה. נפתח את הטופס frmDonationList בתצוגת עיצוב, ונבחר מהתפריט למעלה: "הוסף שדות קיימים":
אקסס תציג את כל השדות בטבלה שעליה מבוסס הטופס, דהיינו טבלת התרומות Donation. נגרור את השדה StatusID לתוך הטופס, לפני שדה משפחת הייעד:
כעת ננעל את השדה לשינויים:
נעבור לתצוגת המאפיינים של השדה על ידי מקש F4, ובלשונית נתונים נשנה את ערך המאפיין נעול ל-כן:
שלב ד: ביטול שדה משפחת היעד עבור רשומות עם סטטוס שונה מ"זמינה"
אנו רוצים שהמשתמש לא יוכל לשנות את היעד עבור משפחה שהסטטוס של שונה מ-"זמינה". לשם כך נשתמש בעיצוב מותנה על שדה TargetFamilyID:
סמנו את השדה ובחרו בתפריט "עיצוב" את האפשרות "עיצוב מותנה":
בחרו כלל חדש ובעצב רק תאים שבהם: את האפשרות הביטוי הינו
ובתיבת הביטוי הקלידו
[StatusID] <> 1
נסמן את האפשרות הפוך לזמין, ונשים לב כי התצוגה המקדימה מראה פקד אפור (=לא זמין)
נבחר אישור פעמיים כדי להחיל את כלל העיצוב שיצרנו.
נסגור את הטופס ונשמור. כעת נפתח את טופס כרטיס התורם, ונראה שהשדה החדש מופיע, וכן נראה שכעת יש אינדיקציה על תרומה המיועדת למשפחה שאינה משוייכת לתורם הנוכחי:
נסו לשנות את הסטטוס עבור משפחה כלשהי. שימו לב שאין אפשרות כי השדה נעול.
הוסיפו כעת עוד תרומה לתורם הנדיב כהן אברהם, ייעדו את התרומה עבור "ראובני אברהם ושרה".
שימו לב כי למרות שהתרומה מיועדת, הסטטוס עדיין נמצא על "זמינה":
שלב ה: שאילתה לעדכון הסטטוס
נצטרך ליצור מנגנון שמשנה את הסטטוס עבור כל תרומה כזו. הטוב ביותר הוא לשנות את ערך הסטטוס ברגע שמעדכנים את המשפחה בשדה היעד, אך לצורך זה אנו צריכים להשתמש בקוד VBA. כיוון שמדריך זה באופן עקרוני לא אמור לכלול קוד VBA, נשתמש בשאילתת עדכון.
השאילתה תהפוך את שדה הסטטוס למיועדת עבור כל תרומה שיש לה משפחה בשדה הייעד, אך הסטטוס שלה עדיין נמצא על ברירת המחדל "זמינה".צרו שאילתת עדכון חדשה, והוסיפו למשטח העבודה את טבלת התרומות.
הוסיפו לרשימת השדות למטה את שני השדות StatusID ו- TargetFamilyID.
כעת השלימו את הפרמטרים כפי שמופיע בתמונה:
הגדרה זו פירושה:
עדכן את השדה StatusID כאשר הוא מכיל את הערך 1 (=זמינה) וגם שדה משפחת היעד אינו ריק.
לשם שעשוע, עברו לתצוגת SQL וראו את תחביר השאילתה:
UPDATE Donation SET Donation.StatusID = 2 WHERE (((Donation.StatusID)=1) AND ((Donation.TargetFamilyID) Is Not Null));
המילה UPDATE מציינת כי ברצוננו לעדכן את הטבלה Donation. הפקודה SET… פירושה קבע את שדה Donation.StatusID לערך 2. המילה WHERE מציינת את התנאי לעדכון, והמילה AND מציינת כי שני חלקי התנאי צריכים להתקיים. פשוט, לא?שמרו את השאילתה בשם: qryUpdate_SetDonationStatusToTargeted.
שימו לב, כי אקסס מקצה סמל מיוחד של עיפרון עם סימן קריאה עבור שאילתות עדכון:
כדי לציין שהשאילתה משנה ערכי שדות, ועלינו להשתמש בה בזהירות.
כדי להריץ את השאילתה, נלחץ עליה פעמיים. אקסס תשאל האם עשינו זאת בכוונה:
נבחר כן.
אקסס תבדוק כמה רשומות עתידות להיות מושפעות כתוצאה מהרצת השאילתה (במקרה שלנו רק הרשומה האחרונה שיצרנו), ותתריע על השינויים הצפויים:
שוב נבחר כן.
נפתח את טופס התורם ונראה כי הסטטוס לתרומה האחרונה השתנה למיועדת, ושדה משפחת היעד ננעל:
אנחנו מתקדמים.לסיום
הסרת האפשרות לשינוי הסטטוס על ידי המשתמש היא צעד חשוב. אך עדיין יש עוד מה לעשות:- להריץ את שאילתת העדכון כשהדבר מתבקש, למשל עם סגירת הטופס. (ככל הנראה לא יהיה מנוס משימוש ב-VBA למרות הכל...)
- לאפשר שינוי הסטטוס ל"בוצעה" במקרה שאכן התרומה הועברה למשפחה.
נשאיר זאת לפעם הבאה.
שיעורי בית: עריכת טופס כרטיס התרומה.
על פי התכנון, טופס כרטיס התרומה frmDonationCard מיועד למנהל המערכת בלבד. אבל בטופס הזה חסרים שני דברים חשובים:- לא מוצג שדה הסטטוס.
- אנו מעוניינים לאפשר למנהל לשנות רק תרומה זמינה, ולא שכבר מיועדת או בוצעה.
למעשה, זה בדיוק אותו תהליך כפי שעשינו עם הטופס של רשימת התרומות.
בהצלחה! -
שלום לכולם!
לשאלות או תגובות, אשמח אם תגיבו כאן.(לינק למדריך אקסס למתחילים: יצירת מערכת לניהול תורמים ).
-
@שיהיה אמר באקסס למתחילים: תגובות:
היי
אני לא מצליח לראות את המדריך..
איפה הוא אמור להיות?
בתגובה?לחץ כאן:
https://tchumim.com/topic/10491/אקסס-למתחילים-יצירת-מערכת-לניהול-תורמים/18 -
@שיהיה אמר באקסס למתחילים: תגובות:
היי
אני לא מצליח לראות את המדריך..
איפה הוא אמור להיות?
בתגובה?לחץ כאן:
https://tchumim.com/topic/10491/אקסס-למתחילים-יצירת-מערכת-לניהול-תורמים/18 -
@בערל אמר באקסס למתחילים: תגובות:
אגב, למה החשש הגדול להכניס קצת VBA ?
אני פשוט משתדל להצטמצם לידע בסיסי. VBA זה עולם שלם בפני עצמו.
וככלל, אם אפשר לפתור את הבעיה על ידי שאילתא, זה עדיף מבחינת יעילות ותאימות הלאה, דהיינו, כשנרצה בעז"ה לשדרג את המערכת לבסיס נתונים אחר, או ממשק אחר.
אבל כנראה שנטעם קצת משם, כי אני רואה שנדחקתי לפינה עם בעיית שיוך התרומות, והפתרון של הרצת השאילתה באופן ידני בכל פעם לא מתאים למערכת אמיתית.@בערל אמר:
איך שאתה מצליח לשלב בין ההתקדמות בפרוייקט הבניה לבין לימוד של חומר חדש.
אני בספק לגבי מה שכתבת בהתחלה שהמדריך לא מתוכנן ואין סילבוס.באמת? אני חושב לפעמים שהשילוב הזה הופך את המדריך למבולגן למדי. הוא מלא טעימות מפה ומשם. אבל מנחם את עצמי בעובדה שהתרעתי על כך מראש. מי שלא מרוצה יכול לקבל את התשלום בחזרה...
@odeddvir אמר באקסס למתחילים: תגובות:
באמת? אני חושב לפעמים שהשילוב הזה הופך את המדריך למבולגן למדי. הוא מלא טעימות מפה ומשם. אבל מנחם את עצמי בעובדה שהתרעתי על כך מראש. מי שלא מרוצה יכול לקבל את התשלום בחזרה...
השילוב הופך אותו למקצועי הרבה יותר מהרבה מדריכים ברשת
הקטע שבכל שיעור מתקדמים גם בלימוד וגם בבניית המוצר - מספק מאודאישית אני מאוד נהנה מדרך לימוד זו
התחלתי מדריכים שאמורים להיות מעולים ופשוט התעייפתי ועזבתי באמצע... וכאן אני מוצא עצמי מצפה במתח לפרק הבא...תודה רבה!
@odeddvir אמר באקסס למתחילים: יצירת מערכת לניהול תורמים:שיעורי בית: עריכת טופס כרטיס התרומה.
על פי התכנון, טופס כרטיס התרומה frmDonationCard מיועד למנהל המערכת בלבד. אבל בטופס הזה חסרים שני דברים חשובים:- לא מוצג שדה הסטטוס.
- אנו מעוניינים לאפשר למנהל לשנות רק תרומה זמינה, ולא שכבר מיועדת או בוצעה.
למעשה, זה בדיוק אותו תהליך כפי שעשינו עם הטופס של רשימת התרומות.
בהצלחה!בוצע!
-
@איש-פלוני מסתמא לחצת בטעות על הנקודות בשורה של מקור הפקד ולא במקור השורה. כך זה נראה מצילום המסך (אתה בלשונית "הכל" ולא "נתונים")
-
@איש-פלוני מסתמא לחצת בטעות על הנקודות בשורה של מקור הפקד ולא במקור השורה. כך זה נראה מצילום המסך (אתה בלשונית "הכל" ולא "נתונים")
@odeddvir אמר באקסס למתחילים: תגובות:
@איש-פלוני מסתמא לחצת בטעות על הנקודות בשורה של מקור הפקד ולא במקור השורה. כך זה נראה מצילום המסך (אתה בלשונית "הכל" ולא "נתונים")
נכון.
תודה רבה!!! -
שלום לכולם!
לשאלות או תגובות, אשמח אם תגיבו כאן.(לינק למדריך אקסס למתחילים: יצירת מערכת לניהול תורמים ).
@odeddvir
שלום. (אני לא יודע אם כאן המקום לשאלות...)
אני אוחז בפוסט מס' 12, ואני מסתבך.
כשאני גורר טופס משנה לתוך ראשי, ואח"כ חוזר לתצוגת "טופס" - אני רואה את טופס המשנה גדול בלי פרופורציה, וכשאני מנסה להקטין אותו (בתצוגת עיצוב כמובן) - אזי בתוצאה בתצוגת טופס - לא רואים את הכותרת ותוויות השדות. -
@odeddvir
שלום. (אני לא יודע אם כאן המקום לשאלות...)
אני אוחז בפוסט מס' 12, ואני מסתבך.
כשאני גורר טופס משנה לתוך ראשי, ואח"כ חוזר לתצוגת "טופס" - אני רואה את טופס המשנה גדול בלי פרופורציה, וכשאני מנסה להקטין אותו (בתצוגת עיצוב כמובן) - אזי בתוצאה בתצוגת טופס - לא רואים את הכותרת ותוויות השדות.@שואף-לדעת זה בגלל שאקסס מיישרת את הפקדים לכיוונים סותרים.
בתצוגת עיצוב, בחר את כל הפקדים Ctrl+A, ובמאפיינים בלשונית "תבנית" שנה את המאפיין עוגן אופקי ל: ימין:
-
להתענג!
כל מילה זהב
ועוד חשבתי שזה עוד תוכנה... -
@OdedDvir
מבקש סליחה שאני שואל על משהו מחוץ למה שנלמד בקורס.
ניסיתי להוסיף לטופס של התורמים תיבה משולבת שיהיה אפשר לבחור בה תורם מתוך טבלת התורמים וניסיתי לעשות שהנתונים בטופס יתעדכנו ויציגו לי את התורם לפי התורם שאני בוחר בתיבה המשולבת. אבל לא הצלחתי שהטופס יסונן לפי מה שאבחר בתיבה המשולבת.
איך אפשר לעשות את זה?
תודה רבה!
אין מילים על הקורס!! הייתי באמצע לבנות קטלוג לאוצר ספרים בישיבה (בלי ידע מוקדם באקסס, ניסוי וטעיה וכל מיני מדריכים שמצאתי באינטרנט), והקורס הזה הוא המדריך הכי ברור שראיתי! עזר לי בהרבה דברים!! -
@OdedDvir
מבקש סליחה שאני שואל על משהו מחוץ למה שנלמד בקורס.
ניסיתי להוסיף לטופס של התורמים תיבה משולבת שיהיה אפשר לבחור בה תורם מתוך טבלת התורמים וניסיתי לעשות שהנתונים בטופס יתעדכנו ויציגו לי את התורם לפי התורם שאני בוחר בתיבה המשולבת. אבל לא הצלחתי שהטופס יסונן לפי מה שאבחר בתיבה המשולבת.
איך אפשר לעשות את זה?
תודה רבה!
אין מילים על הקורס!! הייתי באמצע לבנות קטלוג לאוצר ספרים בישיבה (בלי ידע מוקדם באקסס, ניסוי וטעיה וכל מיני מדריכים שמצאתי באינטרנט), והקורס הזה הוא המדריך הכי ברור שראיתי! עזר לי בהרבה דברים!!@OdedDvir המדריך הזה, זה פשוט דבר מדהים!!
איזה כתיבה איזה הפשטת מושגים איזה כתיבה מקצועית וברורה!!
אני נהנה מכל רגע!!
תודה גם הכניסה ל VBA .
חבל שלא היית המורה שלי, ככה בטוח הציונים שלי היו יותר טובים....
תודה!
-
@OdedDvir
מבקש סליחה שאני שואל על משהו מחוץ למה שנלמד בקורס.
ניסיתי להוסיף לטופס של התורמים תיבה משולבת שיהיה אפשר לבחור בה תורם מתוך טבלת התורמים וניסיתי לעשות שהנתונים בטופס יתעדכנו ויציגו לי את התורם לפי התורם שאני בוחר בתיבה המשולבת. אבל לא הצלחתי שהטופס יסונן לפי מה שאבחר בתיבה המשולבת.
איך אפשר לעשות את זה?
תודה רבה!
אין מילים על הקורס!! הייתי באמצע לבנות קטלוג לאוצר ספרים בישיבה (בלי ידע מוקדם באקסס, ניסוי וטעיה וכל מיני מדריכים שמצאתי באינטרנט), והקורס הזה הוא המדריך הכי ברור שראיתי! עזר לי בהרבה דברים!!@איש-פלוני תודה על המשוב החם!
לגבי הפונקציונאליות שביקשת, הציעו את ההצעה הזו למעלה. לעת עתה זה לא בתכנון, כי זה נראה לי מחוץ לתחום ההדרכה הבסיסית.
...
אך תוכל לפתוח נושא נפרד ולבקש עזרה בזה. -
@odeddvir אמר באקסס למתחילים: יצירת מערכת לניהול תורמים:
שיעורי בית
- הוסיפו לפונקציה שיצרנו עוד משתנה מסוג Double בשם amountToUpdate, והכניסו לתוכו את סכום התרומות שעומדות לעדכון. השתמשו בפונקצית הסכום DSum (וכן, היא קרובת משפחה של DCount)
- הדפיסו בחלון ה-immediate גם את ערך המשתנה שיצרתם, מתחת למספר הרשומות לעדכון.
- צרו משתנה שלישי בשם userMessage מסוג מחרוזת String, שיכיל בתוכו את המשפט הבא:
"ברשימת התרומות קיימות לעדכון X תרומות על סך כולל של Y"
כאשר במקום X ו-Y יופיעו הערכים הנכונים (השתמשו במשתנים שיצרתם ובשרשור מחרוזות על ידי האופרטור&
. הדפיסו גם את המשפט בחלון הפלט.
בהצלחה!
שיעורי הבית היו הפעם מאתגרים במיוחד
אבל ב"ה אני חושב שהגעתי לתוצאה:
(מדובר בשתי תרומות אחד של 72 והשני של 30)
מכיוון שעדיין קיימות תרומות ישנות ללא שיוך למשפחה כלל הפונקציהamountToUpdate
לא החזירה תוצאה רלוונטית.
ניסיתי להוסיף עוד קריטריון שיוריד את אלו שלא משוייכים, משהו כגון זה:amountToUpdate = DSum("amount", "donation", "StatusID=1" And "TargetFamilyID=IS NOT NULL")
אבל לא הצלחתי בשום אופן
עד שבסוף פשוט מחקתי את התרומות שהוכנסו בעבר ללא שיוך. -
@odeddvir אמר באקסס למתחילים: יצירת מערכת לניהול תורמים:
שיעורי בית
- הוסיפו לפונקציה שיצרנו עוד משתנה מסוג Double בשם amountToUpdate, והכניסו לתוכו את סכום התרומות שעומדות לעדכון. השתמשו בפונקצית הסכום DSum (וכן, היא קרובת משפחה של DCount)
- הדפיסו בחלון ה-immediate גם את ערך המשתנה שיצרתם, מתחת למספר הרשומות לעדכון.
- צרו משתנה שלישי בשם userMessage מסוג מחרוזת String, שיכיל בתוכו את המשפט הבא:
"ברשימת התרומות קיימות לעדכון X תרומות על סך כולל של Y"
כאשר במקום X ו-Y יופיעו הערכים הנכונים (השתמשו במשתנים שיצרתם ובשרשור מחרוזות על ידי האופרטור&
. הדפיסו גם את המשפט בחלון הפלט.
בהצלחה!
שיעורי הבית היו הפעם מאתגרים במיוחד
אבל ב"ה אני חושב שהגעתי לתוצאה:
(מדובר בשתי תרומות אחד של 72 והשני של 30)
מכיוון שעדיין קיימות תרומות ישנות ללא שיוך למשפחה כלל הפונקציהamountToUpdate
לא החזירה תוצאה רלוונטית.
ניסיתי להוסיף עוד קריטריון שיוריד את אלו שלא משוייכים, משהו כגון זה:amountToUpdate = DSum("amount", "donation", "StatusID=1" And "TargetFamilyID=IS NOT NULL")
אבל לא הצלחתי בשום אופן
עד שבסוף פשוט מחקתי את התרומות שהוכנסו בעבר ללא שיוך.@בערל אמר באקסס למתחילים: תגובות:
שיעורי הבית היו הפעם מאתגרים במיוחד
נכון, כי ב"ה אנחנו מתקדמים, לא?
ניסיתי להוסיף עוד קריטריון שיוריד את אלו שלא משוייכים, משהו כגון זה:
amountToUpdate = DSum("amount", "donation", "StatusID=1" And TargetFamilyID=IS NOT NULL")
אבל לא הצלחתי בשום אופן
קודם כל אתה ממש ממש ממש קרוב!
הבעיה היא בפרמטר של התנאי, הוא אמור להיות מחרוזת, וכאן הוא בעצם שתי מחרוזות עם מילת AND ביניהן. המחשב מפרש זאת כתנאי, ולא כמחרוזת.הפתרון הוא לכלול את ה-AND בתוך המחרוזת:
amountToUpdate = DSum("amount", "donation", "(StatusID=1) AND (TargetFamilyID IS NOT NULL)")