اذهب الي المحتوي
أوفيسنا

إنقاص شهر بالنسبة للإقتطاع للمتعاقدين


كريمو2

الردود الموصى بها

السلام عليكم

لديا طلب مساعدة وهو بخصوص إنقاص شهر للأعوان المتعاقدين في ظهور المبالغ المالية بالتقريرين rptDiscount و rptDiscountDetail

وهم "عون نظافة - متعاقد كامل - متعاقد جزئي" لاحظو التاريخ في التقريرين انه دائما ينقص شهر 

مثلا الأن نحن خلال شهر ماي 2015 هذا عند detach يساوي موظف و منتدب

اما الفئات الثلاثة السابقة فيكون لديهم أفريل 2015

ليس المشكلة في إنقاص الشهر في التقريرين ولكن

المشكلة في الباقي دائما يحسب على شهر الموظفين والمنتدبين

الصورة توضح

رأي ان يكون استعلام خاص بهم ينقص دائما شهر فقط

 

post-104024-0-70342300-1433067239_thumb.

 

11.8.FrmDiscountReport.mdb.zip

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

jjafferr, on 31 May 2015 - 1:43 PM, said:

رجاء التوضيح أكثر بمثال ، لأني ما فهمت المطلوب  :eek2:

وعليكم السلام أخي جعفر

التوضيح اكثر

01- أدخل على المرفق بالمشاركة رقم 01 وادخل على الفورم FrmCridi ثم على العامل كريمو 3 الذي يحمل صفة (متعاقد جزئي)انظر جدول Employee للتذكير فقط .

ثم أنظر تاريخ بداية الإقتطاع في FrmCridi ستجده 2015/05/01 لمدة 10 اشهر الى غاية 2016/02/01

وعند دخولنا على فورم الإستقطاعات FrmDiscountReport نجد ان شهر الإقتطاع هو ماي 2015 ثم ندخل على "متعاقد جزئي" في إقتطاع لجنة التسيير نجد ان الشهر في التقرير تغير من ماي الى أفريل ..... هذا كلة عادي وصحيح ولكن ظهور هذا العامل خلال شهر افريل هو الخطأ كما أشرت سابقا و الأصح انه لا يظهر إقتطاع لهذا العامل خلال هذا الشهر لأن هذا الشهر يقتطع الا للعمال الذين يحملون صفة' موظف 'أو 'منتدب' .........الحالة 1

اما الأخرين يحملون صفة 'متعاقد كامل' او 'متعاقد جزئي 'او 'عون نظافة' فهم ناقص شهر عن الحالة 1

مثال : جعفر يحمل صفة موظف او منتدب ولديه قرض واول اقتطاع له شهر ماي 2015 هنا الأمر عادي

أما الطاهر يحمل صفة متعاقد كامل او متعاقد جزئي او عون نظافة لديه نفس القرض واول إقتطاع له شهر ماي 2015 هنا عند الدخول على FrmDiscountReport وعلى شهر ماي يجب ان لا يظهر الطاهر في التقرير ذو شهر افريل لأن اول اقتطاع له شهر ماي يظهر خلال شهر جوان 2015

أتمنى اني اوصلت الفكرة اليك

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

السلام عليكم أخي كريمو  :smile:

 

نحن الآن نقوم بأخذ البيانات من الجدول tbl_Loans ، والمسألة عبارة عن جمع وطرح ونحصل على النتائج المطلوبة ، بهذه البساطة  :smile:

 

وطريقة ادخال بيانات القرض للجدول ، هو عن طريق وعلى اساس الحقل "تاريخ بداية الخصم" في النموذج FrmCridi_sub او FrmElec_sub ،

فكل قرض يبدأ بالشهر "تاريخ بداية الخصم" ، وينتهي بحسب نوعه.

 

الآن انت تقول لي ، هناك نوعين من الموظفين (ولنفترض "تاريخ بداية الخصم" هو 5/2015 ، ولنفترض ، ولنفترض "قرض مالي 1" والممتد لمدة 10 اشهر):

1. موظف او منتدب ، ويتم بدء السداد من "تاريخ بداية الخصم" اي 5/2015 وينتهي في 2/2016 ،

2. "متعاقد كامل" او "متعاقد جزئي" او "عون نظافة" ،  ويتم بدء السداد من الشهر التالي لـ "تاريخ بداية الخصم" اي 6/2015 وينتهي في 3/2016 ،

 

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

 

 

جعفر

رابط هذا التعليق
شارك

السلام عليكم أخي كريمو  :smile:

 

اليوم فكرت في سؤالك مرة اخرى ، فما ادري هل تفكيري صح!!

 

ادخال المبالغ صحيح ، وانما تريد ان يكون تقرير rptDiscount هو للشهر السابق للشهر الذي يظهر في FrmDiscountReport ،

لهذا عملت استعلام جديد اسمه qry_Loans_Step_Minus ، والذي يفعل ما اشرت اليه اعلاه ،

وعليه اصلحت التقرير ، والذي يعتمد على هذا الاستعلام الجديد.

 

رجاء ، المراجعة ، واخباري النتيجة ، سواء للعمل هذا او لسؤال البارحة  :smile:

 

 

جعفر

83.FrmDiscountReport.mdb.zip

رابط هذا التعليق
شارك

وعليكم السلام اخي جعفر

 

 

اليوم فكرت في سؤالك مرة اخرى ، فما ادري هل تفكيري صح!!

نعم تفكيرك صحيح

 


ادخال المبالغ صحيح ، وانما تريد ان يكون تقرير rptDiscount هو للشهر السابق للشهر الذي يظهر في FrmDiscountReport ،

لهذا عملت استعلام جديد اسمه qry_Loans_Step_Minus ، والذي يفعل ما اشرت اليه اعلاه ،

وعليه اصلحت التقرير ، والذي يعتمد على هذا الاستعلام الجديد.

نعم ادخال المبالغ لا تتغير

التقرير rptDiscount يكون به الشهر السابق الذي يظهر بالفورم FrmDiscountReport

الأزرار المعنية بنقص في الشهر

 

post-104024-0-59102400-1433262599_thumb.

 

رجاءا إدخال هذا المعيار

SELECT Format([Payment_Month],"mmmm  yyyy") AS Month_Year
FROM tbl_Loans
GROUP BY Format([Payment_Month],"mmmm  yyyy")
HAVING (((Format([Payment_Month],"mmmm  yyyy"))=Format(DateAdd("m",-1,[Forms]![FrmDiscountReport]![txtMonth]),"mmmm  yyyy")));

على هذا الإستعلام

SELECT qry_Loans_Step1.EmployeeID, Employee.[Nom et Prénom], Employee.detach, qry_Loans_Step1.Month_Year, Sum(Nz([Cridi],0)) AS Cridi1, Sum(Nz([Elec],0)) AS Elec1, Sum(Nz([Cridi_Payments],0)) AS Cridi_Payments1, Sum(Nz([Elec_Payments],0)) AS Elec_Payments1, Sum(Nz([Remaining_Cridi],0)) AS Remaining_Cridi1, Sum(Nz([Remaining_Elec],0)) AS Remaining_Elec1, Sum(Nz([Loan_Other],0)) AS Loan_Other1, Sum([Remaining_Elec]+[Remaining_Cridi]) AS Remaining, Nz([Cridi_Payments1],0)+Nz([Elec_Payments1],0)+Nz([Loan_Other1],0) AS TheSum
FROM qry_Loans_Step1 INNER JOIN Employee ON qry_Loans_Step1.EmployeeID = Employee.EmployeeID
GROUP BY qry_Loans_Step1.EmployeeID, Employee.[Nom et Prénom], Employee.detach, qry_Loans_Step1.Month_Year;

