اخواني هذا احدى برامج من الاخوة تم كتابته هكذا لكن لم افهم بعض منه
ارجو من الاخوة مساعدتي في عمله :
ولكم مني كل الاحترام
=========================================================================================
أخي الكريم
بعد إذن الأخوة المشاركين في الردود.
أتبع التالي سأطيل عليك ولكن الله يعينك الطريقة سهله ولكنها طويله كنت أرفقت لك مثال لكن الموقع لا يدعم التحميل حالياً يمكن بسبب نقله إلى سيرفر أخر.
الطريقة هي كالأتي:
الجدول :
* يجب أن يحتوي جدول الإدخال على حقول إضافيين هي
* حقل خاص بالرتبة.
* حقل مدة البقاء في الرتبة 3 ، 4 ، 5 سنوات حسب الرتبة. ويجب أن يكون نوع بياناته رقمية لأننا سنجري عليه عمليات حسابية.
* حقل خاص بتاريخ الترقية.
* حقل تاريخ استحقاق الترقيه ــ ( مدخل البيانات ليس له دخل في تعبئة هذا الحقل سوف يعيء آلياً )
--------------------------------------------------------------------------------------------------------------------------
النماذج :
* على نموذج الإدخال والتعديل تضع قائمتين منسدلتين الأولى تحتوي على الرتب والثانية على المستويات.
* عند إدخال بيانات مترقي يقوم المستخدم بإختيار الرتبة المرقى عليها والمستوى العلمي للمترقي .
* في حدث عند التغيير للقائمة المنسدلة الثانية تضع كود يقوم بإختبار القيمتين في القائمتين المنسدلتين وعلى ضوء تلك القيم تضاف مدة البقاء في تلك الرتبة في مربع نص على النموذج بعنوان ( مدة الخدمة في الرتبة ).
* تضيف إلى ذلك الكود أوامر لحساب تاريخ استحقاق الرتبة التالية وتكون على الشكل التالي ( تاريخ الترقية زائد (مدة الخدمة في الرتبة الحالية ضرب 365) وسوف يظهر في حقل استحقاق المترقي للرتبة التالية لرتبته آلياً ــ ومدة البقاء في الرتبة وتاريخ الاستحقاق ستكون آلية التنفيذ دون أي تدخل من مدخل أو معدل البيانات.
سنفترض اسماء القوائم المنسدلة ومربعات النصوص التي سنتعامل معها بالكود لكي استطيع أن أتخيل لك الكود الذي سيقوم بتلك المهم.
* القائمة الأولى الخاصة بالرتبة نفترض اسمها ( Cborank )
* القائمة الثانية الخاصة بالمستوى العلمي نفترض اسمها ( CboScientificlevel )
* مربع النص الخاص بتاريخ الترقية نفترض اسمه ( PromotionDate )
* مربع النص الخاص بتاريخ الاستحقاق نفترض اسمه ( duedate ).
* مربع النص الخاص بالفترة التي سيقضيها المترقي في تلك الرتبة نفترض اسمها ( TxtperiodLong )
الآن سيكون الكود على الشكل التالي :
expand plain text
Select Case Cborank.Column(0)
Case 1
Select Case CboScientificlevel.Column(0)
Case 1
Me.TxtperiodLong = 5
Case 2
Me.TxtperiodLong = 2
End Select
Case 2
Select Case CboScientificlevel.Column(0)
Case 1
Me.TxtperiodLong = 5
Case 2
Me.TxtperiodLong = 2
End Select
End Select
Me.Txtduedate = TxtPromotionDate + (TxtperiodLong * 365)
ضع الكود السابق في حدث بعد التحديث لمربع النص TxtPromotionDate والكود بداية أكمل عليه بقية الشروط.
بعد ذلك يمكنك إنشاء استعلام والاستعلام عن البيانات كيف ما تشاء ووضع الشروط التي تريد
جرب وأخبرني بالنتيجة
==========================================================================
