באפשרותך להשתמש בפונקציה DCount כדי לקבוע את מספר הרשומות הנמצאות בקבוצת רשומות שצוינה (תחום). השתמש בפונקציה DCount במודול Visual Basic for Applications (VBA), במאקרו, בביטוי שאילתה או בפקד מחושב.
לדוגמה, ניתן להשתמש בפונקציה DCount במודול כדי להחזיר את מספר הרשומות בטבלת הזמנות התואמות להזמנות שבוצעו בתאריך מסוים.
תחביר
DCount(expr, domain* [, criteria] )
תחביר הפונקציה DCount מכיל את הארגומנטים הבאים:
| ארגומנט | תיאור |
|---|---|
| expr | נדרש. ביטוי המזהה את השדה שעבורו ברצונך לספור רשומות. הוא יכול להיות ביטוי מחרוזת המזהה שדה בטבלה או בשאילתה, או ביטוי המבצע חישוב בנתונים בשדה זה. ב - expr, באפשרותך לכלול שם של שדה בטבלה, פקד בטופס, קבוע או פונקציה. אם expr כולל פונקציה, הוא יכול להיות מוכלל או מוגדר על-ידי המשתמש, אך לא צבירה המופעלת על תחום אחר או פונקציית צבירה של SQL. |
| domain | נדרש. ביטוי מחרוזת המזהה את קבוצת הרשומות המהווה את התחום. הוא יכול להיות שם טבלה או שם שאילתה עבור שאילתה שאינה דורשת פרמטר. |
| criteria | אופציונלי. ביטוי מחרוזת המשמש כדי להגביל את טווח הנתונים שבו מבוצעת הפונקציה DCount . לדוגמה, criteria מקביל לעתים קרובות למשפט WHERE בביטוי של SQL, ללא המילה WHERE. אם criteria מושמט, הפונקציה DCount מעריכה את expr מול התחום כולו. כל שדה הכלול בקריטריונים חייב להיות גם שדה בתחום; אחרת, הפונקציה DCount מחזירה ערך Null. |
הערות
השתמש בפונקציה DCount כדי לספור את הרשומות בתחום כאשר אינך צריך לדעת את הערכים הספציפיים שלהן. למרות שהארגומנט expr יכול לבצע חישוב בשדה, הפונקציה DCount פשוט מחשבת את מספר הרשומות. הערך של כל חישוב שבוצע על-ידי expr אינו זמין.
השתמש בפונקציה DCount בפקד מחושב כאשר עליך לציין קריטריונים כדי להגביל את טווח הנתונים שבו מבוצעת הפונקציה. לדוגמה, כדי להציג את מספר ההזמנות שיישלחו לקליפורניה, הגדר את המאפיין ControlSource של תיבת טקסט כביטוי הבא:
=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")
אם ברצונך פשוט לספור את כל הרשומות בתחום מבלי לציין הגבלות כלשהן, השתמש בפונקציה Count .
עצה הפונקציה Count ממוטבת כדי להאיץ את ספירת הרשומות בשאילתות. השתמש בפונקציה Count בביטוי שאילתה במקום בפונקציה DCount והגדר קריטריונים אופציונליים כדי לאכוף הגבלות כלשהן על התוצאות. השתמש בפונקציה DCount כאשר עליך לספור רשומות בתחום מתוך מודול קוד או מאקרו, או בפקד מחושב.
באפשרותך להשתמש בפונקציה DCount כדי לספור את מספר הרשומות המכילות שדה מסוים שאינו נמצא במקור הרשומות שעליו מבוססים הטופס או הדוח שלך. לדוגמה, באפשרותך להציג את מספר ההזמנות בטבלה Orders בפקד מחושב בטופס המבוסס על הטבלה Products.
הפונקציה DCount אינה סופרת רשומות המכילות ערכי Null בשדה שאליו מפנה expr , אלא אם expr הוא התו הכללי כוכבית (*). אם אתה משתמש בכוכבית, הפונקציה DCount מחשבת את המספר הכולל של רשומות, כולל רשומות המכילות שדות Null . הדוגמה הבאה מחשבת את מספר הרשומות בטבלה 'הזמנות'.
intX = DCount("*", "Orders")
אם domain הוא טבלה עם מפתח ראשי, באפשרותך גם לספור את המספר הכולל של הרשומות על-ידי הגדרת expr בשדה המפתח הראשי, מכיוון שלעולם לא יהיה Null בשדה המפתח הראשי.
אם expr מזהה שדות מרובים, הפרד את שמות השדות באמצעות אופרטור שרשור, אמפרסנד (&) או אופרטור חיבור (+). אם אתה משתמש באמפרסנד כדי להפריד בין השדות, הפונקציה DCount מחזירה את מספר הרשומות המכילות נתונים בכל אחד מהשדות המפורטים. אם אתה משתמש באופרטור החיבור, הפונקציה DCount מחזירה רק את מספר הרשומות המכילות נתונים בכל השדות המפורטים. הדוגמה הבאה מדגימה את ההשפעות של כל אופרטור בעת שימוש בשדה המכיל נתונים בכל הרשומות (ShipName) ושדה שאינו מכיל נתונים (ShipRegion).
intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")
הערה
האמפרסנד הוא האופרטור המועדף לביצוע שרשור מחרוזות. עליך להימנע משימוש באופרטור ההוספה לכל פעולה שאינה חיבור מספרי, אלא אם ברצונך להפיץ ערכי Null באמצעות ביטוי.
שינויים שלא נשמרו ברשומות בתחום אינם נכללים בעת השימוש בפונקציה זו. אם אתה מעוניין שהפונקציה DCount תהיה מבוססת על הערכים שהשתנו, תחילה עליך לשמור את השינויים על-ידי לחיצה על שמור רשומה תחת רשומות בכרטיסיה נתונים , העברת המוקד לרשומה אחרת, או באמצעות שיטת העדכון .
דוגמאות לשאילתות
| ביטוי | תוצאות |
|---|---|
| SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0"); | הפונקציה מחזירה את ספירת הערכים בשדה "ProductID" של הטבלה "ProductSales" כאשר הערך "Discount" הוא "0". |
| SELECT DCount("ProductID","ProductSales","DateofSale=Date()-1") AS YesterdaySale FROM ProductSales GROUP BY DCount("ProductID","ProductSales","DateofSale=Date()-1"); | פונקציה זו מחזירה את ספירת הערכים בשדה "ProductID" של הטבלה "ProductSales", כאשר "DateofSale" הוא יום לפני התאריך הנוכחי. |
דוגמה ל- VBA
הערה
הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.
הפונקציה הבאה מחזירה את מספר ההזמנות שנשלחו למדינה/אזור שצוינו לאחר תאריך משלוח שצוין. התחום הוא טבלת הזמנות.
Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function
כדי לקרוא לפונקציה, השתמש בשורת הקוד הבאה בחלון Tמיידי:
:OrdersCount "UK", #1/1/96#