Mohamed Nada قام بنشر يناير 4, 2005 قام بنشر يناير 4, 2005 الأخوة الأعزاء مرحباً بكم عندى عدة مشاكل بخصوص الاجازات تتلخص فى الآتى: فى قاعدة البيانات لدى أقوم بحساب الاجازات بالطريقة الآتية: ـ يبدأ حساب رصيد الاجازات بعد مضى 6 شهور على تعيين الموظف ـ الرصيد السنوى للموظف 21 يوم (15 اعتيادى + 6 عارضة) ـ عند بلوغ الموظف سن الخمسين سنة يكون الرصيد السنوى 30 يوم بدلاً من 21 يوم. ـ وقد وضعت استعلام ليقوم بحساب عمر الموظف هكذا age: Year([Currentdate])-Year([birthdate]) حيث أن Currendate هو التاريخ الحالى. وعند تحقق شرط الخمسين تطبق المعادلة التالية Balance: IIf([age]>=50 And [Months]>=6;30;IIf([age]<50 And [Months]>=6;21;IIf([Months]<6;0))) والمشكلة الأولى هى أنه عند بلوغ الموظف سن خمسين سنة يقوم البرنامج بحساب رصيد الاجازات على أساس 30 يوم ولكن اعتباراً من يوم تعيين الموظف وليس من تاريخ بلوغه سن الخمسين مما يزيد رصيد اجازاته فجأة بشكل كبير وهو لا يستحق ذلك. أما المشكلة الثانية فهى أننى أقوم بحساب العارضة (6 أيام) بواقع نصف يوم للشهر الواحد وبذلك يكون 6 أيام للسنة. ولكن الرصيد العارضة لا يجب أن يزيد عن ستة أيام وما يزيد عن ذلك يجب تويله إلى رصيد اعتيادى. أما عندى فهو فى تزايد مستمر و لا أعرف كيف أضبط ذلك. أرجو أن أكون قد أوضحت مشكلتى وعندى ملف به الاستعلام وجزء من جدول لللايضح أكثر ولكن لا استطيع تحميلة كالعادة. عفوا للاطالة و لكن حاولت التوضيح. محمد ندا
الدكتور خضر الرجبي قام بنشر يناير 16, 2005 قام بنشر يناير 16, 2005 يتضح من تحليل وفهم السؤال المتغيرات التالية: تاريخ التعيين في العمل EmploymentDate تاريخ الاحتساب الحالي CurrentDate عمر الموظف Age الرصيد Balance الشهور التي مضت على تعيين الموظف Months رصيد الاجازة العارضة ABalance 1. حل المشكلة الاولى أولا : معادلة حساب العمر بالسنوات هي Me.age = DateDiff("yyyy", Me.EmploymentDate, Me.currentdate) ثانيا : معادلة احتساب الرصيد هي Me.balance = IIf(Me.months >= 6, IIf(Me.age >= 50, 50 * 21 + (Me.age - 50) * 30, Me.age * 21), 0) 2. حل المشكلة الثانية إذا اردنا تعديل رصيد الاجازة العارضة فنعمل حسب الخوارزمية التالية: 1. x = عدد أيام الاجازة العارضة + رصيد الاجازة العارضة 2. y = ناتج قسمة x على 6 3. معادلة الاجازة العارضة هي ABalance= iif(y>=1,6,x) وأقترح وضع المعادلات جميعها في حدث عند النقر لز أمر يتم إنشائه وتسميته حساب الاجازة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.