مهندسی آچار فرانسه!

دیگر توضیح ندارد!

مهندسی آچار فرانسه!

دیگر توضیح ندارد!

تبدیل متفاوت تاریخ میلادی به شمسی در آفیس

سلام

جهت حمایت از این وبلاگ، وبسایت شهید رسول را تبلیغ و اطلاع رسانی کنید:

shahidrasul.ir


نکته) در صورتی که در استفاده از دستورات دچار مشکل شدید، بخش نظرات و این دو پست را نیز مشاهد کند:

http://kmisagh.blogsky.com/1388/06/08/post-22/

http://kmisagh.blogsky.com/1388/09/06/post-25/


شاید شما هم به این مشکل زیاد برخورد کردید، که تاریخ میلادی رو بخواهید به تاریخ شمسی تبدیل کنید. احتمالا در وب جستجو کردید، و معمولاً یک سری ماژول پیدا کردید، که مجبور بودید هر بار برای استفاده اون رو فراخوانی کنید. در این روش بدون استفاده از ماژول ها و تنها با استفاده از قابلیت های ساده ی آفیس در اکسل و اکسس می توانید تاریخ شمسی خود را ملاحظه کنید.

( فایل اکسل 2007 رو از اینجا می تونید دانلود کنید، حجم: 10 کیلوبایت فرمت: zip در صورتی که اکانت جی میل ندارید از اینجا دانلود کنید. پسورد: kmisagh.blogsky.com. استفاده با درج منبع بلامانع است.)

برای این منظور دانستن این نکته مهم است که آفیس روز 1900/01/01 را به عنوان عدد یک در نظر می گیرد و با اضافه کردن هر واحد، یک روز به عدد بالا اضافه می کند. در این تابع، با استفاده از همین قاعده، روز معادل تاریخ بالا به شمسی را به عنوان مبداء در نظر گرفته و ادامه ی روزها را از روی آن ایجاد می کنیم.

اکسل:

کد یافتن سال به شمسی:

INT((TODAY()-7385)/365.25)+1299

کد یافتن ماه:

MOD(IF(INT(MOD((TODAY()-7385)*100;36525)/100)<186;INT(INT(MOD((TODAY()-7385)*100;36525)/100)/31);IF(MOD(INT((TODAY()-7385)/365.25);4)=0;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-186)/30)+6;IF(INT(MOD((TODAY()-7385)*100;36525)/100)<336;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-186)/30)+6;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-336)/29)+11)));12)+1

کد یافتن روز:

IF(INT(MOD((TODAY()-7385)*100;36525)/100)<186;MOD(INT(MOD((TODAY()-7385)*100;36525)/100);31)+1;IF(MOD(INT((TODAY()-7385)/365.25);4)=0;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-186;30)+1;IF(INT(MOD((TODAY()-7385)*100;36525)/100)<336;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-186;30)+1;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-336;29)+1)))

می توانید هر یک از این کدها را در یک سلول کپی کنید و سپس با دستور CONCATENATE این ها را به هم متصل کنید، تا تاریخ مورد نظر را به دست آورید. همچنین در صورتی که بخواهید تاریخ روزی را که در یک سلول ذخیره کرده اید به شمسی تبدیل کنید، می توانید به جای TODAY() نام سلول مورد نظر را جایگزین کنید.

در کل کپی کردن عبارت زیر در هر سلول از اکسل تاریخ سیستم شما را به شمسی برمی گرداند.

=CONCATENATE(INT((TODAY()-7385)/365.25)+1299;"/";MOD(IF(INT(MOD((TODAY()-7385)*100;36525)/100)<186;INT(INT(MOD((TODAY()-7385)*100;36525)/100)/31);IF(MOD(INT((TODAY()-7385)/365.25);4)=0;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-186)/30)+6;IF(INT(MOD((TODAY()-7385)*100;36525)/100)<336;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-186)/30)+6;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-336)/29)+11)));12)+1;"/";IF(INT(MOD((TODAY()-7385)*100;36525)/100)<186;MOD(INT(MOD((TODAY()-7385)*100;36525)/100);31)+1;IF(MOD(INT((TODAY()-7385)/365.25);4)=0;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-186;30)+1;IF(INT(MOD((TODAY()-7385)*100;36525)/100)<336;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-186;30)+1;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-336;29)+1))))



در اکسس تنها با تغییر نوع باقیمانده گیری می توانید از همین کد استفاده کنید.

برای یافتن سال:

=Right(Str(Int((Date()-7385)/365.25)+1299);4)

برای یافتن ماه:

=IIf(((IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;Int(Int((((Date()-7385)*100) Mod (36525))/100)/31);IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;IIf(Int((((Date()-7385)*100) Mod (36525))/10

برای یافتن روز:

=IIf(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1)))<10;"0" & Right(Str(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1))));1);Right(Str(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1))));2))


بهتر است که در کل برنامه از تاریخ میلادی استفاده کنید و در جایی که نیاز به خروجی برای کاربر وجود دارد از کدهای بالا استفاده نمایید.

ومن الله التوفیق

نظرات 44 + ارسال نظر

با تشکر از روش زیبای ارائه شده برای تاریخ زیر اشتباه جواب می دهد:
10/11/1972
جواب 20 مهر است درحالی که این روز 19 مهر است

سلام
چک کردم و پاسخ صحیح بود، شما 20 مهر 1351

علی توضیح 22 مهر 1387 ساعت 10:05 http://EXCEL.BLOGFA.COM

خیلی عالی بود
اگر اجازه دهید نشانی وبلاگ شما را به وبلاگ خودم متصل کردم
موفق باشید

سلام
شما که قبل اط این که ماچیزی بگیم، گذاشتی رو بلاگت!
ولی اختیار دارید، اجازه ی ماهم دست شماست!

تورج 16 آذر 1387 ساعت 19:48

اقا خوب بود

حسین 6 بهمن 1387 ساعت 17:46

با سلام اقا خیلی چاکریم
تو اکسل من تبدیل سالش جواب می ده ولی ماه و روز ارور می ده می گه اینجاش اشتباه است
(TODAY()-7385)*100;36525
اقا ممنون می شم اگه کمکم کنی

سلام
اگه اکسل 2007 داشته باشی مشکلی نخواهد داشت. اما در اکسل 2003، ممکنه به مشکل بر خورده باشی. برای حل مشکل بخش های مختلف کد (روز، ماه، سال) رو به صورت مجزا در یک سلول اضافه کن و بعدش با دستور CONCATENATE بخش های مختلف رو به هم اتصال بده.

محمدحسین 27 بهمن 1387 ساعت 11:13

سلام
1. این کد یافتن روز توی اکسل من کپی نمیشه میگه خیلی طولانیه
2. کد یافتن ماه رو هم اشتباه میده
2. چطور میشه در یکی از خانه های اکسل تعریف کرد که تعداد
سطرهای پر ویزیبل (غیر پنهان) را (که معمولا حاصل از فیلتر کردن سطرهاست) نشون بده.
ممنونم

سیامک 6 اسفند 1387 ساعت 16:02

کار ما را که راه انداخت. خیلی ممنون

محسن 26 اسفند 1387 ساعت 15:24 http://wwww.asirkavir2.blogsky.com

سلام
خیلی عالی بود باور کنید خیلی کد های که داده بودید به درد من خورد.
فقط یه مشکلی دارم موقعی که کد یافتن ماه را در قسمت contoro source فیلد ماه فرم اکسس وارد می کنم هیچ اتفاقی نمی افتد.در صورتی که کد سال و روز را قبول کرده و جواب درستی هم برمی گرداند لطفا مرا راهنمایی کنید.
من مایل به اضافه کردن آدرس وبلاگ شما به وبلاگ خودم هستم.آیا می توانم آدرس شما را add کنم.
منتظر دریافت شما
پیشاپیش نوروز 88 را تبریک می گویم.

مرتضی 12 فروردین 1388 ساعت 23:59

سلام
توی اکسس کد سال و روز رو قبول میکنه
ولی هر کاری میکنم کد ماه رو قبول نکرد
اکسس من ۲۰۰۳ هستش

سلام
با عرض شرمندگی، مدت هاست فرصت نمی کنم به وبلاگم سر بزنم.
علت این است که در اکسس 2003 تعداد کاراکترهایی که در یک Textbox قرار می گیره کمه، از این رو کل کد قرار نمی گیره و اون پیغام رو می ده.
ساده ترین راه حل استفاده از اکسس 2007 است،
راه حل دیگه قسمت کردن کد است. یعنی شما کل کد رو بررسی کنی و به ازای برخی از یک textbox جدید استفاده کنی. البته این کار نیاز داره که یه دور کد رو بررسی کنی، اگه خودم فرصت کردم در بلاگ می ذارم.

ضمنا اگر مواردی ویژه پیش می آد بهتره که اون رو ایمیل کنید!
kmisagh@gmail.com

سعید آذری 6 مرداد 1388 ساعت 11:45

بسیار بسیار بسیار بسیار بسیار بسیار ممنونم از وبلاگتان - خیلی استفاده کردم فقط کد های مورد استفاده جهت ماه وسال در اکسس ۲۰۰۳ جواب نمی ده (ظاهرا در خصوص کد ماه بعلت نبستن آخر فرمول ایراد میگیره و در مورد کد سال هم از تعداد زیاد آنها )
با عرض شرمنگی بگویم چه کسی کار انجام داد آنکه کار را به آخر رساند خواهشمندم کد ماه را اصلاح و کد سال را قسمت قسمت بفرمائید تا بهمه ثابت شود که می توان بدون ماژول هم تاریخ را درست کرد

سلام
ثابت که شد، البته در 2007!
ولی در اولین فرصت انشاءالله قطعه قطعه هم کد رو ارائه می کنم.

اکبری 7 مرداد 1388 ساعت 21:29

بنظرم کد ماه در اکسس نیمه کاره است لطفا بررسی فرمائید

کامل کپی یا پیست نمی شود.
احتمالاً

اکبری 8 مرداد 1388 ساعت 09:41

من فکر می کنم شما فرصت نکردید به کدهایی که نوشتید نگاهی مجدد بیندازید در آخرین شرط
IIf(Int((((Date()-7385)*100) Mod (36525))/10
فرمول کامل نشده . اصلا تصور کنید این کدها راخودتان ننوشتید
آنها راداخل یک فایل آزمایش کنید (هم کد ماه هم کد سال)خواهید دید بی خود مزاحم نشده ام
با تشکرفراوان از زحماتی که کشیدید و خواهید کشید

اکبری 8 مرداد 1388 ساعت 21:47

اگر هدفتان کمک بما مبتدیهاست کدها را امتحان کنید جواب درست را روی وبلاگتان قرار دهید

سلام
حالا چرا شاکی می شی برادر؟
اولاً این بلاگ اصلاً برای مبتدی ها نیست، گرچه سعی کردم این ها هم بتونند استفاده بکنند.
ثانیاً کمی رخصت بده، بابا هزارتا درد دیگه هم داریم ها!
ثالثاً از نرم افزار هایی که قرار دادم می تونی کد شمسی رو بگیری
رابعاً این کد دقیقاً خودم ابداع کردم، به خاطر گل روی شما انشاء الله در پستی به الگوریتمش می پردازم
این هم کد هایی که از برنامه ی تنظیم زمان جلسات برداشتم:
کد سال
=Right(Str(Int((Date()-7385)/365.25)+1299);4)
کد ماه
=IIf(((IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;Int(Int((((Date()-7385)*100) Mod (36525))/100)/31);IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;Int((Int((((Date()-7385)*100) Mod (36525))/100)-336)/29)+11)))) Mod (12))+1<10;"0" & Right(Str(((IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;Int(Int((((Date()-7385)*100) Mod (36525))/100)/31);IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;Int((Int((((Date()-7385)*100) Mod (36525))/100)-336)/29)+11)))) Mod (12))+1);1);Right(Str(((IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;Int(Int((((Date()-7385)*100) Mod (36525))/100)/31);IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;Int((Int((((Date()-7385)*100) Mod (36525))/100)-336)/29)+11)))) Mod (12))+1);2))
کد روز:
=IIf(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1)))<10;"0" & Right(Str(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1))));1);Right(Str(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1))));2))

این هم یک کد یکجا:


="امروز " & IIf(Weekday(Date())=7;"شنبه";IIf(Weekday(Date())=1;"یکشنبه";IIf(Weekday(Date())=2;"دوشنبه";IIf(Weekday(Date())=3;"سه شنبه";IIf(Weekday(Date())=4;"چهارشنبه";IIf(Weekday(Date())=5;"پنج شنبه";IIf(Weekday(Date())=6;"جمعه"))))))) & " " & Str(IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;((Int((((Date()-7385)*100) Mod (36525))/100)) Mod (31))+1;IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;IIf(Int((((Date()-7385)*100) Mod (36525))/100)<336;((Int((((Date()-7385)*100) Mod (36525))/100)-186) Mod (30))+1;((Int((((Date()-7385)*100) Mod (36525))/100)-336) Mod (29))+1)))) & "/" & Str(((IIf(Int((((Date()-7385)*100) Mod (36525))/100)<186;Int(Int((((Date()-7385)*100) Mod (36525))/100)/31);IIf(((Int((Date()-7385)/365.25)) Mod (4))=0;Int((Int((((Date()-7385)*100) Mod (36525))/100)-186)/30)+6;IIf(Int((((Date()-7385)*100) Mod (36525))/100)

اکبری 10 مرداد 1388 ساعت 19:53

بینهایت سپاسگزارم
خداوند متعال ترا ارج دهد

اخوان مقدم 24 مرداد 1388 ساعت 13:02

من از کدهایی که در برنامه تنظیم جلسات بود استفاده کردم بسیار عالی بود حال یک سوال برایم مطرح شده اگر لطف کنی راهنمایی بفرمایی ممنونم
در یک فرم از این کدها استفاده کردم حال می خواهم اگر در فرمی رکورد جدیدی وارد نمودم در روز بعد بتوانم با تاریخی که ورود اطلاعات شده تاریخ آن را ببینم بطور مثال هنگام دیدن محتویات رکورد شماره ۱۰۰تاریخ ۲۰/۵/۸۸ ودر مورد رکورد ۱۰۱
تاریخ روز ۲۱/۵/۸۸ را ملاحظه کنم (خلاصه اینکه تاریخ ورود اطلاعات به تاریخ روز تبدیل نشود بلکه تاریخ برای هر رکورد ثابت بماند)

سلام
شرمنده نفهمیدم!
هر رکور اطلاعات خودش رو داره، اگر اطلاعات جدیدی بخوای اضافه کنی بصورت اتومات تاریخ روز می خوره!
شاید سؤالت این باشه: چه طور می شه تاریخ ثبت اطلاعات هم در رکورد ذخیره شود.
پاسخ: یک فیلد به ثبت تاریخ ورود اطلاعات نسبت می دی و در اون از کد تاریخ امروز به عنوان پیش فرض استفاده می کنی و در فرمت اجازه تغییر این فیلد رو نمی دی، بنابر این هر اطلاعاتی که وارد بشه به صورت خودکار تاریخ روزی که اطلاعات وارد شده ثبت می شه.

امیر 4 شهریور 1388 ساعت 18:49

سلام
وبلاگ مفیدی داری-از نبدیل تاریخت خیلی خوشم اومد.کارمو راه انداختی.
حالا خواستم بژرسم آیا به جای دستور lookup دستور دیگه ای هست که همون کارای رو داشته باشه ولی به sort کردن و ترتیب کوچک به بزرگ احتیاج نداشته باشه.
ممنون و متشکر

سلام
به نظر من اساسا دستور lookup دستور بی خودی است! من فقط یک جا با این موضوع برخورد کردم که از این دستور استفاده کنم و اون زمانی بود که می خواستم به ازای نوشتن یه سری کاراکتر، مثلاً اسم یک نفر» کد اون بر گرده، برای درست کردن سرچ. اما در بقیه مواردی که نیاز به این دستور بود، با استفاده از دستورات دیگه، این رو دور می زدم. بسته به مورد راه حل متفاوت باید ارائه کرد.

با تشکر از راه ارائه شده ، بسیار مفید بود

آرمان 1 دی 1388 ساعت 11:59

عالی بود احسنت
ممنون از راهنمایی شما

سیدحسین امجد 24 خرداد 1389 ساعت 14:23

سلام بزرگوار
دستت دردنکنه خیلی باحال بود و خیلی کارساز مخصوصا از کد یکجا که در اکسس اسفاده کردم
می توان برای ثبت تاریخ ورود اطلاعات آیکونی قرار دهیم که در صورتی که کاربر مایل باشد تاریخ را در فیلد مورد نظر وارد کند.
توفیق شما آرزوی ماست.

امجد 25 خرداد 1389 ساعت 14:34

سلام
خسته نباشی - خدا قوت
چطور میشه وقتی که فایل اکسس را اجرا می کنیم فقط همان فرمی که طراحی کردیم باز شود و کلا تمام پنجره ها و خود برنامه اکسس هم باز نشود و صرفا همان فرمی که مثلا به اندازه ۶*۴ سانتی متر می باشد به همان اندازه باز شود
اگه راهی هست خیلی ممنون میشم که پاسخ دهید
خداوند باران رحمت و برکت ماه رجب را به شما ارزانی بدارد.

سلام
در اکسس 2007 می توانید با ورود به Access Options و سپس در تب Current Database این تنظیمات را انجام دهید.
در قسمت Application Title عنوان برنامه را می نویسید. بدین ترتیب در عنوان برنامه ی باز شده به جای نام ماکروسافت اکسس، نام اختصاصی شما نمایش داده می شود.
در قسمت Display form می توانید تعیین کنید کدام یک از فرم های شما در ابتدا باز شود.
در بقیقه ی گزینه ها می توانید امکان دسترسی به جداول و کوئری ها و ... را محدود نمایید.
نکته ی مهم این است که در صورتی که در هنگام بازکردن فایل کلید شیفت را نگه دارید، هیچ یک عمل نمی کند.

برای کمینه کردن صفحه ی خود اکسس هم، بایستی در فرمی که ابتدا باز می شود، در هنگام load یا current یک ماکرو بگذارید که دستور Application minimize رو اجرا کنه.

امجد 2 تیر 1389 ساعت 13:11

سلام دوست عزیز
برای اینکه هنگام اجرای یک فایل اکسس فقط فرم مورد نظر باز شود دستوری که فرمودید «در هنگام Load یا current یک ماکرو بسازیم که Application minimize را اجرا کنه» انجام دادم اما همچنان هم فرم باز می شود و هم زیر آن برنامه اکسس باز می شود. من می خواستم فقط فرم اکسس باز شود اما چنین نشد.
البته من به این نحو عمل کردم که در قسمت on current ماکرویی ساختم که در قسمت Action گزینه RunCommand را انتخاب کردم و در قسمت Command آن گزینه DocMinimize را انتخاب کردم.
لطفا اگر اشتباه است راهنمایی بفرمایید.
موفق و پایدار باشید.

سلام
باید در تب other فرم هم دو گزینه رو فعال کنید.
http://sites.google.com/site/kmisagh/kmisagh-blogsky-com/sampel.accdb?attredirects=0&d=1

این رو ببین!

امجد 6 تیر 1389 ساعت 11:46

دوست عزیز
خسته نباشید خدا قوت
دست شما درد نکنه مشکل حل شد
از وبلاگ مفید شما که بی منت اطلاعات فنی خود را در اختیار همه قرار می دهید بی نهایت سپاسگزارم
موفقیت همیشگی شمارا از خدا آرزو می کنم

خواهش می کنم
سلامت باشید و موفق

آقا لوتی 22 مرداد 1389 ساعت 23:14

آقا این کد ها غلط و خطرناکند. استفاده نشود. یک دلیل ساده . شما هر چهار سال رو کبیسه گرفته اید در کدتون که این غلطه. اخه عمو جون سال کبیسه 5 ساله هم داریم.

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

حسن 7 مهر 1389 ساعت 14:10

آقا عالی بود استفاده کردیم

روح الله 10 مهر 1389 ساعت 17:47

با سلام خدمت برادر عزیز
اگر امکان دارد و شما وقت دارید لطفا برای تبدیل تاریخ میلادی به شمسی و اینکه باید کدها را دقیقا کجا وارد نمود برای ما مبتدی ها توضیح بفرمایید
با تشکر فراوان

سلام
این کدها رو توی اکسل یا اکسس می تونید استفاده کنید. البته فایل های وبلاگ رو اگه دانلود کنید توش این کد ها به کار رفته.

همون طور که می دونید اکسل با زدن مساوی در هر سلول قابلیت کدنویسی می دهد. بدین ترتیب، کافی است این کد را در سلول مورد نظر وارد کنید.

در اکسس هم اگر هر جایی که امکان built وجود دارد، شما می توانید این کد را قرار دهید.

روح الله 11 مهر 1389 ساعت 15:49

سلام
من اقدام به قراردادن این کدها در built نمودم ولی متاسفانه نتیجه نگرفتم اگه امکان داره یک نمونه از آنرا برای دانلود قرار دهید متشکر می شوم.

سلام
http://kmisagh.blogsky.com/1387/11/16/post-14/
در هنگام باز کردن فایل شیفت را نگه دارید تا وارد سورس کد شوید.

سهند 15 آذر 1389 ساعت 08:54

دستتون درد نکنه واقعا عالی بود یک دنیا ممنون که با این کد حسابی به دادم رسیدید

قابلی نداشت.

صادق 16 آذر 1389 ساعت 18:43

سلام

بسیار مفید فایده بود.

ممنون

سلام
موفق باشید.

امجد 27 آذر 1389 ساعت 09:54

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

سلام
به شدت توصیه می کنم برنامه تون رو به نحوی تغییر بدید که از فرمت تکست (text) برای کد ملی استفاده کنید و خودتون رو درگیر این بازی ای که الآن توضیح می دم نکنید (تجربه ام ثابت کرده مشکلات زیادی ایجاد می کند).

چند روش وجود دارد که ساده ترینش به نظرم اینه:
چون ما در حالت نمایش می خواهیم صفر دیده شود، ابتدا عدد را بر 10,000,000,000 تقسیم می کنیم و سپس دستور از دستور Right استفاده می کنیم (با 10 کاراکتر). بدین ترتیب در نمایش عدد را با صفر پشت آن مشاهده خواهیم کرد ( به عنوان مثال عدد ما 83344567 است که 00 ابتدای آن دیده نمی شود، عدد تقسیم شده می شود 0.0083344567 و دستور Right (txt,10) نتیجه ی مطلوب را حاصل می کند.

محمد طالبی 2 اسفند 1389 ساعت 06:14 http://iemt.mihanblog.com

سلام
وبلاگ قبلی من رو هکیدند.
آدرس وبلاگ من رو تصحیح کن برادر!
یا علی

سلام
اصلاح شد
علی یارت

حسین اکبری 3 اردیبهشت 1390 ساعت 11:56

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

شاکریم

محمدرضا عرفانی 27 مرداد 1390 ساعت 17:43

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

موفق باشید.

نوید 1 شهریور 1390 ساعت 00:43 http://www.navidnikkhah.blogfa.com

با عرض سلام و خسته نباشید من میخوام تو اکسل 2007 تاریخ شمسی و عدد ها رو فارسی بنویسم هر کاری میکنم نمیشه لطفا راهنمایی کنید
با تشکر

سلام
1) از کی برد استاندارد فارسی استفاده کنید
2) از فونت های B استفاده کنید

[ بدون نام ] 9 شهریور 1390 ساعت 11:38

آقا واقعا دمت گرم

خیلی بدردم خورد

ممنون

موفق.

کهتری 9 مهر 1390 ساعت 11:17 http://akehtari.blogfa.com

ممنون
مطلب کاربردی خوبی بود
کلی دنبالش بودم
به دوستان هم توصیه کردم
قربانت

موفق.

سلام ببخشید این کد را ت واکسس باید تو سوس بزاریم

سلام
سوس دقیقاً کجاشه؟

هر جا که تگ کدهای اکسس رو بگیره. مثلا یک تکس باکس بسازید و روش مساوری بزنید و این رو بنویسید. یا به قول خودتون در قسمت سورس تکس باکس بنویسید

اسماعیل حاج جعفری 5 آذر 1390 ساعت 12:47

مهندس سلام
با کدهایی که دادی خیلی حال کردم. خیلی باحاله. فقط یه نکته در ارتباط با کدهای مربوط به اکسس بگو و اون اینکه اکسس در حالت معمول تابع باقیمانده رو نمیشناسه و باید حتما تو vb نوشته بشه که فکر می کنم مشکل اکثر دوستانی که نتونستن از این کدها تو اکسس استفاده کنن همین بوده. با اجازه شما من کدها رو کمی تغییر دادم تا بتونم تابع باقیمانده رو حذف بکنم. دوستان به راحتی می تونن این کدها رو در default value خانه مورد نظر کپی کنن و حالش رو ببرن.
یا علی

سلام
خدا خیرت دهاد جوان.
ولی فک کنم اکسس 2007 به بعد داره کد باقیمانده رو.

اسماعیل حاج جعفری 5 آذر 1390 ساعت 12:48

SAL
=Right(Str(Int((Date()-7385)/365.25)+1299),4)

MAH
=(IIf((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))<186,Int((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))/31),IIf((Int((Date()-7385)/365.25)-Int((Int((Date()-7385)/365.25))/4)*4)=0,Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186)/30)+6,IIf((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))<336,Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186)/30)+6,Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-336)/29)+11))))-Int((IIf((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))<186,Int((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))/31),IIf((Int((Date()-7385)/365.25)-Int((Int((Date()-7385)/365.25))/4)*4)=0,Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186)/30)+6,IIf((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))<336,Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186)/30)+6,Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-336)/29)+11))))/12)*12+1