لأنه صراحة معرفة نتيجة التعديل برؤية الباقي لكل عامل خلال كل شهر

 

رابط هذا التعليق
شارك

السلام عليكم أخي كريمو  :smile:

 

1. الاستعلام qry_Loans_Step1 فيه معيار الشهر والسنه حسب تاريخ النموذج FrmDiscountReport ،

2. بينما الاستعلام qry_Loans_Step_Minus فيه معيار الشهر السابق لتاريخ النموذج  FrmDiscountReport.

 

طلبك الاخير لا يمكن عمله!!

لآنك عملت المعيار #1 ، ثم تريد ان تعمل عليه المعيار #2 كذلك؟؟

 

عندك الاستعلامين اعلاه ، فاختر بين المعيارين ، وعليه اختر الاستعلام  :smile:

 

 

جعفر

رابط هذا التعليق
شارك

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

وعندما تريد ان تستعمل المعيار الثاني ، فلن تظهر لك اي نتائج ، لأنه لا يوجد سجلات للشهر السابق!!

 

إلا اذا قصدك ان ترى الشهرين ، الحالي والسابق معا في نفس التقرير؟

واذا عملنا هذا فسؤالك في المشاركة الاولى لا معنى له!!

 

جعفر

رابط هذا التعليق
شارك

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

وعندما تريد ان تستعمل المعيار الثاني ، فلن تظهر لك اي نتائج ، لأنه لا يوجد سجلات للشهر السابق!!

 

إلا اذا قصدك ان ترى الشهرين ، الحالي والسابق معا في نفس التقرير؟

واذا عملنا هذا فسؤالك في المشاركة الاولى لا معنى له!!

 

جعفر

شكرا لك على التوضيح

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

فاستغربت وطلبت مساعدتك

لا ليس قصدي ان ارى الشهرين معا

مطلبي استعلامين

الأول بالشهر الحالي وبمعيار موظف او منتدب

والثاني بالشهر السابق وبمعيار متعاقد كامل او متعاقد جزئي او عون نظافة

ملاحظة : التركيز في رؤية الحدث عند النقر على الأزرار بالصورة في المشاركة7

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

هل نظرت الى الاستعلامين التاليين ونتائجهم:

1. الاستعلام qry_Loans_Step1 فيه معيار الشهر والسنه حسب تاريخ النموذج FrmDiscountReport ،

2. بينما الاستعلام qry_Loans_Step_Minus فيه معيار الشهر السابق لتاريخ النموذج  FrmDiscountReport.

 

فالنتيجة اللي تريدها هي qry_Loans_Step_Minus 

 

 

جعفر

تم تعديل بواسطه jjafferr
رابط هذا التعليق
شارك

السلام عليكم ...

للتوضيح اين يحصل الخطأ ...

في الصورة السابقة لديكم مايلي :

اقتطاع الهيئة - الموظفين - يعرض الشهر الحالي حسب تاريخ النموذج - و هذا صحيح .

اقتطاع الهيئة - المتعاقدين - يعرض الشهر السابق لتاريخ النموذج - و هذا صحيح .

اقتطاع الهيئة - الكل - يعرض الشهر الحالي للكل حسب تاريخ النموذج - و هذا خطأ لأنه  يحوي خليط من (الموظفين + المتعاقدين) ..

 

الحل المقترح :

انت بحاجة لدالة مثل :

Public Function GetMyDate(pDate As Date, pDetach As String) As Date
If IsNull(pDetach) Then
    GetMyDate = pDate
Else
    GetMyDate = IIf(pDetach = "متعاقد كامل" Or pDetach = "متعاقد جزئي" Or pDetach = "عون نظافة", DateAdd("m", -1, pDate), pDate)
   
End If
End Function

ثم عدل الاستعلام ليكون :

HAVING (((Format([Payment_Month],"mmmm  yyyy"))=Format(GetMyDate([Forms]![FrmDiscountReport]![txtMonth] ,[detach]) ,"mmmm  yyyy")))

