تعیین تاریخ میلادی و معادل شمسی آن بعنوان مبنا فرضا اگر ۱۲۰۰/۱/۱ معادل ۳/۲۱/۱۸۲۱ باشد ( چهارشنبه روز ۵ ام هفته )
یک NumDay تعریف میکنیم قبل از شروع توابع
ابتدا باید اختلاف تاریخ میلادی گرفته شده با مبنا که ۲۱ مارس ۱۸۲۱ اعلام شده را بگیرید که در اکسس با DateDiff امکان پذیر است و آرگومان اولش n میشود
مرحله بعد ایجاد تابع AddDay که تعداد n بدست ِآمده را با تاریخ شمسی مبنا جمع کند و وقتی به n رسید تابع به پایان رسیده و عبارت تاریخ را برگرداند
نحوه ی عملکر تابع AddDay :
(Function(Dt,n
۱-اظهار متغیر Counter ,Y,M
2-جدا کردن سال و ماه و روز و گذاشتن به ترتیب در متغیرهای Y و M و D
3-یک روز یک روز به متغیر D اظهار شده که روز عبارت Dt را در خودش قرار میدهد اضافه میکند اگر D بزرگتر از روزهای M ( تعداد روزهای M باید در تابعی گرفته شود و کبیسه هم در نظر گرفته شود ) که متغیر ماه عبارت Dt هست شد دوباره D صفر میشود و یکی به M اضافه میگردد
4-اگر متغیر M از ۱۲ عبور کرد یک عدد به متغیر Y که سال عبارت Dt را در خود نگه میدارد اضافه خواهیم کرد
5-اگر NumDay بزرگتر از ۷ شد NumDay ( شماره ی روز بدست آمده ) برابر صفر شود
5-یک عدد به Conuter اضافه می کنیم
تابع Dif هم که اختلاف بین دو تاریخ را نشان میدهد اگر بخواهیم ایجاد کنیم روشش بدینگونه خواهد بود .
۱-که لوپ زده میشود بین StartDate و EndDate یعنی یکی به روز StartDate اضافه میکند دقیقا مثل تابع بالا و اگر روز از روز ماه بالاترشد صفر میشود و به ماه یکی اضافه میگردد و همچنان ماه اگر بزرگتر از ۱۲ شد ۱ شده و یک واحد به سال اضافه میگردد تا جایی پیش میرود که Start Date و EndDate برابر شوند . برای شمارش هم از Counter استفاده میشود.
درباره این سایت