PDA

View Full Version : سوال: ايراد در كد نويسي براي dsum هنگام فيلتر كردن دو متغير



abdoreza57
سه شنبه 03 آبان 1390, 09:50 صبح
با سلام خدمت اساتيد محترم سايت
توي فرمي يه تاريخ سفارش تعريف كردم كه مشتري مبلغي را به عنوان پيش پرداخت ميده و فيلد دوم تاريخ تسويه است كه ممكن است فيلد تاريخ تسويه خالي باشد يا ممكن است در تاريخ ديگري مبلغي را به عنوان باز پرداخت و تسويه پرداخت كند
در صورتي كه بخوام مجموع اين دو مقدار را براي تاريخي خاص فيلتر كنم از كد زير استفاده كردم ولي خطا ميده



intStore = DSum("[pish]", "[asli]", "[date-rent]=[Forms]![jamkol]![day] ") + DSum("[etmam]", "[asli]", "[dateback]=[Forms]![jamkol]![day] ")


ميخواستم ببينم مشكل كجاست ؟از دوستان كسي اگه لطف كنه و نمونه را اصلاح كنه ممنون ميشم

abdoreza57
سه شنبه 03 آبان 1390, 15:02 عصر
سلام
از اساتيد متحترم سايت خواهش ميكنم كه در صورت امكان به اين سوال جواب دهند

Abbas Amiri
سه شنبه 03 آبان 1390, 19:57 عصر
کد مربوطه را به صورت زیر تصحیح کنید:
Nz(DSum("[pish]", "[asli]", "[date-rent]='" & [Forms]![jamkol]![day] & "'"),0) + Nz(DSum("[etmam]", "[asli]", "[dateback]='" & [Forms]![jamkol]![day] & "'"),0)

abdoreza57
سه شنبه 03 آبان 1390, 23:00 عصر
جناب اميري عزيز ممنون


1) تو طراحي فرم دقت نكردم و input mask را براي تاريخ سفارش و به صورت 00/00/00 قرار دادم كه منجر به بروز چنين مشكلي ميشه حال چه راهي را پيشنهاد ميكني كه اين رويه را بتونم بدون آسيب به اطلاعات اصلاحش كنم
متاسفانه حاصل جمع بازهم مشكل داره

2)لطفا مشكل اصلي را هم شما حل كنيد : همانطور كه تو فرم تسويه نوشتم حاصل جمع اين مقدار وقتي بيش از 5 رقمي ميشه ديگه قادر به نمايش نيست و با ارور محدوديت مواجه ميشم
يعني مقدار INTGER را مي بايست به LONG INTGER تغيير بدم ولي چطور ؟

Abbas Amiri
چهارشنبه 04 آبان 1390, 20:06 عصر
برای فیلد مربوط به مبالغ بهتر است از Currency استفاده کنید(حداکثرتا 15 رقم ) و Format آنرا Standard واگر ممیز احتیاج نداری DecimalPace را 0 قرار بدهید .
درفرم تسویه هم در Form_Load اصلاح کن

intStore = Nz(DSum("[pish]", "[asli]", "[date-rent]='" & [Forms]![tasvieh]![day] & "'"), 0)