ما ذكرته أنا ليس حلا كاملا , حاول بناء الحل الذي تجده مناسبا ..  ^_^  ...

تم تعديل بواسطه حسام السوري
رابط هذا التعليق
شارك

السلام عليكم ...

للتوضيح اين يحصل الخطأ ...

في الصورة السابقة لديكم مايلي :

اقتطاع الهيئة - الموظفين - يعرض الشهر الحالي حسب تاريخ النموذج - و هذا صحيح .

اقتطاع الهيئة - المتعاقدين - يعرض الشهر السابق لتاريخ النموذج - و هذا صحيح .

اقتطاع الهيئة - الكل - يعرض الشهر الحالي للكل حسب تاريخ النموذج - و هذا خطأ لأنه  يحوي خليط من (الموظفين + المتعاقدين) ..

 

الحل المقترح :

انت بحاجة لدالة مثل :

Public Function GetMyDate(pDate As Date, pDetach As String) As Date
If IsNull(pDetach) Then
    GetMyDate = pDate
Else
    GetMyDate = IIf(pDetach = "متعاقد كامل" Or pDetach = "متعاقد جزئي" Or pDetach = "عون نظافة", DateAdd("m", -1, pDate), pDate)
   
End If
End Function

ثم عدل الاستعلام ليكون :

HAVING (((Format([Payment_Month],"mmmm  yyyy"))=Format(GetMyDate([Forms]![FrmDiscountReport]![txtMonth] ,[detach]) ,"mmmm  yyyy")))

ما ذكرته أنا ليس حلا كاملا , حاول بناء الحل الذي تجده مناسبا ..  ^_^  ...

وعليكم السلام

شكرا لك اخي حسام

تم وضع دالة بالوحدة النمطية fAdd_Observations

ولكن التعديل على الإستعلام هل يوضع كمعيار ام كيف ؟ إذا كان كذالك فلم يقبله الأكسس

تم تعديل بواسطه كريمو2
رابط هذا التعليق
شارك

وعليكم السلام

شكرا لك اخي حسام

تم وضع دالة بالوحدة النمطية fAdd_Observations

ولكن التعديل على الإستعلام هل يوضع كمعيار ام كيف ؟ إذا كان كذالك فلم يقبله الأكسس

 

حاولت تطبيقه فأعطاني خطأ , أنا فقط وضحت الفكرة و حبراء الاكسس سيجدون حلا بالتأكيد للموضوع ... أو يمكن عمل استعلام (union)  بين الاستعلامين السابقين ..

بالتوفيق .

رابط هذا التعليق
شارك

  • 2 months later...

عفوا يا شباب ، انا الى الآن ما فاهم شو المطلوب؟

 

ياريت اخي كريمو توضح المطلوب بمثال واضح اللي نقدر نتتبعه ونوصل لنتيجة ان شاء الله  :smile:

 

 

جعفر

اخي جعفر حياك الله

لقد آلت بي السبل الى وقوع مشكلة في الفرق بين إقتطاعات الموظفين والمتعاقدين

هل انت مستعد لتكملة ماترك خلال شهر جوان 2015 ام لا

رابط هذا التعليق
شارك

وعليكم السلام أخي كريمو :-)

 

للأسف لا أستطيع :-(

1. انا لازلت في سفر ، و عندي سفر آخر بعده مباشرة ،

2. كنا في نقاشنا في المشاركة ، وانت قررت عدم الرد على سؤالي الأخير ، و قررت عدم مواصلة الموضوع ، وفتح سؤال جديد لنفس موضوع. وهذا من حقك :-)

3. هذا برنامجك ، فانت تعرف مداخله و مخارجه ، أما بالنسبة لنا ، فلمعرفة جزئيات البرنامج ، فهذا يأخذ منا مجهودا للتعمق فيه لفهمه ، ثم لإعطاء الحل :-(

 

جعفر

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information