الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عمليات جمع لعدد الموظفين ومجموع رواتبهم

مغلق
بدأه الحالم بالجنة في 14 أغسطس 2006 · 4 رد · 1,036 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته...

اعزائي المشرفين إخواني الاعضاء لكم مني اجمل تحية...تصلكم جميعا...يامن اثريتم هذا المنتدى العريق واغنيتمونا عن المنتديات الاجنبية...

لدي سؤال لو تكرمتم ايها الاحبة... :)

عندي برنامج رواتب صغير جدا وانا اجرب عليه بعض الدوال والمعادلات

وعند تجربتي لدالة IIF واجهتني مشكلة وهي كالتالي :

اريد عدد الموظفين الممنوحين ومعادلتي كالتالي :

=IIf([STATUS] Is Not Null;Count([EMP_NO]))

وكذلك اريد مجموع رواتبهم ومعادلتي كالتالي :

=IIf([STATUS] Is Not Null;Sum([STATUS]))

من جهة اخرى اريد عدد الموظفين المستبعدين ومعادلتي كالتالي :

=IIf([STATUS] Is Null;Count([EMP_NO]))

وكذلك مجموع رواتبهم ومعادلتي كالتالي :

=IIf([STATUS] Is Null;Sum([STATUS]))

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

=Count([EMP_NO])

وكذلك مجموع رواتبهم الكلي ومعادلتي كالتالي (والتي اعتقد انها صحيحة) :

=Sum([STATUS])

كذلك يلاحظ عند التنقل بين السجلات ان النتائج تتغير ...

فاذا كان التركيز(المؤشر) موجود على سجل موظف ممنوح تظهر فقط نتائج الموظفين الممنوحين (عددهم ومجموع رواتبهم) ولا تظهر اي نتائج للموظفين المستبعدين والعكس صحيح...لماذا ياترى... :s ...مع العلم انني لااريد ان استخدم اي استعلام لبرنامجي...اريد ان افهم كيفية ظهور هذه النتائج بدون استعلام...

وهناك مثال مرفق مع مشاركتي هذه موضح فيه بالتفصيل جميع المعادلات والمشاكل التي واجهتني...وهو صغير الحجم تقريبا (21.8 ك.ب)

ارجو المساعدة...وبارك الله فيكم...

BANK.rar

تم تعديل هذه المشاركة بواسطة الحالم بالجنة في 14 أغسطس 2006 في 19:39

#2

انظر اخي الكريم

هل هذا هو المطلوب

BANK_UP.rar

#3

السلام عليكم

شكرا اختي زهرة...وبارك الله فيكي وفي ذريتك...

فكرة الحل بسيطة لكن تدل على عمق في التفكير...ماشاء الله عليكي...

ولي سؤال آخر لو تكرمتي اختي الفاضلة...

وهو لو ان لدي موظفي بند الاجور وارقامهم الوظيفية تحتوي على حرف "ج" للدلالة على تصنيفهم الوظيفي...فكيف احصل على عددهم ومجموع رواتبهم سواء الممنوحين (الذين لديهم رواتب)... او المستبعدين (الذين ليس لديهم رواتب)

انا كتبت الكود التالي للحصول على عدد الموظفين الممنوحين لكن النتيجة غير صحيحة :

=Count(IIf([STATUS] Is Not Null And [EMP_NO] Like "&ج&",[EMP_NO],[STATUS]))

وكتبت الكود التالي للحصول على مجموع رواتب الموظفين الممنوحين :

[=Sum(IIf([EMP_NO] Is Not Null And [EMP_NO] Like "&ج&",[STATUS]))

ونفس الفكرة للموظفين من الجنسية الفلبينية وارقامهم الوظيفية تحتوي على حرف "ف" للدلالة على تصنيفهم الوظيفي...فكيف احصل على عددهم ومجموع رواتبهم...

ارجو إعادة تحميل المثال المرفق مع مشاركتي هذه فقد عدلت عليه...واصبح المطلوب واضحا فيه...

كذلك ارجو ان تشرحي الكود التي كتبتيه في البرنامج وهو

=Count(IIf([STATUS] Is Not Null,[EMP_NO],[STATUS]))

والذي فهمته انه إذا تحقق الشرط فالنتيجة تكون عدد الموظفين وإلا تكون النتيجة الراتب فهل هذا منطقي وخصوصا انه مكتوب في حقل عدد الموظفين...النتيجة صحيحة ولكن اريد ان افهم هذا الكود...

بارك الله فيكي...

ورزقنا الله وإياك الجنة...آمين...

BANK_UP.rar

#4

اخي الفاضل

هذا ملفك بعد التعديل

بخصوص استخدام بعض الصيغ في الدالة فيجب التفرقة اولا بين من يكون عليه الشرط في الداول ففي مثالك تم استخدام ثلاث صيغ بشروط معينه مثل دالة Count ودالة IIF وصيغة الشرط IS NOT NULL و IS NULL كل واحدة من هذه التعابير لها شروط معينه فعندما تتداخل المعايير مع بعضها فإننا نلجأ الى اقرب حقل يكون عليه الشرط بغض النظر هل هو حقل الرقم ام الحالة ولهذا تلاحظ انك تصاب بالتشويش احيانا لقاء استخدام مجموعة من الدوال مجتمعة وعند وضع اي صيغه في المكان غير المناسب ستحصل على نتائج خاطئة لان كل دالة تريد ان تنفرد بالتعبير او النتيجة التهائية لوحدها لهذا يجب توخي الحذر عند استخدام مجموعة من الدوال حتى لا تحصل على نتائج خاطئة

BANK_UP2.rar

#5

جزاكي الله خيرا ايتها الاخت الفاضلة...

ورزقكك من الطيبات في الحياة الدنيا والآخرة...

تقبلي تحيات اخوكي في الله / الحالم بالجنة

ولكي من دعائي نصيب ان شاء الله...

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…