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

تعديل كود حساب العمر

بدأه malik2010 في 20 نوفمبر 2010 · 10 رد · 5,490 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني

الكود ادناه يحسب العمر بالسنوات هو :

عمره = DateDiff("yyyy", [تاريخ الميلاد], Now()) + _
            Int(Format(Now(), "mmdd") < Format([تاريخ الميلاد], "mmdd"))

اريد اضافة الشهر للنتيجة اي يظهر مثلا هكذا ( 32.8 ) السنة والشهر فقط .

وبارك الله فيكم

تم تعديل هذه المشاركة بواسطة malik2010 في 20 نوفمبر 2010 في 14:13

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#2

أهلا أخي مالك ..

استعمل الكود التالي من صناعة الدكتورة زهرة حفظها الله

دالة حساب السنة

Function Age(varBirthDate As Variant) As Integer
  Dim varAge As Variant

  If IsNull(varBirthDate) Then Age = 0: Exit Function

  varAge = DateDiff("yyyy", varBirthDate, Now)
  If Date < DateSerial(Year(Now), Month(varBirthDate), _
                       Day(varBirthDate)) Then
     varAge = varAge - 1
  End If
  Age = CInt(varAge)
End Function

دالة حساب الشهر

Function AgeMonths(ByVal StartDate As String) As Integer

  Dim tAge As Double
  tAge = (DateDiff("m", StartDate, Now))
  If (DatePart("d", StartDate) > DatePart("d", Now)) Then
     tAge = tAge - 1
  End If
  If tAge < 0 Then
     tAge = tAge + 1
  End If

  AgeMonths = CInt(tAge Mod 12)

End Function

كود حساب العمر

Me.strAge = Age([BirthDate]) & " Óäå " & "  æ  " & AgeMonths([BirthDate]) & " ÔåÑ"

المثال

za_AG.rar

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

db7.zip

تحياتي

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 20 نوفمبر 2010 في 15:23

1
27169617.gif
#3

حياك الله اخي ابو عدنان

وسعيد جدا بلقائك

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

Me.strAge = Age([BirthDate]) & " Óäå " & "  æ  " & AgeMonths([BirthDate]) & " ÔåÑ"

الى حدث بعد التحديث لكل حقل يخص التاريخ فقط ام اضيف دالتي " الفنكشن " ايضاً لكل تاريخ اريد عمل حساب له

- سؤال اخر : كيف يمكن عمل تحديث لها يوميا عند فتح القاعدة

والف الف شكر اليك +1

1

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#4

ونحن أسعد بارك الله بك .....

تابع المثال بعد التعديل في المرفق الأول

فقد قمت بحساب العمر في الاجراء عند السجل الحالي ..

وبنفس الطريقة لمثال الاخت زهرة ..

لاحظ ان الحقل عمره غير مخزن بالجدول وكذلك في التقرير.

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

مرفق المثال بغد التعديل لعمل ذلك بالتقرير والنموذج

تحياتي ..

db7.zip

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 20 نوفمبر 2010 في 15:40

27169617.gif
#5

اخي ابو عدنان

سلمت يداك وهذا فعلا ما اريده لكن :

اولا : ضروري حفظ القيمة في الجدول الاساسي لاني ابحث عن الاعمار الكبير او سنوات الخدمة الكبيرة في نماذج مستقلة .

ثانيا : طريقة التحديث لحساب هذه التواريخ مهم جدا ( اي ما هو كود التحديث تلقائيا لها )

ادامك الله لنا

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#6
malik2010 كتب:

اخي ابو عدنان

سلمت يداك وهذا فعلا ما اريده لكن :

اولا : ضروري حفظ القيمة في الجدول الاساسي لاني ابحث عن الاعمار الكبير او سنوات الخدمة الكبيرة في نماذج مستقلة .

ثانيا : طريقة التحديث لحساب هذه التواريخ مهم جدا ( اي ما هو كود التحديث تلقائيا لها )

ادامك الله لنا

الله يسلمك أخي العزيز ....

لماذا حفظ النتيجة بالجدول ؟ :wacko:

على كل الأحوال لك ذلك .. :cool:

المثال المرفق به طريقتان :

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

الثانية : يحسب العمر بالكود عند فتح النموذج لكافة السجلات وتحفظ النتيجة بالجدول وبالتالي القيمة محفوظة وتستطيع التعامل معها في أي جزء من البرنامج ولكن بشرط بعد فتح النموذج لان عملية حساب العمر تتم عند فتح النموذج وبهذا يكون العمر صحيح حسب تاريخ اليوم .

تحياتي

msak_SaveAge.zip

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 21 نوفمبر 2010 في 10:53

1
27169617.gif
#7

بارك الله فيك ابو عدنان

ملاحظة :" كيف يتم الترشيح كاجابة "

كل التحية والاحترام

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

تم تعديل هذه المشاركة بواسطة malik2010 في 21 نوفمبر 2010 في 10:29

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#8

وفيك أخي مالك والحمد لله تم المطلوب ..

malik2010 كتب:

ملاحظة :" كيف يتم الترشيح كاجابة "

أما جواب السؤال فلا أعلم ولم أجرب وضع سؤال بعد موضوع حساب النقاط

جرب ابحث أخي مالك في صفحة المشاركة الخاصة بكل اجابة وأكيد المشاركة الخاصة بك ستكون مميزة في المشاركات التي تمت كونك أنت السائل أو صاحب المشاركة..

أرجو من أحد الأخوة المشرفين الأعزاء الإجابة عن هذا السؤال أو من أحد الأخوة الأعضاء أصحاب التجربة بنفس الخصوص..

تحياتي للجميع ..

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 21 نوفمبر 2010 في 11:04

27169617.gif
#9

بارك الله فيك استاذنا ابو عدنان

الاخ مالك انا مع رأى اخى ابو عدنان فى عدم حاجة الى حفظ العمر فى الجدول

و بالنسبة لترشيح اجابة لاحظ الصورة

post-193330-019979400 1290452959_thumb.j

المرفقات
22-11-2010 08-57-37 م.jpg

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#10

جزاك الله خير استاذنا ابو يوسف

وفقك الله الى كل خير أخي العزيز

27169617.gif
#11

اخي ابو يوسف بارك الله فيك

علامة الصح التي اشرت عليها لا تظهر عندي ، فقط يظهر كلمة " رشح كإجابة "

ربما تظهر عند المشرفين فقط

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

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