Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

يمكنك استخدام الدالة DCount لتحديد عدد السجلات الموجودة في مجموعة محددة من السجلات ( مجال ). استخدم الدالة DCount في وحدة Visual Basic for Applications (VBA) أو الماكرو أو تعبير استعلام أو عنصر تحكم محسوب.

على سبيل المثال، يمكنك استخدام الدالة DCount في وحدة نمطية لإرجاع عدد السجلات في جدول الطلبات التي تتوافق مع الطلبات الموضوعة في تاريخ معين.

بناء الجملة

DCount ( expr , domain [, criteria] )

يحتوي بناء جملة الدالة DCount على هذه الوسيطات:

الوسيطة

الوصف

expr

مطلوبة. تعبير يحدد الحقل الذي تريد حساب السجلات له. يمكن أن يكون تعبير السلسلة تحديد حقل في جدول أو استعلام، أو يمكن أن يكون تعبيرا يقوم بإجراء عملية حسابية على البيانات الموجودة في هذا الحقل. في expr، يمكنك تضمين اسم حقل في جدول أو عنصر تحكم في نموذج أو ثابت أو دالة. إذا كان expr يتضمن دالة، يمكن أن تكون إما مضمنة أو معرفة من قبل المستخدم، ولكن ليس تجميع مجال آخر أو دالة تجميع SQL.

مجال

مطلوبة. تعبير سلسلة يحدد مجموعة السجلات التي تشكل المجال. يمكن أن يكون اسم جدول أو اسم استعلام لاستعلام لا يتطلب معلمة.

معايير

اختيارية. تعبير سلسلة يستخدم لتقييد نطاق البيانات التي يتم تنفيذ الدالة DCount عليها. على سبيل المثال، غالبا ما تكون المعايير مكافئة لعبارة WHERE في تعبير SQL، دون كلمة WHERE. إذا تم حذف المعايير ، تقيم الدالة DCountexpr مقابل المجال بأكمله. يجب أن يكون أي حقل مضمن في المعايير أيضا حقلا في المجال؛ وإلا فإن الدالة DCount ترجع Null .

ملاحظات

استخدم الدالة DCount لحساب عدد السجلات في مجال عندما لا تحتاج إلى معرفة قيمها الخاصة. على الرغم من أن وسيطة expr يمكنها إجراء عملية حسابية على حقل، فإن الدالة DCount تقوم ببساطة بإحساب عدد السجلات. قيمة أي عملية حسابية يتم إجراؤها بواسطة expr غير متوفرة.

استخدم الدالة DCount في عنصر تحكم محسوب عندما تحتاج إلى تحديد معايير لتقييد نطاق البيانات التي يتم تنفيذ الدالة عليها. على سبيل المثال، لعرض عدد الطلبات التي سيتم شحنها إلى كاليفورنيا، قم بتعيين الخاصية ControlSource لمربع نص إلى التعبير التالي:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

إذا كنت تريد ببساطة حساب جميع السجلات في المجال دون تحديد أي قيود، فاستخدم الدالة Count .

تلميح تم تحسين دالة Count لتسريع حساب السجلات في الاستعلامات. استخدم الدالة Count في تعبير استعلام بدلا من الدالة DCount، وقم بتعيين معايير اختيارية لفرض أي قيود على النتائج. استخدم الدالة DCount عندما يجب حساب السجلات في مجال من داخل وحدة نمطية للتعليمات البرمجية أو ماكرو، أو في عنصر تحكم محسوب.

يمكنك استخدام الدالة DCount لحساب عدد السجلات التي تحتوي على حقل معين غير موجود في مصدر السجلات الذي يستند إليه النموذج أو التقرير. على سبيل المثال، يمكنك عرض عدد الطلبات في جدول الطلبات في عنصر تحكم محسوب في نموذج يستند إلى جدول المنتجات.

لا تحسب الدالة DCount السجلات التي تحتوي على قيم Null في الحقل المشار إليه بواسطة expr ما لم يكن expr هو حرف البدل العلامة النجمية (*). إذا كنت تستخدم علامة نجمية، تحسب الدالة DCount العدد الإجمالي للسجلات، بما في ذلك تلك التي تحتوي على حقول Null . يحسب المثال التالي عدد السجلات في جدول الطلبات.

intX = DCount("*", "Orders")

إذا كان المجال عبارة عن جدول يحتوي على مفتاح أساسي ، يمكنك أيضا حساب العدد الإجمالي للسجلات عن طريق تعيين expr إلى حقل المفتاح الأساسي، حيث لن يكون هناك قيمة خالية أبدا في حقل المفتاح الأساسي.

إذا كان expr يعرف حقولا متعددة، فافصل أسماء الحقول بعامل تسلسل، إما علامة العطف (&) أو عامل التشغيل الإضافة (+). إذا كنت تستخدم علامة العطف لفصل الحقول، ترجع الدالة DCount عدد السجلات التي تحتوي على بيانات في أي من الحقول المدرجة. إذا كنت تستخدم عامل تشغيل الإضافة، فإن الدالة DCount ترجع فقط عدد السجلات التي تحتوي على بيانات في جميع الحقول المدرجة. يوضح المثال التالي تأثيرات كل عامل تشغيل عند استخدامه مع حقل يحتوي على بيانات في جميع السجلات (ShipName) وحقل لا يحتوي على أي بيانات (ShipRegion).

intW = DCount("[ShipName]", "Orders")intX = DCount("[ShipRegion]", "Orders")intY = DCount("[ShipName] + [ShipRegion]", "Orders")intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

ملاحظة:  علامة العطف هي عامل التشغيل المفضل لتنفيذ تسلسل السلسلة. يجب تجنب استخدام عامل تشغيل الإضافة لأي شيء آخر غير الإضافة الرقمية، إلا إذا كنت ترغب على وجه التحديد في نشر Nulls من خلال تعبير.

لا يتم تضمين التغييرات غير المحفوعة على السجلات في المجال عند استخدام هذه الدالة. إذا كنت تريد أن تستند الدالة DCount إلى القيم التي تم تغييرها، فيجب أولا حفظ التغييرات بالنقر فوق حفظ السجل ضمن السجلات ضمن علامة التبويب بيانات ، أو نقل التركيز إلى سجل آخر، أو باستخدام الأسلوب تحديثe .

أمثلة الاستعلام

تعبير

النتائج

SELECT DCount("ProductID","ProductSales","Discount=0") AS Expr1 FROM ProductSales GROUP BY DCount("ProductID","ProductSales","Discount=0");

إرجاع عدد القيم في الحقل "ProductID" للجدول "ProductSales" حيث قيمة "الخصم" هي "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

لاستدعاء الدالة، استخدم السطر التالي من التعليمات البرمجية في النافذة الفورية:

:OrdersCount "UK", #1/1/96#

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.