>> SET ORDER TO com_inv IN comision >> IF SEEK(m.ccinv + m.Slsman) >> >> *SUM (rate*SHARE/10000) TO cRate WHILE inv_no+salesman = m.ccinv + m.Slsman >> SELECT SUM(rate*SHARE/10000) AS crate WHERE inv_no+salesman = m.ccinv + m.Slsman ; >> FROM comision INTO ARRAY laArr >>*!* IF NOT m.cRate == laArr[1] >>*!* =MESSAGEBOX("Found a mismatch on " + m.ccinv + m.Slsman) >>*!* _cliptext = _cliptext + "Found a mismatch on " + m.ccinv + m.Slsman + " cRate = " + ; >>*!* TRANSFORM(m.cRate) + " laArr[1]= " + TRANSFORM(laArr[1]) >>*!* ENDIF >> cRate = laArr[1] >> ELSE && Not found >> cRate = 0 >> endif>>
SET ORDER TO com_inv IN comision > * IF SEEK(m.ccinv + m.Slsman) > > *SUM (rate*SHARE/10000) TO cRate WHILE inv_no+salesman = m.ccinv + m.Slsman > SELECT SUM(rate*SHARE/10000) AS crate WHERE inv_no+salesman = m.ccinv + m.Slsman ; > FROM comision INTO ARRAY laArr > >*!* IF NOT m.cRate == laArr[1] >*!* =MESSAGEBOX("Found a mismatch on " + m.ccinv + m.Slsman) >*!* _cliptext = _cliptext + "Found a mismatch on " + m.ccinv + m.Slsman + " cRate = " + ; >*!* TRANSFORM(m.cRate) + " laArr[1]= " + TRANSFORM(laArr[1]) >*!* ENDIF > cRate = EVL(laArr[1],0) > * ELSE && Not found > * cRate = 0 > * endif >>I get a different result. Why would SEEK make such difference?