محمد طاهر

شرح دوال أكسس - دوال تجميع المجال

8 ردود في هذا الموضوع

هذا هو الشرح ، و لم يتم اعداد الامثلة بعد

( مسودة تحت المراجعة لحين نشر المثال )

مواضيع سابقة

شرح دوال أكسس ـ دوال التاريخ والوقت

http://www.arabteam2000.com/vb/showthread....&threadid=21692

شرح دوال أكسس ـ دوال تدفق البرنامج

http://www.arabteam2000.com/vb/showthread....&threadid=18236

DAvg Method

تستخدم دالة DAvg لحساب المتوسط لمجموعة من القيم الموجودة فى مجموعة محددة من السجلات ( مجال )

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة

صيغة الدالة :

DAvg(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات الرقمية المطلوب الحصول علي متوسط لها ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات :

الحقول التي تحوي قيم Null لا تدخل فى حساب المتوسط

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DAvg or Avg كقيمة محسوبة فى استعلام تجميع Totals Query ، الفرق أنه فى حالة DAvg يتم حساب المتوسط قبل التجميع ، و فى حالة Avg يتم التجميع قبل حساب المتوسط

من ميزات استخدام ال Davg هو حساب القيمة محسوبة فى عنصر تحكم موجود فى نموذج بناء علي بيانات مختلفة عن مصدر بيانات النموذج .

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

نوع البيانات المعادة من الدالة كمتوسط لقيم الحقول الرقمية ، تكون من نوع double . فاذا كان هناك حاجة لتحويلها الي نوع رقمي آخر فيرجي مراعاة ذلك

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

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

مثال :

=DAvg("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نحسب المتوسط لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

=DAvg("[price]", "Orders", "[productID] = 5")

DFirst Method

تستخدم دالة DFirst للحصول علي قيمة حقل محدد فى أول سجل فى جدول أو استعلام..

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير. و يكون نوع البيانات للقيمة الناتجة منها Variant

صيغة الدالة :

DFirst(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات الرقمية المطلوب الحصول علي اول قيمة لها، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات :

اذا أردت الحصول علي أول سجل فى مجموعة سجلات ( مجال محدد ) ، يجب أن تنشيئ استعلام و يكون ترتيبه تنازليا اعتمادا علي هذا الحقل ، و تقوم باسناد قيمة الخاصية TopValues = 1 .

مثال :

= DFirst ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد الحصول علي أول قيمة عشوائية لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DFirst ("[price]", "Orders", "[productID] = 5")

للحصول علي قيمة عشوائية للتاكد من تجانس البيانات ، في نافذة ال immediate فى محرر الفيجوال بيزيك (للحصول عليها اضغط CTR+G ) نكتب المثال الاتي

? DFirst("[Orders]![OrderDate]", "[Orders]")

--------------------------------------------------------------------------------------------

DLast Method

تستخدم دالة DLast للحصول علي قيمة حقل محدد فى آخر سجل فى جدول أو استعلام..

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير. و يكون نوع البيانات للقيمة الناتجة منها Variant

صيغة الدالة :

DLast(Expr, Domain, Criteria)

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

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات :

اذا أردت الحصول علي أول سجل فى مجموعة سجلات ( مجال محدد ) ، يجب أن تنشيئ استعلام و يكون ترتيبه تصاعديا اعتمادا علي هذا الحقل ، و تقوم باسناد قيمة الخاصية TopValues = 1 .

مثال :

= DLast ("[Orders]![price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد الحصول علي آخر قيمة عشوائية لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DLast ("[Orders]![price]", "Orders", "[productID] = 5")

للحصول علي قيمة عشوائية للتاكد من تجانس البيانات ، في نافذة ال immediate فى محرر الفيجوال بيزيك (للحصول عليها اضغط CTR+G ) نكتب المثال الاتي

? DLast("[Orders]![OrderDate]", "[Orders]")

------------------------------------------------------

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 تقوم بعد السجلات فى أي من الحقول المذكورة ، أما اذا استخدمنا ال ( + ) فان الدالة تقوم بعد السجلات فى كل الحقول المذكورة .

مثال :

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 أي ال (&) هي أفضل معامل يمكن استخدامه فى الصاق النصوص ، و يجب تجنب استخدام ال (+) الا فى حالة جمع الارقام ، الا اذا كنت تريد نشر قيم ال null داخل التعبير

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

مثال :

= DCount ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني نقوم بالعد لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DCount ("[price]", "Orders", "[productID] = 5")

----------------------------------------------------------------------------------------

DLookup Method

تستخدم دالة DLookup للحصول علي قيمة حقل محدد من مجموعة سجلات (مجال) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير. و يكون نوع البيانات للقيمة الناتجة منها Variant

صيغة الدالة :

DLookup(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات التي تريد اعادتها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

تعيد الدالة DLookup قيمة وحيدة بناء علي المعايير التي تحددها فى جزء ال criteria فى الدالة ، و هذا الجزء كما ذكرنا خياري ، فاذا لم نحدد المعيار فان الدالة تعيد قيمة عشوائية من ضمن المجال.

اذا لم يوجد سجل يوفي الشروط المحددة فى المعيار ، فان الدالة DLookup تعيد قيمة Null .

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

Dim varX As Variant

varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكنك استخدام DLookup لاظهار قيمة حقل ليس من ضمن البيانات فى مصدر بيانات النموذج أو التقرير

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

=DLookup("[ProductName]", "Products", "[ProductID] =" _

    & Forms![Order Details]!ProductID)

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

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

DMax Method

تستخدم دالة DMax للحصول علي القيم القصوي فى مجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير. و يكون نوع البيانات للقيمة الناتجة منها Variant

صيغة الدالة :

DMax(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات التي تريد اعادة اقيمة القصوي لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

الدالة DMax تعيد أقصي قيمة تحقق المعيار المحدد ، و هذا فى حالة الحقل الرقمي ، أما فى حالة الحقل النصي فانها تعيد أو ل أو آخر قيمة بحسب الترتيب الابجدي.

الدالة DMax تتجاهل قيم ال Null فى حقل البحث ، و أيضا اذا لم تجد حقل يحقق المعيار المحدد فانها تعيد القيمة Null.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DMax او Max فى حقل محسوب فى استعلام تجميع ، فى حالة DMax يتم اختبار القيم قبل تجميعها و فى حالة Max يتم التجميع ثم اختبار القيم.

اذا كنت تريد ببساطة حساب أقصي قيمة فى مجال محدد فاستخدم الدالة Max .

يمكنك استخدام DMax لاظهار أقصي قيمة حقل ليس من ضمن البيانات فى مصدر بيانات النموذج أو التقرير.

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

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

يمكنك استخدام DMax فى مربع نص حينما تريد تحديد معيار لتقليص المجال الذي تنفذ عليه الدالة

مثال :

= DMax  ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DMax  ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

DMin Method

تستخدم دالة DMin للحصول علي القيم الدنيا فى مجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير. و يكون نوع البيانات للقيمة الناتجة منها Variant

صيغة الدالة :

DMin(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الذي يحوي البيانات التي تريد اعادة اقيمة الدنيا لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

الدالة DMin تعيد أقل قيمة تحقق المعيار المحدد ، و هذا فى حالة الحقل الرقمي ، أما فى حالة الحقل النصي فانها تعيد أو ل أو آخر قيمة بحسب الترتيب الابجدي.

الدالة DMin تتجاهل قيم ال Null فى حقل البحث ، و أيضا اذا لم تجد حقل يحقق المعيار المحدد فانها تعيد القيمة Null.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DMin او Min فى حقل محسوب فى استعلام تجميع ، فى حالة DMin يتم اختبار القيم قبل تجميعها و فى حالة Min يتم التجميع ثم اختبار القيم.

اذا كنت تريد ببساطة حساب أقصي قيمة فى مجال محدد فاستخدم الدالة Min .

يمكنك استخدام DMin لاظهار أقل قيمة حقل ليس من ضمن البيانات فى مصدر بيانات النموذج أو التقرير.

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

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

يمكنك استخدام DMin فى مربع نص حينما تريد تحديد معيار لتقليص المجال الذي تنفذ عليه الدالة

مثال :

= DMin  ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DMin  ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = DMin("[Freight]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

DStDev Method

تستخدم دالة DStDev للحصول علي الانحراف المعياري لمجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.

صيغة الدالة :

DStDev(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الرقمي الذي يحوي البيانات التي تريد حساب الانحراف المعياري لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

تستخدم هذه الدالة لحساب الانحراف المعياري لعينة من السكان

اذا كان المجال المحدد يحوي أقل من عدد 2 سجل ، فان هذه الدالة تكون قيمتها Null مما يدل علي أن الانحراف المعياري لم يمكن حسابه.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DStDev او StDev فى حقل محسوب فى استعلام تجميع ، فى حالة DStDev يتم الحساب قبل التجميع و فى حالة StDev يتم التجميع ثم الحساب .

اذا كنت تريد ببساطة حساب أقصي قيمة فى مجال محدد فاستخدم الدالة StDev.

القيمة المعادة من هذه الدالة تكون من نوع Double . و يجب مراعاة ذلك عند ادخالها فى عمليات حسابية.

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

يمكنك استخدام DStDev فى مربع نص حينما تريد تحديد معيار لتقليص المجال الذي تنفذ عليه الدالة

مثال :

= DStDev ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DStDev ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = DStDev ("[price]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

DStDevP Method

تستخدم دالة DStDevP للحصول علي الانحراف المعياري لمجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.

صيغة الدالة :

DStDevP(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الرقمي الذي يحوي البيانات التي تريد حساب الانحراف المعياري لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

تستخدم هذه الدالة لحساب الانحراف المعياري للسكان ( و ليس لعينة من السكان )

اذا كان المجال المحدد يحوي أقل من عدد 2 سجل ، فان هذه الدالة تكون قيمتها Null مما يدل علي أن الانحراف المعياري لم يمكن حسابه.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DStDevP او StDevP فى حقل محسوب فى استعلام تجميع ، فى حالة DStDevP يتم الحساب قبل التجميع و فى حالة StDevP يتم التجميع ثم الحساب .

اذا كنت تريد ببساطة حساب أقصي قيمة فى مجال محدد فاستخدم الدالة StDevP.

القيمة المعادة من هذه الدالة تكون من نوع Double . و يجب مراعاة ذلك عند ادخالها فى عمليات حسابية.

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

يمكنك استخدام DStDevP فى مربع نص حينما تريد تحديد معيار لتقليص المجال الذي تنفذ عليه الدالة

مثال :

= StDevP ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= StDevP ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = StDevP ("[price]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

DSum Method

تستخدم دالة DSum للحصول علي المجموع لمجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.

صيغة الدالة :

DSum(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الرقمي الذي يحوي البيانات التي تريد حساب الإجمالي لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

و لكن فى حالة احتوائه علي دالة فيمكن أن تكون دالة من تصميم المستخدم أو دالة جاهزة فى أكسس ،ـ و لكن لا يمكن أن تكون دالة من دوال المجال التجميعية الأخري

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

يمكنك استخدام هذه الدالة فى فى تعبير محسوب فى استعلام لحساب اجمالي المبيعات التي قام بها مندوب معين ، أو فى عنصر تحكم للحصول علي القيمة التراكمية للمبيعات لمنتج معين ( هذا فى النموذج ، أما فى التقرير فيمكن استخدام خاصية running sum لمربع النص للحصول علي القيمة التراكمية بدون Dsum ) .

اذا لم توجد سجلات تحقق المعيار المحدد أو كان المجال لا يحوي سجلات ، فان قيمة الدالة تكون Null.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DSum او Sum فى حقل محسوب فى استعلام تجميع ، فى حالة DSum يتم الحساب قبل التجميع و فى حالة Sum يتم التجميع ثم الحساب .

يمكنك استخدام DSum لاظهار أقل قيمة حقل ليس من ضمن البيانات فى مصدر بيانات النموذج أو التقرير.

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

مثال :

= DMin  ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DMin  ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = DMin("[Freight]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

DVar Method

تستخدم دالة DVar للحصول علي تقديرات التنوع لمجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.

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

صيغة الدالة :

DVar(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الرقمي الذي يحوي البيانات التي تريد حساب التنوع لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

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

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

اذا كان المجال المحدد يحوي أقل من عدد 2 سجل ، فان هذه الدالة تكون قيمتها Null مما يدل علي أن الانحراف المعياري لم يمكن حسابه.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DVar او Var فى حقل محسوب فى استعلام تجميع ، فى حالة DVar يتم الحساب قبل التجميع و فى حالة Var يتم التجميع ثم الحساب .

اذا كنت تريد ببساطة حساب أقصي قيمة فى مجال محدد فاستخدم الدالة Var.

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

يمكنك استخدام DVar فى مربع نص حينما تريد تحديد معيار لتقليص المجال الذي تنفذ عليه الدالة

مثال :

= DVar   ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DVar   ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = DVar   ("[price]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

DVarP Method

تستخدم دالة DStDev للحصول علي الانحراف المعياري لمجموعة سجلات ( مجال ) .

و يمكن استخدام هذه الدالة فى كود الفيجوال بيزيك أو فى ماكرو أو فى استعلام أو فى عنصر تحكم به قيمة محسوبة فى نموذج أو تقرير.

تستخدم هذه الدالة فى تحليل التنوع لمجموع السكان ( و ليس عينة من السكان )

صيغة الدالة :

DVarP(Expr, Domain, Criteria)

Expr : قيمة نصية تعرف الحقل الرقمي الذي يحوي البيانات التي تريد حساب التنوع لها بواسطة هذه الدالة ، و هي يمكن أن تكون نص يعبر عن إسم حقل فى جدول أو استعلام ، أو معادلة حسابية علي هذا الحقل ، و فى هذا التعبير يمكن ادراج اسم حقل ، عنصر تحكم فى نمموذج ، ثابت ، أو دالة

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

Domain : قيمة نصية تعرف مجموعة السجلات التي تمثل المجال ، و يمكن أن تكون جدول أو استعلام

و كل من Expr و Domain قيم اجبارية لابد من ادراجها فى الدالة ، أما القيمة التالية Criteria فهي خيارية

Criteria : قيمة خيارية ( قد توضع و قد لا توضع ) ، و هي معيار يوضع لتحديد مجال تطبيق الدالة ، و يمكن اعتبارها كشرط مناظر ل WHERE في عبارة SQL ، و في حالة عدم ادراجها يتم تطبيق الدالة علي المجال بأكمله.

في حالة ادراج حقل فى هذا المعيار و هذا الحقل غير مدرج فى المجال ، تكون القيمة المعادة من الدالة null ، لذا أي حقل موجود فى المعيار Criteria يجب أن يكون أيضا مدرجا فى المجال.

ملاحظات

اذا كان المجال المحدد يحوي أقل من عدد 2 سجل ، فان هذه الدالة تكون قيمتها Null مما يدل علي أن الانحراف المعياري لم يمكن حسابه.

يمكن استخدام هذه الدالة كمعيار فى الاستعلام العادي أو كقيمة محسوبة فى استعلام تحديث

يمكن استخدام DVarP او VarP فى حقل محسوب فى استعلام تجميع ، فى حالة DVarP يتم الحساب قبل التجميع و فى حالة VarP يتم التجميع ثم الحساب .

اذا كنت تريد ببساطة حساب أقصي قيمة فى مجال محدد فاستخدم الدالة VarP .

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

يمكنك استخدام DVarP فى مربع نص حينما تريد تحديد معيار لتقليص المجال الذي تنفذ عليه الدالة

مثال :

= DVarP ("[price]", "Orders", "[product] = 'mouse'")

و المثال يعني أننا نريد إظهار أقصي قيمة لحقل السعر في جدول الطلبيات بشرط أن المنتج = mouse

, يلاحظ أن القيمة النصية فى الشرط توضع بين ‘ ‘.

و في حالة حقل الشرط رقمي لا توضع

= DVarP ("[price]", "Orders", "[productID] = 5")

مثال آخر :

فى حالة كون الشرط حقل تاريخ موجود علي عنصر تحكم فى نموذج ( مربع نص ) :

Dim curX As Currency

curX = DVarP ("[price]", "Orders", "[OrderDate] = #" _

   & Forms!Orders!OrderDate & "#")

و هنا نلاحظ أن عنصر التحكم المسمي OrderDate الموجود علي نموذج orders لم يتم احاطته ب "" ، و ذلك لأن القيمة به متغيرة و تتغير مع تغير السجلات ، و لو أحيطت ب "" لعوملت علي أنها قيمة نصية ثابتة .

أيضا نلاحظ أن القيمة المعادة من عنصر التحكم نحيطها ب # و ذلك لأنها من نوع تاريخ.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

قد وعدت ووفيت .... فيجزاك الله العلي القدير خير الجزاء والثواب لما تقدمه في هذا المنتدى من عطاء :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لم أعد بعد المثال ( قريبا بإذن الله )

و لكن نشرتها كمسودة للمراجعة و لأن لدي تساؤلان فيها

الاول : ما أعرفه عن دوال Dfirst و Dlast هو أنها تعيد اوا و آخر قيمة ، و لكن المكتوب فى تعليمات النسخة الاكس بي الانجليزية هو انهما تعيدان أرقاما عشوائية ، و هذا لم أفهمه ،ـ فبرجاء التوضيح ،

الثاني : موضوع العينة من السكان و مجموع السكان

Population & Sample of Population

و هو الفرق بين Dvar & Dvarp

و أيضا بين DStDev , DStDevP

هو غير واضح المفهوم بالنسبة لي

استفسار ثالث ،

ملاحظة : ال ampersand أي ال (&) هي أفضل معامل يمكن استخدامه فى الصاق النصوص ، و يجب تجنب استخدام ال (+) الا فى حالة جمع الارقام ، الا اذا كنت تريد نشر قيم ال null داخل التعبير

هذه الجملة أيضا ترجمة لما فى التعليمات فى دالة Dcount

و تحتاج الي توضيح

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

و اعتبار ما نشر هو مسودة تحت المراجعة لحين تلقي رأيكم فيما سبق

و سأمسحه و أنشر النسخة النهائية مع الأمثلة بإذن الله

مع تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أخي العزيز محمد طاهر (f)(f)(f)(f)(f)(f)(f)

بارك الله فيك وجزاك خير الجزاء على هذا الجهد الرائع والعطاء المميز .

شرح أكثر من رائع وبالتفصيل وهذا والله ما كنت أحتاجه منذ فترة فبارك الله فيك، ونفع بعلمك وأصلح لك ذريتك.

اخوك خلودي;)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أخي الكريم محمد

السلام عليكم

أولاً : جزاك الله خيراً على هذا الشرح الرائع وأتمنى أن يستفيد منه الإخوة وأن تقل الأسئلة حول هذا الموضوع

ثانياً : بالنسبة لتساؤلك حول دالتي Dfirst و Dlast فالقول بأنهما يعيدان قيمة عشوائية مبني على أنهما يمكن أن يعيدا قيماً مختلفة باختلاف طريقة فرز الـ Dmain المرر لهما سواء كان جدولاً أم استعلاماً وليس معنى ذلك العشوائية المطلقة فهما تعيدان أول وآخر قيمة لكن حسب طريقة الفرز المستخدمة مما يؤثر على عملهما وهذا ـ كما تعلم ـ لا يكون في دوال تجميع المجال الأخرى حيث إن قيمها ثابتة

أما السؤال الثالث فأفهم من العبارة أنة يستحسن استخدام & عند تمرير الشروط التي تحتوي على قيم من النموذج أو التقرير ولا تسخدم علامة + إلا عند جمع الأرقام علماً بأن علامة + هي الأشهر استخداماً في كثير من اللغات بما فيها بعض لغات مايكروسوفت مثل الـ ASP و SQL Server

أما عبارة " الا اذا كنت تريد نشر قيم ال null داخل التعبير" فأفهم منها أن استخدام + يؤدي إلى تضمين التعبيرات التي تعيد القيم الفارغة في نتائج الدالة مع أن هذا يحتاج إلى تجرية

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الاستفسار الثالث

Dim v As Variant

Const nnull  As Variant = Null

v = "" & nnull & "Hello"

If IsNull(v) Then MsgBox "Null" Else MsgBox v

v = "" + nnull + "Hello"

If IsNull(v) Then MsgBox "Null" Else MsgBox v

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

تقديري و شكري (f)(f)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكراً عزيزي على المجهود الطيب وإلى المزيد

لدي سؤال مهم جداً ارجو ان أجد الحل لديك

سؤال هام كيف يمكن استخدام دالة ( ) date الإفتراضية للتاريخ الهجري بدلاً من التاريخ الميلادي.

او هل يوجد طريق أخرى مثلاً في الاستعلام بحيث يتم وضع دالة () DATE في عمود ومن ثم يتم تحويل نتيجة الدالة إلى التاريخ الهجري في عمود آخر

وذلك لكي استطيع المقارنة بين تاريخين هجريين باستخدام دالة diffdate

مشكور سلفاً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .