يمكنك استخدام الدالة DSum لحساب مجموع مجموعة من القيم في مجموعة محددة من السجلات (مجال). استخدم الدالة DSum في وحدة نمطية في Visual Basic for Applications (VBA) أو ماكرو أو تعبير استعلام أو عنصر تحكم محسوب.
على سبيل المثال، يمكنك استخدام الدالة DSum في تعبير حقل محسوب في استعلام لحساب إجمالي المبيعات التي حققها موظف معين خلال فترة زمنية. أو، يمكنك استخدام الدالة DSum في عنصر تحكم محسوب لعرض مجموع حالي من المبيعات لمنتج معين.
بناء الجملة
DSum(expr, domain [, criteria] )
يحتوي بناء جملة الدالة DSum على الوسيطات التالية:
| الوسيطة | الوصف |
|---|---|
| expr | مطلوبة. تعبير يحدد الحقل الرقمي الذي تريد حساب قيمه الإجمالية. يمكن أن تكون تعبير سلسلة تعرف حقلا في جدول أو استعلام، أو يمكن أن تكون تعبيرا يقوم بإجراء عملية حسابية على البيانات الموجودة في هذا الحقل. في expr، يمكنك تضمين اسم حقل في جدول أو عنصر تحكم في نموذج أو ثابت أو دالة. إذا تضمن expr دالة، يمكن أن تكون إما مضمنة أو معرفة من قبل المستخدم، ولكن ليس مجال مجمع آخر أو دالة SQL تجميعية. |
| مجال | مطلوبة. تعبير سلسلة يعرف مجموعة السجلات التي تشكل المجال. ويمكن أن يكون اسم جدول أو اسم استعلام لاستعلام لا يتطلب معلمة. |
| معايير | اختيارية. تعبير سلسلة يستخدم لتقييد نطاق البيانات الذي يتم تنفيذ الدالة DSum عليه. على سبيل المثال، غالبا ما تكون المعايير مكافئة لجملة WHERE في تعبير SQL، بدون كلمة WHERE. إذا تم حذف المعايير ، تقوم الدالة DSum بتقييم expr مقابل المجال بأكمله. يجب أن يكون أي حقل مضمن في المعايير أيضا حقلا في المجال؛ وإلا، ترجع الدالة DSum قيمة خالية. |
ملاحظات
في حالة عدم وجود سجل يفي بالوسيطة المعايير أو في حالة عدم احتواء المجال على أي سجلات، ترجع الدالة DSum قيمة خالية.
سواء كنت تستخدم الدالة DSum في ماكرو أو وحدة نمطية أو تعبير استعلام أو عنصر تحكم محسوب، يجب إنشاء وسيطة المعايير بعناية لضمان تقييمها بشكل صحيح.
يمكنك استخدام الدالة DSum لتحديد معايير في صف المعايير الخاص باستعلام أو في حقل محسوب في تعبير استعلام أو في الصف "تحديث إلى " لاستعلام تحديث.
ملاحظة
يمكنك استخدام الدالة DSum أو Sum في تعبير حقل محسوب في استعلام الإجماليات. إذا كنت تستخدم الدالة DSum ، فسيتم حساب القيم قبل تجميع البيانات. إذا كنت تستخدم الدالة Sum ، فسيتم تجميع البيانات قبل تقييم القيم الموجودة في تعبير الحقل.
قد ترغب في استخدام الدالة DSum عندما تحتاج إلى عرض مجموع مجموعة من القيم من حقل غير موجود في مصدر السجلات للنموذج أو التقرير. على سبيل المثال، لنفترض أن لديك نموذجا يعرض معلومات حول منتج معين. يمكنك استخدام الدالة DSum للاحتفاظ بالإجمالي الحالي لمبيعات ذلك المنتج في عنصر تحكم محسوب.
تلميح
إذا كنت بحاجة إلى الاحتفاظ بإجمالي حالي في عنصر تحكم في تقرير، يمكنك استخدام خاصية RunningSum لعنصر التحكم هذا، إذا كان الحقل الذي يستند إليه في مصدر السجلات للتقرير. استخدام الدالة DSum للاحتفاظ بمجموع تراكمي في نموذج.
ملاحظة
لا يتم تضمين التغييرات غير المحفوظة التي تم إدخالها على السجلات في المجال عند استخدام هذه الدالة. إذا كنت تريد أن تستند الدالة DSum إلى القيم التي تم تغييرها، فيجب أولا حفظ التغييرات إما بالنقر فوق "حفظ سجل" في المجموعة "سجلات" ضمن علامة التبويب "الصفحة الرئيسية"، أو نقل التركيز إلى سجل آخر، أو استخدام طريقة "التحديث".
أمثلة
استخدام الدالة DSum في تعبير يمكنك استخدام دالة مجال (مثل DSum) في الصف "تحديث إلى " في استعلام التحديث. على سبيل المثال، افترض أنك تريد تعقب المبيعات الحالية حسب المنتج في جدول "المنتجات". يمكنك إضافة حقل جديد يسمى SalesSofar إلى جدول المنتجات وتشغيل استعلام تحديث لحساب القيم الصحيحة وتحديث السجلات. للقيام بذلك، أنشئ استعلاما جديدا استنادا إلى جدول "المنتجات"، وفي علامة التبويب " تصميم "، في المجموعة "نوع الاستعلام "، انقر فوق "تحديث". أضف الحقل SalesSofar إلى شبكة الاستعلام، واكتب ما يلي في الصف "تحديث إلى ":
DSum("[Quantity]*[UnitPrice]", "Order Details", _
"[ProductID] = "& [ProductID])
عند تشغيل الاستعلام، يقوم Access بحساب إجمالي مقدار المبيعات لكل منتج، استنادا إلى معلومات من جدول "تفاصيل الطلب". يضاف مجموع المبيعات لكل منتج إلى جدول "المنتجات".
استخدام DSum في التعليمات البرمجية ل VBA
ملاحظة
توضح الأمثلة التالية استخدام هذه الدالة في وحدة نمطية ل Visual Basic for Applications (VBA). لمزيد من المعلومات حول استخدام VBA، حدد "مرجع المطور" في القائمة المنسدلة بجوار "بحث" وأدخل مصطلح أو أكثر في مربع البحث.
يوضح المثال التالي إجمالي القيم من حقل الشحن للطلبات التي تم شحنها إلى المملكة المتحدة. المجال عبارة عن جدول طلبات. تقيد وسيطة المعايير مجموعة السجلات الناتجة بتلك التي تساوي فيها ShipCountryRegion المملكة المتحدة.
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#")