ROOZ
=IIf((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))<186,((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-Int((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))/31)*31)+1,IIf((Int((Date()-7385)/365.25)-Int((Int((Date()-7385)/365.25))/4)*4)=0,((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186-Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186)/30)*30)+1,IIf((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))<336,((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186-Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-186)/30)*30)+1,((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-336-Int(((Int(Date()-7385-Int((Date()-7385)/365.25)*365.25))-336)/29)*29)+1)))

تشکر.

فارمی 13 دی 1390 ساعت 21:24

باسلام
خیلی ممنون از فرمول استادانه و سودمندتان

سلام
خواهش می کنم.

arian 28 فروردین 1391 ساعت 18:34

besyar tashakor mikonam
code haye access besyar ali javab dad va ali boodand,
moteshakeram

نوش جان!
:)

مهدی ایل بیگی گرو 28 اردیبهشت 1391 ساعت 11:41

سلام

بسیار به توان بسیار از شما متشکرم.

بنده مترجم زبان و برنامه نویس هستم .
چندین پروژه انبارداری و حسابداری انجام داده ام اما هرگز به ذهنم خطور نکرده بود که با اکسس کار کنم.
بنده برای حل این مشکل کامپوننت نوشته بودن در حالیکه می شد با این کد مسئله را حل نمود.

کمی از دستم بر بیاد کوتاهی نمی کنم.

سلام
نوکرتم!

سلام 30 اردیبهشت 1391 ساعت 10:18 http://mahda263.blogsky.com

سلام دوست عزیز، اگه امکان داره کد سال، ماه و روز را با یکدیگر ترکیب نمایید که بتوان در یک فیلد از آن استفاده نمود متشکرم.

سلام
http://kmisagh.blogsky.com/1388/09/06/post-25/

حسین 17 خرداد 1391 ساعت 23:16

باسلام
یک فرمول بسیار ساده جهت تبدیل تاریخ وساعت به شمسی:
در تیبل ساعت وتاریخ را Date/Time انتخاب کرده وفرمول Now()-226899+2 = را جلوی Default value تایپ کنید همچنین فرمت را شوت دیت یا شورت تایم تنظیم کرده input Mask هم براساس ساعت ویا تاریخ انتخاب کنید. ضمنا برای ساعت فرمول:Now()+2 = را جلوی Default value تایپ کنید

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

[ بدون نام ] 17 خرداد 1391 ساعت 23:22

Now()-226899+2 =

؟

سید مصطفی 18 فروردین 1392 ساعت 00:03 http://www.sischer.ir

با سلام

افزونه(Add-In) تبدیل تاریخ 4000 ساله جهت استفاده در اکسل طراحی شده است. این افزونه از کتابخانه قدرتمند برنامه معروف تبدیل تاریخ 4000 ساله بهره می گیرد. این افزونه پاسخی به نیاز بسیاری کاربران که در محیط اکسل نیاز به انجام تبدیلات و محاسبات تاریخی دارند، می باشد.
از جمله ویژگیهای مفید این افزونه تبدیل عدد به حروف فارسی می باشد.

لینک دانلود

http://www.kanazspid.ir/Download/DateConvertorAdd_In.zip


سایت شخصی
http://www.sischer.ir


با تشکر

سید مصطفی هاشمی

با سلام
وقتی نرم افزارهایی مثل ادسافت هست که کل تاریخ رو درست می کنه، چه نیازی به این جور ادآن ها هست؟

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