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 endifWith SEEK before select both return the exact same amount.