@חייםיודלביץ למרבה הצער, בטופס אקסס אין פונקציה מובנית לסכומים מצטברים.
האלטרנטיבות הן:
אפשרות א: להשתמש בדוח במקום בטופס - בדוחות יש אפשרות להוספת חישוב סכומים מצטברים.
יתרונות:
- הכי קל לביצוע.
- נתונים עקביים: החישוב מבוצע בכל תצוגה מחדש.
חסרונות:
- הדוח לא ניתן לעריכה.
- מאוד לא יעיל מבחינת חישובים, במיוחד בטבלאות עם הרבה רשומות.
אפשרות ב: ליצור שאילתת קיבוץ במקור של הטופס ובה להוסיף שדה (מחושב) של סכום מצטבר - את הנוסחא לשדה הזה בונים על ידי פונקציית סיכום Sum על כל הרשומות בטבלה, מהרשומה הראשונה בעמודה עד הרשומה הנוכחית. יש צורך במיון של השדות לפי סדר קבוע, מומלץ לפי שדה מספור אוטומטי ID, או תאריך (פחות מומלץ)
יתרונות:
- עקיבות: חישוב מדויק של הסכום המצטבר, כי הוא מחושב בזמן אמת.
חסרונות:
- השאילתא לא ניתנת לעריכה (קריאה בלבד).
- מאד לא יעיל מבחינת חישובים, במיוחד בטבלאות עם הרבה רשומות.
אפשרות ג: לחשב את הסכומים המצטברים ולשמור בשדה נוסף - בטבלה הזו, על ידי שאילתא או קוד שרץ אוטומטית בכל פרק זמן.
יתרונות:
- הטופס שמתקבל ניתן לעריכה.
- יעילות בחישוב, כי הוא מבוצע רק במקרה של הוספת או מחיקת רשומה, ולא בכל פתיחה של הטופס.
- ניתן לייעל את החישוב יותר על ידי חישוב רק הרשומות הרלוונטיות, כלומר: במחיקה לחשב רק הרשומות שהושפעו מהמחיקה (מהרשומה שנמחקה והלאה), ובהוספה לחשב רק את השורה החדשה.
חסרונות:
- חוסר עקביות: במקרה של מחיקת (ביטול) רשומה כלשהיא, אם עדיין לא הרצת את החישוב לשדה מחדש, הסכום המצטבר לא מעודכן, ובתצוגה יציג את היתרה לפני המחיקה. כלומר עליך האחריות לשמור את הנתונים עקביים על ידי הרצת החישוב בכל פעם שנדרש.
אני נוהג להשתמש באפשרות השלישית.