for lnMonth = 1 to 120 replace ("nPrz" + Padl(lnMonth, 3,"0")) with ; lnNewPrice/eval("TableUsedPr.nPrc" + Padl(lnMonth,3,"0")) endforit is nearly always faster to at least scatter each record into a single array for processing, if you have arranged your record structure(s) accordingly.