طريقة اظهار عدد السجلات على النموذج
DCount Method
تستخدم دالة DCount للحصول علي عدد السجلات فى جدول أو استعلام .
و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.
صيغة الدالة :
Expression.DCount(Expr, Domain, Criteria)
Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات التي تريد عدها ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نموذج ، ثابت ، أو دالة
و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخرى
Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية
Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.
في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.
تستخدم dcount لمعرفة عدد السجلات فى مجال محدد ، عندما لا نكون بحاجة لمعرفة القيم الخاصة بهذه السجلات و لكن ببساطة عددها.
اذا كنت تريد مجرد عد كل السجلات فى تقرير ، استخدم دالة Count و التي تم تصميمها بحيث تحصل علي العدد بصورة سريعة . لذلك فى حالة تعبير فى استعلام استخدم Count بدلا من DCount .
و استخدم DCount اذا كنت تريد العد من داخل الكود أو الماكرو.
يمكن إستخدام DCount اذا كنت تريد الحصول علي عدد السجلات التي تحوي حقل معين ، و هذا الحقل المعين ليس موجودا فى مصدر بيانات النموذج أو التقرير الذي تقوم بالحساب فيه.
الحقول التي تحوي قيم Null لا تدخل فى حساب عدد السجلات ، الا إذا كانت قيمة ال expr تساوي * ، أي أنه فى حالة كون ال expr يساوي * تقوم الدالة بعد جميع السجلات حتي تلك التي تحوي حقول Null .
مثال :
مثال :
DCount Method
تستخدم دالة DCount للحصول علي عدد السجلات فى جدول أو استعلام .
و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.
صيغة الدالة :
Expression.DCount(Expr, Domain, Criteria)
Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات التي تريد عدها ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نموذج ، ثابت ، أو دالة
و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخرى
Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية
Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.
في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.
ملاحظات :
تستخدم dcount لمعرفة عدد السجلات فى مجال محدد ، عندما لا نكون بحاجة لمعرفة القيم الخاصة بهذه السجلات و لكن ببساطة عددها.
اذا كنت تريد مجرد عد كل السجلات فى تقرير ، استخدم دالة Count و التي تم تصميمها بحيث تحصل علي العدد بصورة سريعة . لذلك فى حالة تعبير فى استعلام استخدم Count بدلا من DCount .
و استخدم DCount اذا كنت تريد العد من داخل الكود أو الماكرو.
يمكن إستخدام DCount اذا كنت تريد الحصول علي عدد السجلات التي تحوي حقل معين ، و هذا الحقل المعين ليس موجودا فى مصدر بيانات النموذج أو التقرير الذي تقوم بالحساب فيه.
الحقول التي تحوي قيم Null لا تدخل فى حساب عدد السجلات ، الا إذا كانت قيمة ال expr تساوي * ، أي أنه فى حالة كون ال expr يساوي * تقوم الدالة بعد جميع السجلات حتي تلك التي تحوي حقول Null .
مثال :
intX = DCount("*", "Orders")
اذا كان المجال المحدد جدول به حقل مفتاح ، فيمكنك أن تضع قيمة ال expr تساوي حقل المفتاح ، حيث أنه لن يكون أبدا Null .
اذا كانت expr تحوي أكثر من حقل ، يكون الفاصل بينها اما + و إما & ، اذا كان الفاصل ( & ) فان دالة dcount تقوم بعد السجلات فى أي من الحقول المذكورة ، أما اذا استخدمنا ال ( + ) فان الدالة تقوم بعد السجلات فى كل الحقول المذكورة .
اذا كانت expr تحوي أكثر من حقل ، يكون الفاصل بينها اما + و إما & ، اذا كان الفاصل ( & ) فان دالة dcount تقوم بعد السجلات فى أي من الحقول المذكورة ، أما اذا استخدمنا ال ( + ) فان الدالة تقوم بعد السجلات فى كل الحقول المذكورة .
مثال :
intW = DCount("[shipName]", "Orders")
intX = DCount("[shipRegion]", "Orders")
intY = DCount("[shipName] + [shipRegion]","Orders")
intZ = DCount("[shipName] & [shipRegion]","Orders")
intW = 831
intX =323
intY =323
intZ =831
ملاحظة : ال ampersand أي ال (&) هي أفضل معامل يمكن استخدامه فى الصاق النصوص ، و يجب تجنب استخدام ال (+) الا فى حالة جمع الارقام .
القيم التي لم يتم حفظها بعد فى السجلات لا تدخل فى حسابات الدالة ، و لكن لادخالها لابد من حفظ السجل أولا ، و ذلك باختيار حفظ من أمر File أو بالانتقال الي السجل التالي ، أو باستخدام طريقة ال Update .
مثال :
القيم التي لم يتم حفظها بعد فى السجلات لا تدخل فى حسابات الدالة ، و لكن لادخالها لابد من حفظ السجل أولا ، و ذلك باختيار حفظ من أمر File أو بالانتقال الي السجل التالي ، أو باستخدام طريقة ال Update .
مثال :
= DCount ("[price]", "Orders", "[product] = 'mouse'")
و المثال يعني نقوم بالعد لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse
, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.
و في حالة حقل الشرط رقمي لا توضع
, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.
و في حالة حقل الشرط رقمي لا توضع
= DCount ("[price]", "Orders", "[productID] = 5")
جزى الله خيرا كل من ساهم قيه