کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

تبدیل شمسی به میلادی

فرمول :  در نظر داشتن عدد ثابت ۲۲۶۸۹۶ 

۱-بدست آوردن  تعداد روزهای سپری شده از ۱/۱/۱ تا  تاریخ شمسی موردنظر   فرضا به نام  ShamsiDiff  : 

سال شمسی منهای یک در ۳۶۵ باضافه ی  تعداد روزهای سپری شده از اول هر تاریخ  باضافه ی تعداد سال های کبیسه از سال یک تا آن تاریخ شمسی ... سپس دو عدد حاصله را از هم کم کرده و منهای یک می کنیم 

۲- اضافه کردن اختلاف دو تاریخ شمسی  به عدد ثابت منهای عدد ۱۵۰ (تعداد سال های کبیسه تا سال ۶۲۲ میلادی ) 

۳-تقسیم عدد شماره ی ۳ بر ۳۶۵   فرضا    Y=Ret\365

۴-کم کردن  عدد ( سال شمسی منهای یک در ۳۶۵  منهای تعداد کبیسه ی میلادی بدست آمده از شماره ی ۳  منهای ۱۵۰) از  عدد شماره ی ۲ 

۵-عدد بدست آمده را از تعداد روزهای میلادی آنقدر کم می کنیم تا ان عدد کوچکتر مساوی جمع روزهای میلادی گردد .

۶-اگر ما بزرگتر از ۱۲ شد ماه یک میشود و سال میلادی یکی به آن اضافه می گردد

مثال ها : 

("GetMiladi1("1379/1/1

معادل     ۲۰۰۰/۳/۲۰

("GetMiladi1("۱۳۷۸/۱۰/۱۰

معادل     ۱۹۹۹/۱۲/۳۱

("GetMiladi1("۱۳۷۸/۱۰/۱۱

معادل    ۲۰۰۰/۱/۱

("GetMiladi1("۱۳۷۸/۶/۲۰

معادل      ۱۹۷۸/۹/۱۱

("GetMiladi1("۱۲۹۸/۱۰/۹

معادل     ۱۹۱۹/۱۲/۳۱


فرضا تبدیل ۱۲۹۸/۱۰/۹  :  نهم دیماه ۱۲۹۸

اختلاف ۱/۱/۱ تا ۱۲۹۸/۱۰/۹ میشود ۴۷۴۰۰۳ که می توانید صحت آنرا با DateDiff تابع خود اکسس امتحان کنید 

("DateDiff("n","۳/۲۲/۶۲۲","۱۲/۳۱/۱۹۱۹

قابل توجه : ۳/۲۲/۶۲۲ معادل جمعه اول فروردین یک است 

فرمول : 

                                                معادله ی اول 

۳۶۵=(۴۶۴+۱۵۰)-(۳۶۵×۱۹۱۸)-(۴۷۴۰۰۳+۲۲۶۸۹۶-۱۵۰)


۱-عدد ۴۷۴۰۰۳  تعداد روزهای سپری شده از۱/۱/۱ تا تاریخ ۱۲۹۸/۱۰/۹ است یا اختلاف دو تاریخ ۱/۱/۱ و تاریخ شمسی که میخواهیم به میلادی تبدیل کنیم.

۲-عدد ۲۲۶۸۹۶ تعداد روزهای سپری شده تا ۳/۲۲/۶۲۲ است و ثابت 

۴-عدد ۱۵۰ تعداد کبیسه های تا سال ۶۲۲ است و ثابت 

۵-عدد ۱۹۱۸ از تقسیم معادله ی اول بر ۳۶۵ حاصل شده که عدد صحیح آن باید گرفته شود و منهای یک شود .

۶-عدد ۴۶۴ تعداد کبیسه های تا سال ۱۹۱۷ است و متغیر

۷-عدد ۴۶۴-۱۵۰ همان تعداد کبیسه های  تا سال  ۱۲۹۷ است 

✔عدد حاصله  از معادله ی بالا ۳۶۵ است

✔ سال بدست آمده از تقسیم معادله ی اول بر ۳۶۵ هم ۱۹۱۹ خواهد بود.

باید  عدد ۳۶۵ را در لوپ ماه اول تا ماه آخر میلادی قراردهیم تا جائی که عددهای کسرشده کوچکتر مساوی عدد ماه لوپی شود در اینجا وقتی لوپ زده میشود و عدد روزهای ماه میلادی به ترتیب از یک تا ۱۲ از ۳۶۵ کسر میشود عددی لوپ میدهد تعداد روزهای ماه دسامبر است یعنی ۳۱ و ماه هم میشود ۱۲ 

✔بنابراین  سال ۱۹۱۹  ماه ۱۲ و روز ۳۱ خواهد بود 

ℹℹℹاگر عدد ۳۶۶ شود در ماژول باید بنویسیم یک عدد به سال اضافه شود و ماه هم یک شو د  مهم است  ) 


معادله : 


حتما چک کنید تعداد کبیسه ها تا قبل از سال موردنظر درست باشد وگرنه اختلاف یک یا دو روز حتمی است .



نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد