>>The following code behaves exactly the same way under VFP 6-8. It evaluates the function for every record.
>>CREATE CURSOR Test (Field1 N(10))
>>FOR lnCount = 1 TO 20
>> INSERT INTO Test VALUES (lnCount)
>>ENDFOR
>>
>>SELECT * FROM Test ;
>> WHERE Field1 >= 10 AND IsEven(Field1)
>>
>>FUNCTION IsEven(tnNumber)
>> ? "Number is: " + TRANSFORM(tnNumber)
>> RETURN (MOD(tnNumber, 2) = 0)
>>ENDFUNC
>
>PMFJI, Unless there is an index on field1. Which seems to still evaulate the number 1 twice, for somereason? But either way it still the same in VFP 6 and VFP 8 in my test also.
You're right! That's very weird.