הפונקציה DSum

חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

באפשרותך להשתמש בפונקציה DSum כדי לחשב את הסכום של קבוצת ערכים בקבוצת רשומות שצוינה (תחום). השתמש בפונקציה DSum במודול Visual Basic for Applications (VBA), במאקרו, בביטוי שאילתה או בפקד מחושב.

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

תחביר

DSum(expr, domain [, criteria] )

תחביר הפונקציה DSum מכיל את הארגומנטים הבאים:

ארגומנט תיאור
expr נדרש. ביטוי המזהה את השדה המספרי שאת ערכיו ברצונך לסכם. הוא יכול להיות ביטוי מחרוזת המזהה שדה בטבלה או בשאילתה, או ביטוי המבצע חישוב בנתונים בשדה זה. ב- expr, באפשרותך לכלול את שמו של שדה בטבלה, פקד בטופס, קבוע או פונקציה. אם expr כולל פונקציה, הוא יכול להיות מוכלל או מוגדר על-ידי המשתמש, אך לא צבירה המופעלת על תחום אחר או פונקציית צבירה של SQL.
domain נדרש. ביטוי מחרוזת המזהה את קבוצת הרשומות המהווה את התחום. הוא יכול להיות שם טבלה או שם שאילתה עבור שאילתה שאינה דורשת פרמטר.
criteria אופציונלי. ביטוי מחרוזת המשמש כדי להגביל את טווח הנתונים שבו מבוצעת הפונקציה DSum . לדוגמה, criteria מקביל לעתים קרובות למשפט WHERE בביטוי של SQL, ללא המילה WHERE. אם criterias מושמט, הפונקציה DSum מעריכה את expr מול התחום כולו. כל שדה הכלול בקריטריונים חייב להיות גם שדה בתחום; אחרת, הפונקציה DSum מחזירה ערך Null.

    

הערות

אם אף רשומה אינה עומדת בארגומנט criteria , או אם domain אינו מכיל רשומות, הפונקציה DSum מחזירה ערך Null.

בין שאתה משתמש בפונקציה DSum במאקרו, במודול, בביטוי שאילתה או בפקד מחושב, עליך לבנות את הארגומנט criteria בקפידה כדי לוודא שהוא יוערך כראוי.

באפשרותך להשתמש בפונקציה DSum כדי לציין קריטריונים בשורה 'קריטריונים ' של שאילתה, בשדה מחושב בביטוי שאילתה, או בשורה 'עדכן ל ' של שאילתת עדכון.

הערה

באפשרותך להשתמש בפונקציה DSum או בפונקציה Sum בביטוי שדה מחושב בשאילתת סכומים. אם אתה משתמש בפונקציה DSum , הערכים מחושבים לפני קיבוץ הנתונים. אם אתה משתמש בפונקציה Sum , הנתונים מקובצים לפני הערכת הערכים בביטוי השדה.

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

עצה

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

הערה

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

דוגמאות

שימוש בפונקציה DSum בביטוי ניתן להשתמש בפונקציית תחום (כגון DSum) בשורה 'עדכן ל ' של שאילתת עדכון. לדוגמה, נניח שברצונך לעקוב אחר מכירות נוכחיות לפי מוצר בטבלה Products. באפשרותך להוסיף שדה חדש בשם SalesSoFar לטבלה Products ולהפעיל שאילתת עדכון כדי לחשב את הערכים הנכונים ולעדכן את הרשומות. לשם כך, צור שאילתה חדשה המבוססת על הטבלה Products ובכרטיסיה עיצוב , בקבוצה סוג שאילתה , לחץ על עדכן. הוסף את השדה SalesSoFar לרשת השאילתה, והקלד את הטקסט הבא בשורה עדכן ל :

DSum("[Quantity]*[UnitPrice]", "Order Details", _
    "[ProductID] = "& [ProductID])

בעת הפעלת השאילתה, Access מחשב את סכום המכירות הכולל עבור כל מוצר, בהתבסס על מידע מהטבלה Order Details. סכום המכירות עבור כל מוצר מתווסף לטבלה Products.

שימוש ב- DSum בקוד VBA 

הערה

הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications‏ (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.

הדוגמה הבאה מסכמת את הערכים מהשדה Freight עבור הזמנות שנשלחו לבריטניה. התחום הוא טבלת הזמנות. ארגומנט הקריטריונים מגביל את קבוצת הרשומות המתקבלת לאלה שעבורן ShipCountryRegion שווה ל- UK.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

הדוגמה הבאה מחשבת סכום כולל באמצעות שני קריטריונים נפרדים. שים לב שגרש בודד (') וסימני מספר (#) נכללים בביטוי המחרוזת, כך שכאשר המחרוזות מחוברות, ליטרל המחרוזת מוקף בגרשיים בודדים, והתאריך מוקף בסימני סולמית.

Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK' AND _
    [ShippedDate] > #1-1-95#")