>LOCAL lnresult, lntotal, lnmin, lnmax >lnresult = 0 >DIMENSION a_values[1] >SELECT nField; > FROM MyTable; > ORDER BY nField; > INTO CURSOR MyValues >lntotal = _TALLY >IF lntotal > 0 > IF (lntotal / 2) = INT(lntotal / 2) > * Even number of records > GOTO lntotal / 2 > lnmin = MyValues.nField > SKIP > lnmax = MyValues.nField > lnresult = lnmin + ((lnmax - lnmin) / 2) > ELSE > * Odd number > GOTO CEILING(lntotal / 2) > lnresult = MyValues.nField > ENDIF >ENDIF >RETURN lnresult>How's this?