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

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

قام بنشر

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

تقبل الله صيامكم وقيامكم

 

بحثت بالمنتدى وخارج المنتدى

عن طريقه ل احتساب العمر بالتاريخ الهجري

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

حصلت على vba للتحويل

 

ابحث عن كويري يحول التاريخ من الميلادي الى الهجري

مع احتساب العمر بالهجري مجزء سنه / شهر / يوم

قام بنشر

ترجع مشكلة التاريخ الهجري في التعامل معه على أنه تاريخ ميلادي

فلا يقبل مثلا التاريخ 29/02/1438

لذا أقترح التعامل معه على أنه نص

وهذه دالة للفرق بين تاريخين هجريين

على اعتبار أن الشهر 30 يوم

Function datedifh(olddate As String, newdate As String) As String
Dim d As Integer, m As Integer, y As Integer, nd As Integer, nm As Integer, ny As Integer
nd = Left(newdate, 2): d = Left(olddate, 2)
nm = Mid(newdate, 4, 2): m = Mid(olddate, 4, 2)
ny = Right(newdate, 4): y = Right(olddate, 4)
If nd < d Then nm = nm - 1: nd = nd + 30
If nm < m Then ny = ny - 1: nm = nm + 12

datedifh = nd - d & " يوم " & nm - m & " شهر " & ny - y & " سنة"
End Function

 

ويتم استدعاؤها هكذا

MsgBox datedifh("29/02/1977", "05/05/2017")

 


مع مراعاة اليوم من رقمين والشهر من رقمين

قام بنشر
منذ ساعه, أ / محمد صالح said:

ترجع مشكلة التاريخ الهجري في التعامل معه على أنه تاريخ ميلادي

فلا يقبل مثلا التاريخ 29/02/1438

لذا أقترح التعامل معه على أنه نص

اشكر لك اهتمامك وشرحك الوافي

لكن احتاج على شكل استعلام

 

ممكن عمل المثال على شكل استعلام

قام بنشر

الدالة يمكن استخدامها في الاستعلام والنموذج والتقرير

فقط تكتب تاريخ البداية في حقل وتاريخ النهاية في حقل آخر وفي الحقل الثالث تكتب

=datedifh(field1,field2)

 

قام بنشر
7 ساعات مضت, أ / محمد صالح said:

ترجع مشكلة التاريخ الهجري في التعامل معه على أنه تاريخ ميلادي

فلا يقبل مثلا التاريخ 29/02/1438

كيفك استاذ @أ / محمد صالح

سعداء بعودتك ومشاركتك هذه الفترة وشرف كبير لنا

جربت ان وضعت الخيار الهجري وقبل التاريخ اعلاه 29/02/1438 !

ام تقصد تاريخ اخر

تحياتي

  • Like 1
قام بنشر
33 دقائق مضت, رمهان said:

كيفك استاذ @أ / محمد صالح

سعداء بعودتك ومشاركتك هذه الفترة وشرف كبير لنا

جربت ان وضعت الخيار الهجري وقبل التاريخ اعلاه 29/02/1438 !

ام تقصد تاريخ اخر

تحياتي

الشرف لي أستاذ @رمهان

بارك الله لك

فعلا إذا تم تغيير الخيارات للهجري يقبل

ولكن لا تكون حسابات دالة datedif صحيحة

وإذا كنت جربت الدالتين

فأيهما يعطي نتائج أفضل؟!

رمضان مبارك

قام بنشر
4 ساعات مضت, أ / محمد صالح said:

ولكن لا تكون حسابات دالة datedif صحيحة

 

 

اساتذتي الكرام

 

كذا انا اكثر ضيااااااااع

قام بنشر
1 ساعه مضت, co2002co said:

 

 

اساتذتي الكرام

 

كذا انا اكثر ضيااااااااع

إذا سمحت لي أخي الكريم

أنت لست أكثر ضياعا

وإنما أكثر رغبة في أن تضيع نفسك

وتضيع جهودي معك

هدانا الله جميعا لكل خير

........

هل جربت الدالة التي كتبتها لك ولم تؤد الغرض المصممة لأجله؟!

وهو الفرق بين تاريخين هجريين منسقين كنص

قام بنشر
1 ساعه مضت, أ / محمد صالح said:

وإنما أكثر رغبة في أن تضيع نفسك

وتضيع جهودي معك

ههههه

 

واضح اني لم اطبق الفكره كما ينبغي

 

سوف ارفق مثال

قام بنشر

هههههههههههه

فعلا أخي الكريم

الملف المرفق ليس به اي شيء يخص تنفيذ الفكرة

فقط نموذج إضافة للاسم وتاريخ الميلاد

وجدول به الرقم والاسم وتاريخ الميلاد (وبعض التواريخ بالميلادي وبعضها بالهجري)

....................................

على العموم 

هذا مثال لطريقة استعمال الدالة في الاستعلام والنموذج والتقرير

أرجو أن تستفيد منه

الفرق بين تاريخين هجريين.rar

قام بنشر
منذ ساعه, أ / محمد صالح said:

هههههههههههه

ههههههههههه

كنت اقصد انك تطبق الفكره على الملف المرفق

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

لكن مجبر اني اغير للهجري

 

اجرب وارد لك خبر

قام بنشر

بالمثال المرفق التاريخ الجديد ثابت

لكن انا استخدم تحديث العمر بشكل يومي

 

 

1 ساعه مضت, أ / محمد صالح said:

على العموم 

جربت عملت

 

Eprt1:Date()

 

وجبت العيد عالاخر

قام بنشر

وفقكم الله لكل خير

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

لكن هل قامت الدالة بالمطلوب؟!

قام بنشر
1 دقيقه مضت, أ / محمد صالح said:

وفقكم الله لكل خير

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

لكن هل قامت الدالة بالمطلوب؟!

هنا المصيبه

 

حيت ان الداله تاخذ التاريخ الميلادي الفعلي وليس الهجري

ف يطلع العمر فلكي

غيرت الوحده النمطيه

 

 

اقصد newdate

الى date()

 

 

ومشي الحال

الف شكر لك

قام بنشر

يعني الدالة غير صحيحة؟!!

أشك

المدخلات غير متفقة مع المطلوب للدالة

المدخلات المطلوب تمريرها للدالة التاريخ القديم كنص والتاريخ الجديد كنص

 

قام بنشر
1 دقيقه مضت, أ / محمد صالح said:

يعني الدالة غير صحيحة؟!!

أشك

المدخلات غير متفقة مع المطلوب للدالة

المدخلات المطلوب تمريرها للدالة التاريخ القديم كنص والتاريخ الجديد كنص

انا كنت اغير بالاستعلام

 

والمفترض اغير بالوحده النمطيه

 

 

اشكر لك سعه صدرك وتحمل جهلي

قام بنشر
6 دقائق مضت, أ / محمد صالح said:

أعتقد لا يلزمك تغيير شيء بالوحدة النمطية

لأن أي تغيير سيغير ناتج الدالة

جربت اغير ب تاريخ الميلاد للتاكد

 

طلع الحساب غلط

يعني لو تحط ميلاد اليوم يطلع لك الناتج ب السالب

قام بنشر

قصدك لو (تاريخ الميلاد) التاريخ القديم هو اليوم

والتاريخ الجديد هو اليوم أيضا

سيكون الناتج

0 يوم 0 شهر 0 سنة

ولا يوجد ناتج سالب إلا إذا كان التاريخ الجديد قبل التاريخ القديم

راجع حساباتك

الكمبيوتر لا يخطئ ابدا ما دام الكود صحيحا

ربما يكون الخطأ من المستخدم

قام بنشر
في 5/31/2017 at 18:24, أ / محمد صالح said:

قصدك لو (تاريخ الميلاد) التاريخ القديم هو اليوم

تقبل الله منكم صيامكم وقيامكم

 

 

قمت بالتعديل على المثال المرسل بالشكل التالي

 

هل ماقمت به صحيح

ارجو التصحيح

الفرق بين تاريخين هجريين.rar

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