i get a date difference in years and months and need to convert it to just months, seems to be easy but i have been on this since 7am this morning and cant seem to work it out so would appreciate a little help. i bet it is something really simple.
this gets the date difference between a current record and today
next, i am trying to duplicate child records but only if they meet a filter - the chid records relate to loans and credit cards, in the record their is a N field which has a value for the number of months that the debt had left to run.
I need to determine if the number of months in the record is less than the number of months from today since the record was created (hope that makes sense)
my problem is the part in red above, as i have an earlier section of this duplication working just fine using just the varYrDiff
this gets the date difference between a current record and today
Code:
dim yrmo as C dim refd_beg as D dim refd_now as D dim yrcount as n dim mnthcount as n refd_now = Date() refd_beg = lookup("[PathAlias.ADB_Path]\casefile.dbf","caseref = "+quote(session.caseref),"leaddate") yrcount = year(refd_now)- year(refd_beg) if month(refd_now) >= month(refd_beg) then mnthcount = month(refd_now) - month(refd_beg) yrmo = alltrim(str(yrcount))+" Years and "+alltrim(str(mnthcount))+" Months" else yrcount = yrcount-1 mnthcount = 12+month(refd_now)-month(refd_beg) yrmo = alltrim(str(yrcount))+" Years and "+alltrim(str(mnthcount))+" Months" end if e.control.yrmo = yrmo e.control.yrcount = yrcount e.control.mnthcount = mnthcount e.rtc.yrcount = yrcount e.rtc.mthcount = mnthcount e._state.yrcount = yrcount e._state.mthcount = mnthcount
I need to determine if the number of months in the record is less than the number of months from today since the record was created (hope that makes sense)
Code:
dim qry as P dim nrecs as N dim i as N dim varMthDiff as N dim varYrDiff as N dim varYtoM as N dim varTotMonths as N varMthDiff = e._state.mthcount varYrDiff = e._state.yrcount [COLOR="#FF0000"] varYtoM = varYrDiff/12 varTotMonths = varYtoM+varMthDiff[/COLOR]
Code:
'duplicate debts dim tbl3 as p dim duptbl3 as P tbl3 = table.open("[PathAlias.ADB_Path]\debts.dbf") duptbl3 = table.open("[PathAlias.ADB_Path]\debts.dbf") query.description = "Dup_debts" query.order = "" query.filter = filter_caseref query.options = "" qry3 = tbl3.query_create() nrecs = qry3.records_get() if nrecs > 0 tbl3.fetch_first() while .NOT. tbl3.fetch_eof() [COLOR="#FF8C00"]dim debttermleft as n = tbl3.commmonthsleft dim debtsnewterm as n = debttermleft - varTotMonths if debtsnewterm > 1[/COLOR] duptbl3.enter_begin() duptbl3.caseref = NewCaseref duptbl3.commtype = tbl3.commtype duptbl3.commlender = tbl3.commlender duptbl3.commbalance = tbl3.commbalance duptbl3.commmonthly = tbl3.commmonthly duptbl3.commmonthsleft = tbl3.commmonthsleft-varTotMonths duptbl3.commsecured = tbl3.commsecured duptbl3.commrepaid = tbl3.commrepaid duptbl3.commwho = tbl3.commwho duptbl3.commlimit = tbl3.commlimit duptbl3.commbalancehow = tbl3.commbalancehow duptbl3.commbalancehowstat = tbl3.commbalancehowstat duptbl3.enter_end() end if tbl3.fetch_next() end while end if qry3.close() tbl3.close() duptbl3.close()
Comment