>lnAmount = m.lnPayment * ((Day(m.ldCurrent)-1)/30) >&& to >lnAmount = m.lnPayment * ((Day(m.ldCurrent))/30)&& wrong results > >>
>>>>>text1=month 7/2006,text2=5.833 >>>>>text3=month 8/2006,text4=8.333 >>>>>text5=month 9/2006,text6=8.833 >>>>>text7=month 10/2006,text8=8.833 >>>>>text9=month 11/2006,text10=8.833 >>>>>... >>>>>. >>>>>. >>>>>. >>>>>textn=month 7/2007=2.500 >>>>>>>>>>thanks.
>>>>Public oForm >>>>oForm = Createobject('myForm') >>>>oForm.Show() >>>> >>>>Define Class myForm As Form >>>> DataSession = 2 >>>> Height = 300 >>>> Width = 480 >>>> >>>> Add Object label1 As Label With ; >>>> Caption = "Principal", Left = 20, Width = 50, Top = 25 >>>> Add Object label2 As Label With ; >>>> Caption = "Interest", Left = 20, Width = 50, Top = 55 >>>> Add Object label3 As Label With ; >>>> Caption = "Months", Left = 20, Width = 50, Top = 85 >>>> Add Object label4 As Label With ; >>>> Caption = "Start", Left = 20, Width = 50, Top = 115 >>>> Add Object txtprincipal As TextBox With ; >>>> Value = 100, Left = 80, Top = 25, Width = 100 >>>> Add Object txtinterest As TextBox With ; >>>> Value = 0, Left = 80, Top = 55, Width = 100 >>>> Add Object txtmonths As TextBox With ; >>>> Value = 12, Left = 80, Top = 85, Width = 100 >>>> Add Object txtstart As TextBox With ; >>>> Value = (Date()), Left = 80, Top = 115, Width = 100 >>>> Add Object cmdCalculate As CommandButton With ; >>>> Top = 145, Left = 80, Caption = "Go" >>>> Add Object grddistribution As Grid With ; >>>> Height = 280, Left = 190, Top = 5, Visible = .F., Width = 280 >>>> >>>> Procedure cmdCalculate.Click >>>> With Thisform >>>> lnPayment = Payment( .txtPrincipal.Value,; >>>> .txtInterest.Value,; >>>> .txtMonths.Value) >>>> Create Cursor crsDist (From d, To d, Amount Y) >>>> For ix=0 To .txtMonths.Value >>>> ldCurrent = Gomonth(.txtStart.Value,m.ix) >>>> ldFrom = Iif(m.ix = 0, m.ldCurrent, ; >>>> Date( Year(m.ldCurrent), Month(m.ldCurrent), 1)) >>>> ldTo = Iif(m.ix = .txtMonths.Value, m.ldCurrent,; >>>> Gomonth(m.ldCurrent,1)-Day(Gomonth(m.ldCurrent,1))) >>>> Do Case >>>> Case m.ix = 0 >>>> lnAmount = m.lnPayment * ((Day(m.ldTo)-Day(m.ldCurrent))/30) >>>> Case m.ix = .txtMonths.Value >>>> lnAmount = m.lnPayment * ((Day(m.ldCurrent)-1)/30) >>>> Otherwise >>>> lnAmount = m.lnPayment >>>> Endcase >>>> Insert Into crsDist (From,To,Amount) ; >>>> values ; >>>> ( m.ldFrom, m.ldTo,m.lnAmount) >>>> Endfor >>>> Locate >>>> .grdDistribution.RecordSource = 'crsDist' >>>> .grdDistribution.Visible = .T. >>>> Endwith >>>> Endproc >>>>Enddefine >>>>Cetin