تاریخ شمسی در اکسس ؛ راه حلی جامع برای استفاده از تقویم شمسی در اکسس
امکان ندارد که بخواهی با نرم افزار اکسس سر و کار داشته باشی و از آن استفاده کنی ولی نیاز به استفاده از تاریخ شمسی در اکسس در آن نداشته بشی.
از همان قدیم و ابتدای ورود نرم افزار اکسس و استفاده کاربران ایرانی از آن یکی از چیزهایی که خیلی کاربران ایرانی را اذیت می کرد همین کار با تاریخ در اکسس بود .
البته این مشکل فقط مخصوص کار با نرم افزار اکسس نبود . چون کلا کمتر نرم افزاری را می شد پیدا کرد که بخواهد از تاریخ شمسی به راحتی پشتیبانی کند .
خُب در این بین کاربران فارسی زبان هم بیکار ننشستند و با کلی این در آن در زدن به دنبال راه حل یا راه حلهایی برای این مشکل پیدا کردند .
از اکسس 2003 تا الان که نسخه 2019 آن و احتمالا چند وقت دیگر هم نسخه 2021 آن وارد بازار می شود هنوز هم اکسس بطور کامل از تاریخ شمسی آنطور که باید و شاید پشتیبانی نمی کند.
اکسس برای ذخیره کردن اطلاعات از نوع داده های مختلف استفاده می کند . مثلا متن ها را در قالب داده نوع TExt یا اعداد را در قالب Number ذخیره می کند .
در این بین برای ذخیره کردن تاریخ و زمان هم از داده نوع Date /Time استفاده می شود . این نوع از داده تا وقتی که می خواهیم با تاریخ از نوع میلادی استفاده کنیم هیچ مشکلی ندارد .
این نوع داده حتی تاریخ هجری قمری را هم به خوبی شناسایی می کند ولی برای کار با تاریخ شمسی استفاده از نوع داده می تواند برای ما دردسرهایی را ایجاد کند . .
اما در این مطلب با هم می خواهیم یک بررسی کرده و با روش های مختلفی که برای حل این مشکل وجود دارد آشنا شویم و در آخر هم با بهترین روش های این کار استفاده می کنیم .
اگر با تاریخ شمسی در اکسس سر و کار داری و به دنبال یک راه حل کامل و جامع هستی که برای همیشه بتوانی از ان در اکسس استفاده کنی کافی است که تا انتهای این مطلب با من همراه باشی.
متن به جای تاریخ شمسی در اکسس
اولین و البته دم دست ترین راهکار برای اینکه بتوانی از یک تاریخ در فرمت شمسی استفاده کنی این است که از متن به جای تاریخ در اکسس استفاده کنی
بیا با هم همه چیز را طبق مثال پیش برده و در عمل ببینیم که چطور می توانی از فرمت متن به جای فرمت تاریخ در اکسس استفاده کنی ؟
در تصویر بالا محیط طراحی یک جدول را می توانی ببینی . یکی از فیلدهایی که قرار است در این جدول قرار بگیرد مربوط به سال تولد افراد است .
اما اگر دقت کنی در قسمت مربوط به Data Type نوع داده مورد نظر برای این فیلد از نوع متن یا همان Text انتخاب شده است .
خب این دم دستی ترین راهی است که به کمک ان می شود با مقادیر تاریخ در جدول ها در اکسس کار کرد .
اما استفاده از این روش و در واقع این نوع داده در اکسس برای درج تاریخ شمسی همچین بی دردسر هم نیست . شاید بپرسی چه دردسری ؟
در ادامه با من همراه باش تا بیشتر راجع به آن با هم صحبت کنیم .
Data Type یا نوع داده در اکسس
از داده نوع متن برای ثبت تاریخ استفاده نکنید
یک موقع است که فقط می خواهی برای یک فیلد خاص یک تاریخ را درج کنی و دیگر قرار نیست روی این فیلد هیچ محاسباتی را انجام دهی .
اما اگر در این فیلد تاریخ مربوط به تولد فرد را درج می کنی .
حالا می خواهی به کمک اکسس و یک سری از محاسبات ، بطور خودکار سن حال حاضر فرد را محاسبه کنی.
اینجاست که استفاده از نوع متنی برای درج تاریخ یک رویداد خاص مانع از این می شود که اکسس بتواند محاسبات مربوط به تاریخ را انجام و مثلا سن فرد را برایت محاسبه کند .
اما اکسس چطوری این کار را انجام می دهد . ؟
خب برای این کار اکسس یک سری توابع از پیش تعریف شده دارد که دقیقا مربوط به کار با داده های نوع تاریخ و زمان است .
به کمک این توابع خیلی راحت می توان محاسبات مختلف را انجام داد . مثلا در مورد مثال ما می شود به کمک تابعی به اسم DateDiff تاریخ جاری سیستم را از تاریخ تولد فرد کمک کرده و به این ترتیب سن فرد را محاسبه کرد .
اما نکته ای که وجود دارد این است که این توابع فقط وقتی قابل استفاده و کاربرد هستند که حتما نوع داده مورد نظر ما از نوع Date/Time انتخاب شده باشد .
توابع نوع تبدیل در اکسس
تازه این همه ماجرا نیست .
چون این توابع تا وقتی قابل استفاده و کاربرد هستند که هم نوع داده انتخاب شده از نوع Date/Time باشد و هم تاریخ استفاده شده از نوع میلادی .
چون هیچ کدام از این توابع با فرمت تاریخ شمسی کار نمی کنند .
پس چاره کار چیست ؟ چطور ما می توانیم از فرمت تاریخ شمسی در اکسس استفاده کنیم ؟ تکلیف توابع تاریخ و کار و استفاده از آنها در محیط اکسس به چه نحو است ؟
چاره کار در برنامه نویسی VBA است .
برنامه نویسان و سازندگان نرم افزار اکسس از قبل فکری به حال تاریخ شمسی در اکسس نکرده اند . پس ما خودمان باید فکری به حال خودمان بکنیم . و خودمان دست به کار شویم . اما چه کاری ؟
اینجا باید دو تا کار انجام دهیم .
اول باید کاری را که برنامه نویسان اکسس انجام نداده اند را خودمان برعهده بگیریم . یعنی کاری کنیم که تاریخ شمسی برای اکسس قابل شناسایی باشد . اما چطوری ؟
بعنوان کار دوم باید یک سری از توابعی را بنویسیم که این توابع بتوانند با تاریخ شمسی سرو کار داشته و به راحتی محاسبات مورد نظر ما را انجام دهند .
اما همه این کارها را چطور می شود انجام داد . ؟ جواب در یک کلمه است به کمک ” برنامه نویسی VBA ”
ما باید با استفاده از کدنویسی در زبان وی بی ای تاریخ شمسی را برای اکسس قابل درک کنیم تا به راحتی بتواند این نوع از تاریخ را هم در کنار تاریخ میلادی شناسایی کند .
اما اینجا یک اشکال دیگر هم پیدا می شود و آن هم این است که حتما به خودت می گویی که ” من که اصلا برنامه نویسی بلد نیستم . پس چه جوری می توانم این کار را انجام بدهم . ؟
اما خبر خوب این است که برای اینکه بتوانی از تاریخ شمسی در اکسس استفاده کنی اصلا نیازی به این نداری که بخواهی خودت برنامه نویسی کنی .
این درست مثل این است که همه ما به چرخ احتیاج داریم ولی هیچ وقت به دنبال اختراع چرخ و چگونگی ساخت آن نمی رویم . چرا ؟
چون چیزی به اسم چرخ هزاران سال پیش اختراع شده و ما همه داریم از آن استفاده می کنیم .
در مورد کار با تاریخ شمسی در اکسس هم قضیه دقیقا به همین منوال است . یعنی چه ؟
یعنی اینکه از قبل یک سری از برنامه نویسان کدها و برنامه هایی را درست کرده اند که به کمک آنها می توانی خیلی راحت با تاریخ شمسی در اکسس کار کنی .
تنها کاری که باید انجام دهی این است که اول این کدها را به نحوی بدست آورده و در مرحله بعد یاد بگیری که چطور می شود از این کدهای از قبل نوشته شده استفاده کرد .
اما این کدها چی هستند و چه جوری میشه از آنها استفاده کرد ؟
این کدها را در چند حالت می توان استفاده کرد که با هم این روش ها را بررسی می کنیم .
استفاده از Addin's در کار با تاریخ شمسی
یکی از ساده ترین راههایی که به کمک آن می شود با تاریخ شمسی در اکسس کار کرد استفاده از یک addin’s است .
اما منظور از addin’s چی هست ؟
addin’s یک اصطلاحی است که در کار با نرم افزار های آفیس خیلی با آن برخورد می کنید .
اما منظور از addin’s چیست ؟
وقتی که صحبت از addin’s می کنیم منظور یک سری از برنامه های کاربردی هستند که در قالب یک ابزارک یا افزونه به نرم افزار میزبان متصل می شوند .
این افزونه ها می توانند یک قابلیتی را که بطور پیش فرض در برنامه میزبان وجود ندارند را به محیط آن نرم افزار اضافه می کنند .
مثلا در مورد همین کار با تاریخ شمسی در نرم افزار اکسس .
همانطور که می دانی نرم افزار اکسس بطور پیشفرض از تاریخ شمسی هیچ گونه پشتیبانی نمی کند .
حالا در این بین اگر ما یک افزونه ای داشته باشیم یا در اصطلاح یک addin’s داشته باشیم که به محیط اکسس اضافه شود خواهیم توانست با تاریخ شمسی به راحتی کار کنیم .
البته قرار نیست هر افزونه ای برای این کار مناسب باشد بلکه منظور افزونه ای است برای این کار برنامه نویسی شده باشد ولی استفاده از آن نیازی به برنامه نویسی و کد نویسی نباید داشته باشد .
در مدت چند سالی که با نرم افزار اکسس کار می کنم معدود addin’s هایی وجود داشتند که به کمک آنها می شد تاریخ شمسی را به محیط اکسس اضافه کرد .
بعضی از این addin’s اصلا دیگر وجود ندارند ولی آخرین addin’s که خیلی زیاد از آن استفاده می کشد افزونه ای بود به اسم “پرنیان ” که می شد به کمک آن به راحتی با تاریخ شمسی در اکسس کار کرد .
کار با این افزونه خیلی ساده بود که این خودش از مهمترین مزیتهای آن به شما می رفت .
در کنار این سادگی کار با این افزونه مزیت دیگری که داشت این بود که این افزونه را می شد به رایگان تهیه و از آن استفاده کرد .
اما در کنار این دو مزیت که اتفاقا مزیت های کمی هم نبودند یک سری ایراد و اشکال در کار با این افزونه وجود داشت .
اول اینکه این افزونه با همه ورژن های آفیس همخوانی نداشت . مثلا با آفیس 32 بیتی به راحتی کار می کرد ولی با ورژن های 64 بیتی سازگاری کاملی نداشت .
دوم اینکه این افزونه چون رایگان بود به همین خاطر هیچ تعهدی نسبت به بروز رسانی و اشکال زدایی و یا ارائه نسخه های بروز تر آن از طرف ارائه دهنده آن وجود نداشت .
به همین خاطر با نسخه های جدید تر آفیس، مثل آفیس 2016 یا 2019 به خوبی کار نمی کرد .
اما در کنار همه اینها یک ایراد دیگر هم در کار بود که دست ما را در کار و استفاده از این افزونه کمی می بست .
آن ایراد هم این بود که ما این افزونه را روی کامپیوتر خودمان نصب می کردیم و با استفاده از اکسس خود خیلی راحت با تاریخ شمسی کار می کردیم .
اما وقتی فایل اکسس خود را از یک کامپیوتر به کامپیوتر دیگری منتقل می کردیم همه چیز به هم می ریخت .چرا ؟
چون در کامپیوتر مقصد ما خبری از این افزونه نبود و قاعدتا اکسس دیگر قادر به شناسایی و کار با تاریخ شمسی در کامپیوتر مقصد نبود و این مایه دردسر میشد .
این شد که عطای ان را هم به لقایش بخشیدیم و به سراغ روش های دیگری رفتیم .
استفاده از ماژول های شمسی راهکاری مطمئن و دائمی
هبه غیر از این افزونه ها چند تا راهکار دیگر هم برای کار با تاریخ شمسی وجود داشت اما مشکلات هر کدام از آنها کمتر از نقاط مثبت آنها نبود .
این بود که در جستجوی رسیدن به یک راهکار دائم و البته با کمترین مشکل رسیدیم به برنامه نویسی وی بی ای در محیط اکسس .
اما قرار است برنامه نویسی وی بی ای چه کاری را برای ما انجام دهد .
ما با استفاده از برنامه نویسی و کدهای وی بی ای به نحوی تاریخ شمسی را برای اکسس شبیه سازی می کنیم و در واقع کاری می کنیم که این تاریخ برای اکسس قابل شناسایی و درک باشد .
البته که این کار شناساندن تاریخ شمسی برای اکسس نه کار آسانی است و نه اینکه کاملا شدنی است .
اما به کمک برنامه نویسی وی بی ای کاری می کنیم که تا حد زیادی مشکلات ناشی از کار با تاریخ شمسی در اکسس را برطرف کنیم .
اما باز هم این همه ماجرا نیست . چون حتی اگر تاریخ شمسی را برای اکسس به نحوی قابل شناسایی کنیم باز هم توابعی که در اکسس برای کار با داده نوع تاریخ وجود دارند قادر به شناسایی و کار با تاریخ شمسی نیستند و در واقع از طریق این توابع ما نمی توانیم محاسبات مربوط به تاریخ شمسی را انجام دهیم .
پس در کنار همه اینها باید یک سری تابع هم برای خودمان ایجاد کنیم که قادر به شناسایی تاریخ شمسی بوده و بتوانند محاسبات را بر مبنای این تاریخ برای ما انجام دهند .
برای اینکه همه این کارها را انجام دهیم احتیاج به این است که از برنامه نویسی وی بی ای و کدهای مربوط به آن استفاده کنیم .
اما در این بین یک مشکل وجود دارد .
آن هم این است که استفاده از این کدها و نوشتن آنها از عهده هر کسی بر نمی آید و اگر هم بر بیاید نوشتن آنها وقت زیادی از فرد خواهد گرفت .
خوشبختانه تا به حال سایت های مختلفی کارهای زیادی در زمینه کد نویسی اکسس در زمینه استفاده از تاریخ شمسی در داخل آن انجام داده اند .
کافی است که یک جستجوی کوچک انجام دهید تا با انواع و اقسام پیشنهاداتی که گوگل برایتان نمایش می دهد روبرو شوید .
از آنجا که استفاده از تاریخ شمسی در اکسس یکی از نیاز های صد در صد ضروری هر کاربر ایرانی می باشد سایت سافت پلاس هم اقدام به تهیه یک پکیچ مخصوص کار با تاریخ شمسی در اکسس کرده است .
در این بسته امکانات زیادی در زمینه کار با تاریخ شمسی در اکسس قرار داده شده است که برای آشنایی با این امکانات می توانید با کلیک کردن بر روی تصویر بالا به صفحه مربوط به این بسته وارد شده و توضیحات کامل در خصوص امکانات و قابلیت های موجود در آن را مطالعه نمایید .
در اینجا مطلب مربوط به کار با تاریخ شمسی در اکسس را به پایان می برم .
اگر سوالی در زمینه این مطلب دارید در بخش نظرات مطرح کنید تا پاسخ داده شود .
مطالب زیر را حتما مطالعه کنید
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
باز کردن گزارش اکسس برای یک رکورد مشخص + نمونه فایل
15 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام عالی بود مثل همیشه
سلام ممنون از شما
اینکه همش صحبت از مشکل در کار با تاریخ شمسی بود پس راه حل چی میشه
این مطلب در دست تکمیل است و به زودی کامل خواهد شد . ولی برای کار با تاریخ شمسی می توانید از طریق لینک زیر محصول مربوطه را تهیه کنید .
https://softpluse.ir/product/%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8%da%af%d8%b1-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%b4%d9%85%d8%b3%db%8c-%d8%af%d8%b1-%d8%a7%da%a9%d8%b3%d8%b3/
سلام ممنون از سایت خوبتون من مدتهاست که مطالب سایت رو دنبال می کنم واقعا مطالب خیلی کاربردی و مفیدی دارین راجع به این محصول هم که معرکه است چند روزه که اون رو تهیه کردم واقعا عالیه بخصوص اینکه همه مراحل رو بصورت تک به تک آموزش میدید باز هم ممنون
سلام
اگر می خواهید راه کاری نشان بدهید خواهشا اصل مطلب و توضیح بدهید نه اینکه حاشیه نویسی کنید !!!
سلام
توی این مطلب همه راههایی که می شود با استفاده از آنها کار با تاریخ شمسی را انجام داد بیان شده است همه این روش ها چیزهایی است که کاربران دارند از آنها استفاده می کنند . بعضی از این روش ها و استفاده از آنها بطور کلی غیر اصولی و اشتباه است بعضی ها کارایی نسبی دارند اما مشکلات خاص خودشان را هم دارند در انتهای مطلب هم عنوان شده که بهترین و کاراترین روش تا به امروز استفاده از برنامه نویسی و کدهای VBA است این همه اصل ماجرا است
سلام
فایل تقویم شمسی را دانلود کردم ولی وقتی در اکسس فرم را باز می کنم یا بخواهم در فرم های دیگر ازشون استفاده کنم برنامه هنگ می کنه و باید خارج شوم لطفا راهنمایی کنید
سلام هیچ پیغام خطایی صادر نمیشه ؟ به ۳۲ بیت و ۶۴ بیت بودن توجه کردید ؟
لطفا راهنمایی کنید فایلی که به من فروخیتن هیچ کاربردی نداره چون به محض باز کردن برنامه هنگ می کنه کاری نمی تونم انجام بدم
سلام قبلا پاسخ سوالتون رو عرض کردم باید اول مشخص کنید اکسس شما چه نسخه ای هست ۲۰۱۰ یا ۲۰۱۳ یا … ۳۲ بیتی است یا ۶۴ بیتی است؟
سلام
ویندوز ۶۴ بیتی و ۷
اکسس ۲۰۱۰
هیچ پیامی صادر نمی شه فقط با کلیک روی تقویم هنگ می کنه
بررسی می کنم و بهتون اطلاع میدم
سلام. در صفحه این محصول نوشتین که فروشش متوقف شده . میشه بفرمایید امیدی هست که به زودی برای عرضه دوباره ارایه اش بدین؟
به زودی با یک سری تغییرات این محصول مجدد در دسترس قرار خواهد گرفت .