ورود

View Full Version : کد ایجاد ردیف دوم و به بعد در ساب فرم با توجه به ردیف اول



shkeramat
جمعه 01 دی 1391, 15:20 عصر
با سلام
سابفرمی دارم برای محاسبه اقساط وام که طبق تصویر فیلده های 1-قسط2- اصل قسط3- سودقسط وجود دارد
در محاسبه ردیف اول مشکل ندارم درست است برای ردیف دوم به بعد از کد زیر استفادهمیکنم که فقط ردیف دوم درست محاسبه میشود و ردیفهای بعد به تعداد اقساط تکراری میشود در کدام قسمت آنرا اصلاح کنم . با تشکر

For i = 0 To NPer - 2
Fg = Mghest - SOD
(مبنا برای محاسبه سود در ردیف دوم و به بعد) dp = dprice - Fg
SOD1 = (dp) * Round((Me.Rate / 1200), 4)
Fg1 = (Mghest - SOD1)
sSQL = "INSERT INTO tbPartL VALUES('" & NumLoan & "','" & i + 2 & "', '" & SarResidN(i + 1, DateLoan) & "'," & Mghest & ", " & Fg1 & ", " & SOD1 & ", '" & Payed & "')"
DoCmd.RunSQL sSQL
97036 Next i

Abbas Amiri
جمعه 01 دی 1391, 15:46 عصر
سلام
اول اینکه اگر بقیه کدهای سابروتین هم نمایش داده شودبهتر درک خواهد شدو دوم متغیرهای بکار رفته مربوط به چه چیزهایی میباشند ؟

shkeramat
جمعه 01 دی 1391, 15:52 عصر
با تشکر فایل ضمیمیه شد
NumLoan شماره وام
Mghest مبلغ قسط که یکبار محاسبه و تا پایان ثابت است
SOD سود در اولین قسط
SOD1 سود در قسط دوم و به بعد
dprice مبلغ وام اولیه
dp مبلغ وام برای محاسبه سود در اقساط دوم به بعد است که در هر مرحله اصل وام در هر قسط از آن کسر میشود
Rate نرخ وام که در محاسبات به A نرخ موثر تبدیل میشود
fg مبلغ اصل وام در قسط اول
fg1 مبلغ اصل وام در اقساط دوم و بعد
NPer و i تعداد اقساط
امیدوارم پاسخ دهید.

Abbas Amiri
جمعه 01 دی 1391, 23:22 عصر
سلام ، آنچه که بنده دیدم جدای موضوع مطرح شده مبالغ به هیچ عنوان تراز نبود . در فایل اصلاحی زیر تمام عملیات ایجاد رکورد دریک حلقه For انجام میشود. ازآنجا که تسلط کافی درمحاسبه وام ندارم ، میدوارم مقادیر تولید شده صحیح باشند
ضمنا فکر کنم در هنگام تنظیم اقساط ، قسطهای دوم به بعد را رند می کنند تا هنگام پرداخت مشکل بوجودنیاید.

shkeramat
شنبه 02 دی 1391, 16:59 عصر
با درود و سپاس فراوان
اگر زیاده خواهی نباشد در صورت امکان رند نمودن را هم توضیح بفرمائید با تشـــــــــــــــــــــــ ــــــکر

Abbas Amiri
شنبه 02 دی 1391, 18:38 عصر
سلام
در قسمت محاسبه ودرج اقساط کد زیر را درج کنید


MandehVam = Nz(Me.feeLoan)
Qest = (MandehVam * MonthlyInterest) * ((MonthlyInterest + 1) ^ QestQty) / (((MonthlyInterest + 1) ^ QestQty) - 1)
Qest = Round((Qest) / 100) * 100
For i = 1 To NPer

shkeramat
شنبه 02 دی 1391, 19:12 عصر
با درود و سپاس بسیار
1- یک توضیح در خصوص این قسمت کد عنایت فرمائید جهت اموزش
sSQL = "UPDATE tbPartL SET Mghest=Mghest + " & QestDiff & ",Fghest=Fghest + " & QestDiff & "
2- در ساب فرم جمع آن چگونه ایجاد شده (خدائیش یادم رفته)

دست بوسم صد بار

Abbas Amiri
سه شنبه 05 دی 1391, 23:37 عصر
ا درود و سپاس بسیار
1- یک توضیح در خصوص این قسمت کد عنایت فرمائید جهت اموزش
sSQL = "UPDATE tbPartL SET Mghest=Mghest + " & QestDiff & ",Fghest=Fghest + " & QestDiff & "
2- در ساب فرم جمع آن چگونه ایجاد شده (خدائیش یادم رفته)


سلام درجواب سوال اول زمانی که مبلغ قسط تعیین میشود ، به علت اینکه حاصلضرب تعداد اقساط در مبلغ قسط از مبلغ واقعی کمتر است (بدلیل اینکه مقدار صحیح مبلغ قسط را محاسبه کرده ایم ازنوع Long) ، مجموع کل اقساط محاسبه شده و درنهایت از مقدار اصلی کم شده وحاصل به مقدار اولین قسط اضافه میگردد
در جواب دومی هم درحالت اجرا درسابفرم کلیک کرده در Home>>Records گزینه Totals را فعال کنید

hasanhzd
چهارشنبه 06 دی 1391, 17:32 عصر
درود
با استفاده از فرمولهای زیر شما برای محاسبات به رکوردهای قبلی نیازی ندارید
فرمول استاندارد جهانی و مورد استفاده همه بانکها است


97308

shkeramat
جمعه 22 دی 1391, 23:39 عصر
با سلام

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