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

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

قام بنشر

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

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

 

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

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

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

حصلت على 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")

 


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

قام بنشر
  في 30‏/5‏/2017 at 16:27, أ / محمد صالح said:

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

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

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

Expand  

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

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

 

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

قام بنشر

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

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

=datedifh(field1,field2)

 

قام بنشر
  في 30‏/5‏/2017 at 16:27, أ / محمد صالح said:

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

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

Expand  

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

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

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

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

تحياتي

  • Like 1
قام بنشر
  في 31‏/5‏/2017 at 00:19, رمهان said:

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

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

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

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

تحياتي

Expand  

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

بارك الله لك

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

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

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

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

رمضان مبارك

قام بنشر
  في 31‏/5‏/2017 at 05:23, co2002co said:

 

 

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

 

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

Expand  

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

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

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

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

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

........

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

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

قام بنشر

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

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

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

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

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

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

على العموم 

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

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

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

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

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

Expand  

ههههههههههه

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

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

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

 

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

قام بنشر

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

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

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

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

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

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

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

Expand  

هنا المصيبه

 

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

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

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

 

 

اقصد newdate

الى date()

 

 

ومشي الحال

الف شكر لك

قام بنشر

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

أشك

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

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

 

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

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

أشك

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

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

Expand  

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

 

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

 

 

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

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

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

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

Expand  

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

 

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

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

قام بنشر

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

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

سيكون الناتج

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

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

راجع حساباتك

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

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

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

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

Expand  

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

 

 

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

 

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

ارجو التصحيح

الفرق بين تاريخين هجريين.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