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

حساب العمر


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

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

إخوتي الأعزّاء و أساتذتي الأكارم .. بأوّل مشاركة لي بقسم الاكسس .. أرجو منكم فضلاً لا أمرًا مساعدتي بكيفية حساب العمر بالميلادي و ليس الهجري في العمود Age

بمجرّد كتابة تاريخ الميلاد بالعمود Birth يظهر العمر بالسنوات فقط في العمود Age

بارك الله فيكم و لكم مسبّقًا

فائق إحتراماتي

 

data.rar

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

اهلا بك الاستاذ عبدالعزيز في منتدى الاكسس

وتشرفت بالرد 

ضع التعبير التالي في حقل جديد باستعلام جديد

Expr1: DateDiff("yyyy";[birth];Date())

وتم استخدام الدالة datediff  لحساب فرق السنوات بين تاريخين حيث اصبح التاريخ الثاني هو دالة تحسب تاريخ اليوم

 

بالتوفيق

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

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

ألف شكر أستاذي الفاضل " رمهان " على المساعدة ..بارك الله فيك و لك و جزاك خير الجزاء و زادك من علمه و فضله .. لكن معذرة و الله لم أفهم جيّدًا كيف يمكن وضع هذه المعادلة بحقل جديد واستعلام جديد .. لو تتكرم فضلا لا أمرًا بوضعها بالملف المرفق حتى أتمكن من فهم ذلك جيّدًا ..وضعتها حسب معرفتي المتواضعة لكنها لم تضبط معي مثلما هو موجود بالملف المرفق

فائق إحتراماتي

 

 

data.rar

الان, صالح حمادي said:

حساب العمر.rar

إليك الحل أخي عبد العزيز لقد أضفت ذلك في مشاركة سابقة

 

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

بارك الله فيك و لك أستاذي الفاضل " صالح حامدي " على نيّة المساعدة و الملف الرّائع و المميّز .. جزاك الله خير الجزاء و زادها بموازين حسناتك

هل من الممكن لو سمحت ..كيف أدخل للملف ..أقصد الأكواد لأنّي لم أتمكن من ذلك

فائق إحتراماتي

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

أخي عبد العزيز يجب عليك فتح نموذج و إضافة مربع نص غير منظم أكتب فيه الكود "DateDiff("yyyy";[Birth];Date())"

لقد فعلت هذا التعديل على ملفك تفضل أخي. بلغ سلامي لأبناء بسكرة.

data.rar

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

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

ألف شكر .. أخي و أستاذي الفاضل " صالح حمادي " على الهديّة الرّائعة .. المميّزة و الممتازة

بارك الله فيك و لك و جزاك خير الجزاء و زادها بموازين حسناتك

هذا هو المطلوب .. و الحمد لله

تبلغ سلاماتك إن شاء الله

فائق إحتراماتي

13687352251.gif

 

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

13 ساعات مضت, صالح حمادي said:

أخي عبد العزيز يجب عليك فتح نموذج و إضافة مربع نص غير منظم أكتب فيه الكود "DateDiff("yyyy";[Birth];Date())"

لقد فعلت هذا التعديل على ملفك تفضل أخي. بلغ سلامي لأبناء بسكرة.

data.rar

اخي صالح وبعد اطيب تحية

هذه المعادلة او التعبير هو نفس ما شاركت به في اول رد وهو الحل المناسب لان السؤال كان مشترطا عدد السنوات فقط وكانت باللون الازرق فشاركت بذلك التعبير لسهولته وقمت انت بالتطبيق مشكورا وحصلت الفائده

طلبي هو : التكرم بشرح التعبير او المعادلة في مشاركتك الثالثة والتي تم بها حساب العمر بالتفصيل كسنوات واشهر وايام

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

تحياتي

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

  DateDiff("d";;Date()) هذا الكود يحسب الفرق بين التاريخ الذي أدخلته و التاريخ الحالي بالأيام و إذا غيرنا حرف "d" إلى "m" سوف يحسب الفرق بالأشهر و إذا غيرناه إلى "yyyy" سوف يحسب الفرق بالسنوات.

  DatePart("yyyy";5632)  أما هذه الدالة فتحول عدد صحيح إلى تاريخ أي سنوات و إذا غيرنا "yyyy" إلى "m" سوف يحوله إلى أشهر يعني عندما يصل إلى 12 يبدأ العد من جديد و إذا غيرناه إلى "d" سوف يحوله إلى أيام بنفس الطريقة عندما تكتمل أيام الشهر يبدأ الحساب من جديد.

أرجو من الله أن أكون قد وفقت في الشرح أخي رمهان.

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

مشكور اخ صالح

انا اقصد التعبير التالي للسنوات

=DatePart("yyyy";(DateDiff("d";[b];Date()))+1)-1900

من اين جاءت 1900 ولماذا بالناقص ؟ ولماذا اضفنا واحد ؟ 

وكذلك التعبير التالي للاشهر

DatePart("m";(DateDiff("d";[b];Date()))+1)-1

لماذا +1 ثم -1 ؟!

ياليت تشرح فكرة الحل وليس شرح الدالة

تحياتي

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

أخي رمهان لو أننا نكتب هذا الكود DatePart("d";3) سوف يعطينا النتيجة 2 يعني أنه  ينقص 1 يوم دائما من الدالة التي تحسب الفرق بالأيام Diff("d";;Date()) لذلك أضطررت لإضافة 1 لناتج الدالة كذا "1+Diff("d";;Date())".

أما بالنسبة لــ-1 في عبارة الأشهر ذلك لأنه عندما تضع مثلا DatePart("m";5) يعطيك الناتج 1 شهر و أيض DatePart("m";35) يعطينا الناتج شهرين بينما هي أقل من ذلك.

بالنسبة للسنوات إذا وضعنا هذا الكود مثلا DatePart("yyyy";2) فإن الناتج يكون 1900 يعني هو يبدأ الحساب من 1900.

أنا إجتهدت و هذا الحل هو الذي أعطاني أكبر دقة.


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

11 ساعات مضت, صالح حمادي said:

أنا إجتهدت و هذا الحل هو الذي أعطاني أكبر دقة.



 

اخ صالح

التعبير السابق كتبه محترف وليس مجتهد

بالتوفيق

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

  • 8 months later...
في 8‏/5‏/2016 at 12:53, صالح حمادي said:

أخي رمهان لو أننا نكتب هذا الكود DatePart("d";3) سوف يعطينا النتيجة 2 يعني أنه  ينقص 1 يوم دائما من الدالة التي تحسب الفرق بالأيام Diff("d";;Date()) لذلك أضطررت لإضافة 1 لناتج الدالة كذا "1+Diff("d";;Date())".

أما بالنسبة لــ-1 في عبارة الأشهر ذلك لأنه عندما تضع مثلا DatePart("m";5) يعطيك الناتج 1 شهر و أيض DatePart("m";35) يعطينا الناتج شهرين بينما هي أقل من ذلك.

بالنسبة للسنوات إذا وضعنا هذا الكود مثلا DatePart("yyyy";2) فإن الناتج يكون 1900 يعني هو يبدأ الحساب من 1900.

أنا إجتهدت و هذا الحل هو الذي أعطاني أكبر دقة.

ما شاء الله شكرا جزيلا

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information