Naomi,
I'ld be worried that a select might change the active alias so I'ld use code like below. But the reason is probably in a different interpretation in SQL and xBase (as modified by SET ANSI and set Exact <g>) of
inv_no+salesman = m.ccinv + m.Slsman
>
SELECT Comision
lnRecno = RECNO()
SELECT SUM(rate*SHARE/10000) AS crate
WHERE inv_no+salesman = m.ccinv + m.Slsman ;
FROM comision INTO ARRAY laArr
SELECT Comision
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
ELSE
cRate = 0
endif
lcRate = EVL(laArr[1],0)
IF NOT m.cRate = m.lcRate
=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(m.lcRate)
ENDIF
regards
thomas