אקסס למתחילים: תגובות
-
להתענג!
כל מילה זהב
ועוד חשבתי שזה עוד תוכנה... -
@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")
אבל לא הצלחתי בשום אופן
עד שבסוף פשוט מחקתי את התרומות שהוכנסו בעבר ללא שיוך. -
@בערל אמר באקסס למתחילים: תגובות:
שיעורי הבית היו הפעם מאתגרים במיוחד
נכון, כי ב"ה אנחנו מתקדמים, לא?
ניסיתי להוסיף עוד קריטריון שיוריד את אלו שלא משוייכים, משהו כגון זה:
amountToUpdate = DSum("amount", "donation", "StatusID=1" And TargetFamilyID=IS NOT NULL")
אבל לא הצלחתי בשום אופן
קודם כל אתה ממש ממש ממש קרוב!
הבעיה היא בפרמטר של התנאי, הוא אמור להיות מחרוזת, וכאן הוא בעצם שתי מחרוזות עם מילת AND ביניהן. המחשב מפרש זאת כתנאי, ולא כמחרוזת.הפתרון הוא לכלול את ה-AND בתוך המחרוזת:
amountToUpdate = DSum("amount", "donation", "(StatusID=1) AND (TargetFamilyID IS NOT NULL)")
-
@odeddvir אמר באקסס למתחילים: תגובות:
נכון, כי ב"ה אנחנו מתקדמים, לא?
מה השאלה...?!
מתקדמים מאוד ב"ה!קודם כל אתה ממש ממש ממש קרוב!
הבעיה היא בפרמטר של התנאי, הוא אמור להיות מחרוזת, וכאן הוא בעצם שתי מחרוזות עם מילת AND ביניהן. המחשב מפרש זאת כתנאי, ולא כמחרוזת.הפתרון הוא לכלול את ה-AND בתוך המחרוזת:
amountToUpdate = DSum("amount", "donation", "(StatusID=1) AND (TargetFamilyID=IS NOT NULL)")
ניסיתי הרבה אפשרויות, העליתי רק דוגמה.
אני לא בקי מספיק במשמעות של כל סוגי התוויםתודה על הפירוט
-
-
@איש-פלוני אמר באקסס למתחילים: תגובות:
לא משנה מה אני עושה, יוצא לי רק 0
תוודא שיש לך תרומה עם סטטוס "זמינה" וגם עם משפחה בשדה היעד.
-
@OdedDvir @בערל
שלום וברכה
לא קשור כל כך לנושא הספציפי של הפורום..
אבל מכיון שאני גם באמצע בניה של מסד הנתונים, תרומות... (לתת..)
עכשיו מנסה להפוך אותו לאוטומטי,(עד עכשיו שמנו כל שנה עמודה מחדש, אבל יש גבול לטלאים, וצריך אחד ולתמיד לשפץ את מסד הנתונים שהתחלנו אותו בגיל 17 ) ושמתי לב, שבמידה ומשתמשים בקישור של יותר מ2 טבלאות...
אי אפשר לערוך את הרשומה.מה הפיתרון, חוץ מלעשות SQL כדי לעדכן כל רשומה.... (וגם שם זה יהיה קצת בעיה, כי הפקד נעול...)
(ואל תבקשו ממני לעשות אותו בטופס משנה נפרד, ואופס לקשר את השדות,
כי אני צריך עדכון רציף בתצוגת גיליון נתונים (תחשבו על הבחור שיושב עכשיו ומכניס 2000 תרומות ברצף... , טוב, - גם זה לא חזות הכל, כי יש לנו עוד 2 טבלאות שניקח מהם רשומות, טבלת קבוצות, טבלת תלמידים, וגם שם אנחנו נרצה לדעת מי היה שם שנה שעברה, ולפני שנתיים, ואת מי נשבץ שם השנה...), ולא בטופס משנה שיקח משאילתא אחרת....)מצרף את הSQL שעליו בנויה השאילתא, (לא שיעזור הרבה, כי זה פשוט מבוסס על שאילתא מפקדים - ואת הDlookup עשינו בהתחלה בשביל הדוחות...)
SELECT ktovot.Id, ktovot.family_name, ktovot.frist_name, ktovot.city, ktovot.area, ktovot.st, ktovot.number_blok, ktovot.namber_home, ktovot.phone_1, ktovot.phone_2, ktovot.yes_no, ktovot.Time, ktovot.comment, ktovot.status, ktovot.maagal, ktovot.group_2019, ktovot.group_2020, ktovot.number_go, ktovot.importance, DLookUp("[Donation_amount]","[Donation]","[year_]=" & (Year(Now())-2) & " and [Donor_ID]=" & [id]) AS Two_year_d, Last_year_d.Donation_amount AS [last], Two_year_d.Donation_amount FROM (ktovot LEFT JOIN Last_year_d ON ktovot.Id = Last_year_d.Donor_ID) LEFT JOIN Two_year_d ON ktovot.Id = Two_year_d.Donor_ID WHERE (((ktovot.Id) Like [forms]![כתובות]![מזהה] & "*") AND ((Nz([ktovot.comment],0)) Like [forms]![כתובות]![הערות] & "*") AND ((Nz([ktovot].[family_name],0)) Like [forms]![כתובות]![משפחה] & "*") AND ((Nz([ktovot.frist_name],0)) Like [forms]![כתובות]![פרטי] & "*") AND ((Nz([ktovot.city],0)) Like [forms]![כתובות]![עיר] & "*") AND ((Nz([ktovot.area],0)) Like [forms]![כתובות]![שכונה] & "*") AND ((Nz([ktovot.st],0)) Like [forms]![כתובות]![שם הרחוב] & "*") AND ((Nz([ktovot.maagal],0)) Like [forms]![כתובות]![מעגל] & "*") AND ((Nz([ktovot.number_blok],0)) Like [forms]![כתובות]![בית] & "*") AND ((Nz([ktovot.phone_1],0)) Like [forms]![כתובות]![טלפון] & "*") AND ((Nz([ktovot.phone_2],0)) Like [forms]![כתובות]![טלפון] & "*") AND ((Nz([ktovot.group_2020],0)) Like IIf(IsNull([forms]![כתובות]![קבוצה]),"*",[forms]![כתובות]![קבוצה])));