طاهر الوليدي قام بنشر سبتمبر 8, 2022 مشاركة قام بنشر سبتمبر 8, 2022 السلام عليكم ورحمة الله حاولت وبحثت وراسلت لغرض تحويل التاريخ الميلادي الى هجري في حل محسوب في جدول دون تدخل الاستعلام او النموذج لغرض في نفسي وشغلني هذا الموضوع كثير جدا. واخيرا استطعت تحويل السنه من ميلادي الى هجري وقريبا ان شاء الله بحول التاريخ كامل وفي طار البحث وهذا الجدول جربوه وشوفوا وردولي رئيكم في حقل محسوب في جدول تم تحويل السنه من ميلادي الى هجري .accdb 1 رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر سبتمبر 9, 2022 مشاركة قام بنشر سبتمبر 9, 2022 وعليكم السلام ورحمة الله وبركاته 🙂 هذه معادلتك: اقتباس السنة الهجرية = (السنة الميلادية-622)/0.97 +1 اذا ممكن تنورنا اكثر ، شو هذه المعادلة ، ومن وين حصلت عليها ، وشو اللي يخليها مختلفة عن غيرها ، وشو اللي يخليها بهذه الدقة؟ جعفر رابط هذا التعليق شارك More sharing options...
متقاعد قام بنشر سبتمبر 9, 2022 مشاركة قام بنشر سبتمبر 9, 2022 (معدل) 8 ساعات مضت, طاهر الوليدي said: اخيرا استطعت تحويل السنه من ميلادي الى هجري لا اتفق معك استاذنا العزيز طاهر مثلا الان نحن في شهر 9 ميلادي 2 هجري لو حولت التاريخ وفقا لما صنعت سيكون الميلادي 2022 والهجري 1444 وهذا تمام جزئيا لكون الاشهر الستة الاولى من شهر 2022 توافق العام 1443 بعد اربعة اشهر يكون الميلادي 2023 والهجري وفقا لعملك 1445 وهذا غير صحيح لكوننا مازلنا في الشهر السادس 1444 ايضا جزء من عام 2024 سيكون ضمن العام الهجري 1445 والعام 1446 وعام 2025 سيكون ضمن العام 1446 والعام 1447 هجري ايضا العام 2030 بحسابك سيكون 1453 بينما يفترض ان يكون 1451 والعام 1452 اعتقد ان العمل يحتاج الى اعادة النطر والتحويل بالسنة بدون اليوم والشهر لن يعطي النتيجة المطلوبة رأي شخصي غير ملزم تم تعديل سبتمبر 9, 2022 بواسطه مبرمج متقاعد 4 رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 10, 2022 مشاركة قام بنشر سبتمبر 10, 2022 معادلة حسابية وليست فلكية على كل ممكن أحاول أعمل لكم معادلة أقرب إلى الصحة إذا مصممين على استخدامها. رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 10, 2022 مشاركة قام بنشر سبتمبر 10, 2022 (معدل) جرب هذه المعادلة: (Date + 466581 - 0.53) / (10631 / 30) + 1 تم تعديل سبتمبر 11, 2022 بواسطه AbuuAhmed رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 10, 2022 مشاركة قام بنشر سبتمبر 10, 2022 (معدل) في 9/9/2022 at 09:58, jjafferr said: اذا ممكن تنورنا اكثر ، شو هذه المعادلة ، ومن وين حصلت عليها ، وشو اللي يخليها مختلفة عن غيرها ، وشو اللي يخليها بهذه الدقة؟ السنة الهجرية = (السنة الميلادية-622)/0.97 +1 622 هي السنة الميلادية لبداية التقويم الهجري 0.97 هي نسبة طول السنة الهجرية إلى طول السنة الميلادية 354.3667 / 365.2425 = 0.970223071 1 هو للزيادة سنة لما يسمى بالسنة الناقصة/غير المكتملة تم تعديل سبتمبر 10, 2022 بواسطه AbuuAhmed 2 رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر سبتمبر 10, 2022 مشاركة قام بنشر سبتمبر 10, 2022 29 دقائق مضت, AbuuAhmed said: السنة الهجرية = (السنة الميلادية-622)/0.97 +1 622 هي السنة الميلادية لبداية التقويم الهجري 0.97 هي نسبة طول السنة الهجرية إلى طول السنة الميلادية 354.3667 / 365.2425 = 0.970223071 شكرا جزيلا اخوي ابو احمد على التوضيح 🙂 جعفر رابط هذا التعليق شارك More sharing options...
طاهر الوليدي قام بنشر سبتمبر 10, 2022 الكاتب مشاركة قام بنشر سبتمبر 10, 2022 شكرا لكم علىالتعقيب والتوضيح والملاحظة المشاركة وأعتذر منكم جميعا اقصد معدله فلكيةاستنتجوها من وضعوا التقويم. 1 رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 10, 2022 مشاركة قام بنشر سبتمبر 10, 2022 2 دقائق مضت, طاهر الوليدي said: اقصد معدله فلكيةاستنتجوها من وضعوا التقويم جرب المعادلة التي اقترحتها عليك. رابط هذا التعليق شارك More sharing options...
طاهر الوليدي قام بنشر سبتمبر 10, 2022 الكاتب مشاركة قام بنشر سبتمبر 10, 2022 10 دقائق مضت, AbuuAhmed said: جرب المعادلة التي اقترحتها عليك. شكرا لك استاذي بارك الله فيك واحسن الله اليكم جميعا كما احسنتم اخذتها من هذه المواقع رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 10, 2022 مشاركة قام بنشر سبتمبر 10, 2022 (معدل) إليك هذه المقارنة تم تعديل سبتمبر 11, 2022 بواسطه AbuuAhmed رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 11, 2022 مشاركة قام بنشر سبتمبر 11, 2022 (معدل) تم اختبار المعادلة لمدة 9566 سنة هجرية بدون أي إخفاق. ملاحظة: هذه المعادلة تعمل فقط مع الـ vba و الإكسل تم تعديل سبتمبر 11, 2022 بواسطه AbuuAhmed 1 رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر سبتمبر 11, 2022 مشاركة قام بنشر سبتمبر 11, 2022 15 دقائق مضت, AbuuAhmed said: تم اختبار المعادلة لمدة 9566 سنة هجرية بدون أي إخفاق بعد عمر طويل ان شاء الله 🙂 23 ساعات مضت, AbuuAhmed said: (Date + 466581 - 0.53) / (10631 / 30) + 1 اذا ممكن تشرح لنا هذه المعادلة لوسمحت ، كما شرحت لنا المعادلة السابقة 🙂 جعفر رابط هذا التعليق شارك More sharing options...
أفضل إجابة AbuuAhmed قام بنشر سبتمبر 11, 2022 أفضل إجابة مشاركة قام بنشر سبتمبر 11, 2022 (معدل) (Date + 466581 - 0.53) / (10631 / 30) + 1 Date يمثل التاريخ الميلادي للأكسس والإكسل و الـ vba 466581 هو الرقم التسلسلي لبداية التقويم الميلادي في 18/07/0622 زائدا واحد حتى تكون النتيجة المطلوبة تساوي يوم واحد. طبعا الرقم التسلسلي يساوي 466580- نصفره ونضيف عليه يوم واحد وهو قيمة بداية التقويم الهجري (أول يوم). (10631 / 30) هو طول السنة الهجرية بالأيام وناتجها 354.367 ولكني فضلت استخدم عملية التقسيم حتى أحصل على كسر مفتوح لمزيد من الدقة. 0.53 هو لعملية ضبط adjustment حصلت عليه بعد عدة تجارب/اختبارات وتظهر حاجته غالبا في آخر يوم في السنة وأحيانا في أول يوم أيضا. 1 هو للسنة الناقصة (غير المكتملة) تم تعديل سبتمبر 11, 2022 بواسطه AbuuAhmed 3 رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر سبتمبر 11, 2022 مشاركة قام بنشر سبتمبر 11, 2022 شكرا جزيلا اخوي ابو احمد 🙂 شرح وافي وواضح 🙂 جعفر 2 رابط هذا التعليق شارك More sharing options...
طاهر الوليدي قام بنشر سبتمبر 11, 2022 الكاتب مشاركة قام بنشر سبتمبر 11, 2022 شكرا للاستاذ الفاضل ابو احمد مجهود نشكرك عليه وندعوا الله لكم جميعا ان يصلح جميع دنياكم وٱخراتكم. وطرح مواضيع وافكار واثرائها بالمعلومات والحلول هذا ما يتميز به هذا المنتدى ويتميز به اعضائه للوصول الى حلول وافكار جديده دائما. رابط هذا التعليق شارك More sharing options...
طاهر الوليدي قام بنشر سبتمبر 12, 2022 الكاتب مشاركة قام بنشر سبتمبر 12, 2022 في 10/9/2022 at 20:55, AbuuAhmed said: جرب هذه المعادلة: (Date + 466581 - 0.53) / (10631 / 30) + 1 من خلال هذه الافكار ان شاء الله نصل الى المعادله التي تحول التاريخ كامل في حقل محسوب سوى كانت من ميلادي الى هجري او العكس. رابط هذا التعليق شارك More sharing options...
متقاعد قام بنشر سبتمبر 12, 2022 مشاركة قام بنشر سبتمبر 12, 2022 15 ساعات مضت, AbuuAhmed said: تم اختبار المعادلة لمدة 9566 سنة هجرية بدون أي إخفاق. حاولت بشتى الطرق اني اجد فرق ولو بيوم واحد والى عام 2079 ولم اجد شغل كبار 2 رابط هذا التعليق شارك More sharing options...
ابوخليل قام بنشر سبتمبر 12, 2022 مشاركة قام بنشر سبتمبر 12, 2022 في 10/9/2022 at 20:55, AbuuAhmed said: جرب هذه المعادلة: (Date + 466581 - 0.53) / (10631 / 30) + 1 33 دقائق مضت, مبرمج متقاعد said: حاولت بشتى الطرق اني اجد فرق ولو بيوم واحد والى عام 2079 ولم اجد شغل كبار شكرا جزيلا احبتي .. جربوا لنا العكس من الهجري الى الميلادي .. لان الاشكال في هذا التحويل خاصة في شهر 2 الاشكال اذا كان نوع الحقل تاريخ/وقت اما اذا الحقل نصي فهو يقبل اي شيء وسبب الاشكال منطقي لأن اكسس يقرأ التاريخ الهجري على انه (تاريخ ميلادي - 622 ) رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 12, 2022 مشاركة قام بنشر سبتمبر 12, 2022 6 ساعات مضت, طاهر الوليدي said: من خلال هذه الافكار ان شاء الله نصل الى المعادله التي تحول التاريخ كامل في حقل محسوب سوى كانت من ميلادي الى هجري او العكس. 2 ساعات مضت, ابوخليل said: جربوا لنا العكس من الهجري الى الميلادي .. لان الاشكال في هذا التحويل خاصة في شهر 2 لا يمكن أن نصل إلى تحويل للتاريخ بمعادلة من سطر واحد وباستخدام المتوسطات. ما عملته أنا فقط للحصول على السنة الهجرية ليس إلا ، فلا يذهب تعبكم سدى ، فالتقاويم لها قوانين وتفاصيل كثيرة مثل مدد الشهور ونطام الدورات والكبس. هذه دالة فحصي للمعادلة لمن يريد أن يكثر من الاختبارات واللعب على قيمة الضبط: Sub HijriYearTest() Dim Hyy As Long Dim Days As Long Dim Greg As Long Dim Hijri1 As Long Dim Hijri2 As Double For Hyy = 1 To 9666 Greg = Hijri2Greg(Hyy, 1, 1) For Days = Greg - 1 To Greg Hijri1 = Left(Greg2Hijri(CDate(Days)), 4) 'Hijri2 = (Days + 466580.47) / 354.366666666667 + 1 Hijri2 = (Days + 466581 - 0.53) / (10631 / 30) + 1 If Hijri1 <> Fix(Hijri2) Then Debug.Print CDate(Days), Hijri1, Hijri2 End If Next Days Next Hyy Debug.Print "Done" End Sub 1 رابط هذا التعليق شارك More sharing options...
طاهر الوليدي قام بنشر سبتمبر 12, 2022 الكاتب مشاركة قام بنشر سبتمبر 12, 2022 مشاركه من طالب لغرض الاطلاع من الاساتذه وابداء الملاحظات في الحقل المحسوب وضعت عدد من التحويلات فيما يخص التاريخ للاستفاده منها تحويل التاريخ الى عدة خيارات بواسطة الحقل المحسوب.accdb رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر سبتمبر 12, 2022 مشاركة قام بنشر سبتمبر 12, 2022 بالنسبة لي أنا أستخدم نسخة أكسس بإصدار قديم ، فلا يمكنني فتح المرفق. لا أعلم من أي إصدار تم إضافة هذا الحقل إلى الجداول ، ولا أعلم فائدته حقيقة. إذا أردت أن تخضع معادلاتك للفحص والاختبار فيمكنك كتابة المعادلات ووظيفتها ، أما إذا أردت فقط تقييمها فالبركة بالشباب اللي يستخدمون نسخ حديثة. رابط هذا التعليق شارك More sharing options...
طاهر الوليدي قام بنشر سبتمبر 13, 2022 الكاتب مشاركة قام بنشر سبتمبر 13, 2022 23 ساعات مضت, AbuuAhmed said: للفحص الاصدار اعلاه 2021 افيس 64 رابط هذا التعليق شارك More sharing options...
jjafferr قام بنشر نوفمبر 7, 2022 مشاركة قام بنشر نوفمبر 7, 2022 السلام عليكم 🙂 اخوي ابو احمد ، معادلتك السابقة فيها دالتين غير موجودات في مثالك (باللون الاحمر) ، فياريت تكمل جميلك وترفقهم لنا : اقتباس For Hyy = 1 To 9666 Greg = Hijri2Greg(Hyy, 1, 1) For Days = Greg - 1 To Greg Hijri1 = Left(Greg2Hijri(CDate(Days)), 4) 'Hijri2 = (Days + 466580.47) / 354.366666666667 + 1 Hijri2 = (Days + 466581 - 0.53) / (10631 / 30) + 1 If Hijri1 <> Fix(Hijri2) Then Debug.Print CDate(Days), Hijri1, Hijri2 End If Next Days Next Hyy . جعفر رابط هذا التعليق شارك More sharing options...
AbuuAhmed قام بنشر نوفمبر 7, 2022 مشاركة قام بنشر نوفمبر 7, 2022 2 ساعات مضت, jjafferr said: معادلتك السابقة فيها دالتين غير موجودات في مثالك (باللون الاحمر) أنا لا أحتفظ بأكوادي ، فكتبت لك الدالتبين من جديد. Sub HijriYearTest() Dim Hyy As Integer Dim Days As Long Dim Greg As Long Dim Hijri1 As Long Dim Hijri2 As Double For Hyy = 1 To 9666 Greg = Hijri2Greg(Hyy, 1, 1) For Days = Greg - 1 To Greg Hijri1 = Left(Greg2Hijri(CDate(Days)), 4) 'Hijri2 = (Days + 466580.47) / 354.366666666667 + 1 Hijri2 = (Days + 466581 - 0.53) / (10631 / 30) + 1 If Hijri1 <> Fix(Hijri2) Then Debug.Print CDate(Days), Hijri1, Hijri2 End If Next Days Next Hyy Debug.Print "Done" End Sub Function Hijri2Greg(yy As Integer, mm As Integer, dd As Integer) As Long Dim DefCal As VbCalendar DefCal = Calendar Calendar = vbCalHijri Hijri2Greg = DateSerial(yy, mm, dd) Calendar = DefCal End Function Function Greg2Hijri(DtSerial As Long) As String Dim DefCal As VbCalendar DefCal = Calendar Calendar = vbCalHijri Greg2Hijri = Format(DtSerial, "yyyy/mm/dd") Calendar = DefCal End Function رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان