PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : محاسبه روزهای دوره جاری و آتی بین دو تاریخ



yasertati3602
2014/10/04, 15:36
سلام به همه دوستان عزیز
من یه فرم دارم که توش یه تاریخ قرارداد دارم و یک تاریخ سررسید، تاریخ قرارداد به صورت دستی وارد میشه و تاریخ سررسید به صورت خودکار محاسبه میشه و نحوه محاسبشم به این شکله که تاریخ قراردادم مثلا 1393/07/05 وارد میشه و مدت قرارداد رو (که به ماه هست) میزنم 10 بنابراین تاریخ سررسیدم رو میگه که 1394/05/05 هست بعد توی یه تکست باکس اختلاف تاریخ سررسید و تاریخ قرارداد به روز آورده میشه تا اینجا مشکلی وجود نداره
اما محاسبات من به این شکله که میخوام تعداد روزها رو به دو قسمت مدت به روز - دوره جاری و مدت به روز دوره آتی تقسیم کنم
من دوره مالیم منتهی به 31 شهریوره حالا اگر تاریخ سررسیدم بعد 31 شهریور بشه میخوام روزهایی که برای دوره آتی هست محاسبه بشه
مثلا تاریخ قرارداد بوده 1393/04/01 مدت قراردادم 6 ماه بوده سررسیدم میشه 1393/10/01 که 61 روزش مربوط به دوره جاریه و 91روزش مربوط به دوره آتی میشه
اگر مدت قرارداد 2 ماه باشه سررسید میشه 1393/06/01 و روزای دوره جاری میشه 62 روز و دوره آتی هم صفره
اگر تاریخ قرارداد 1393/07/05 باشه و قرارداد م 10 ماهه باشه سررسید میشه 1394/05/05 و تمام روزا مربوط به دوره جاریه و دوره آتی صفره
گر تاریخ قرارداد 1393/07/05 باشه و قرارداد 14 ماهه باشه سررسید میشه 1393/09/05 و روزای دوره جاری میشه 360 روز و روزای دوره آتی میشه 65 روز
اما من هر کاری میکنم نمیتونم یه کدی بنویسم که درست و حسابی حالتهای مختلف رو حساب کنه یکی دوتا از حالت هام درست حساب میشن و بقیه غلط حساب میشن
لطفا راهنمایی بکنید چه کدی بنویسم

mokaram
2014/10/04, 15:55
شما با استفاده از توابع شمسی ( تابع J_Diff و J_Add) می تونید به خواستتون برسید

محاسبات ساده ای باید انجام بدید اگه با این توابع کار کرده باشید کار سختی نیست یه مطالعه کوچیک رو این توابع انجام بدید مطمئنا می تونید حلش کنید

yasertati3602
2014/10/04, 19:53
سلام
فکر کنم من خوب توضیح ندادم اون چیزایی که شما گفتید رو من انجام دادم
منتها من مشکلم تو محاسبه مدت به روز(جاری) و مدت به روز (آتی ) هست , محاسبات درست کار نمیکنه حالتهای زیر رو امتحان کنید
ت قرارداد 1393/07/10 مدت قرارداد 10 ماه نتیجه تاریخ سررسید = 1394/05/10 و مدت به روز (جاری) = 303 روز که درسته
ت قرارداد 1393/04/01 مدت قرارداد 2 ماه نتیجه تاریخ سررسید = 1393/06/01 و مدت به روز (جاری) میشه 62 روز که بازم درسته
ت قرارداد 1393/04/01 مدت قرارداد 10 ماه نتیجه تاریخ سررسید = 1394/02/01 که درسته
ولی مدت به روز (جاری) میشه 31 که غلطه باید اختلاف تاریخ سررسید تا تاریخ قرارداد رو نتیجه بده
فایل رو پیوست کردم در صورت امکان راهنمایی کنید
تسهیلات اعطایی 2 (http://s5.picofile.com/file/8144154618/%D8%AA%D8%B3%D9%87%DB%8C%D9%84%D8%A7%D8%AA_%D8%A7% D8%B9%D8%B7%D8%A7%DB%8C%DB%8C_2.xlsm.html)

yasertati3602
2014/10/06, 22:48
سلام
از دوستان کسی میتونه راهنمایی کنه
ممنون میشم

khakzad
2014/10/07, 08:58
سلام
کد مربوط به قسمت Private Sub TextBox5_Change()

اون قسمتی که اختلاف تاریخ ها رو می خواید محاسبه کنید اشتباهی خورده شماره 21
درحالیکه شماره تکست باکس 13 هست!!!
در ضمن برای اینکه منفی نشه یا جای 6 و 4 عوض کنید یا int بگیرید

موفق باشید

yasertati3602
2014/10/07, 13:07
سلام
کد مربوط به قسمت Private Sub TextBox5_Change()

اون قسمتی که اختلاف تاریخ ها رو می خواید محاسبه کنید اشتباهی خورده شماره 21
درحالیکه شماره تکست باکس 13 هست!!!
در ضمن برای اینکه منفی نشه یا جای 6 و 4 عوض کنید یا int بگیرید

موفق باشید

سلام
ممنون از اینکه پاسخ دادید
تکست 21 اختلاف دو تاریخ هست و تکست 13 اختلاف دو تاریخ نیست در واقع تکست 13 محاسبه میکنه که چه تعداد روز مربوط به دوره جاری می باشد
من برخی حالتهام درست محاسبه نمیکنند
ممنون میشم راهنمایی کنید

khakzad
2014/10/07, 13:28
من فکر کنم همچنان مشکل همونه که گفتم!!
به شکل زیر دقت کنید
تغییرات رو اعمال کردم. فایل رو تست کنید بینید درست نتیجه میده؟؟؟؟؟؟
متاسفانه کامن خیلی کم گذاشتید برای توضیح کدها. track کردنش مشکله

4803