>Dear All,
>
>I am writing a SELECT statement. I have to use multiple UDFs in it as there are a lot of complicated calcuations going on in it and the return value from the UDF is to be used as the value for the SELECT.
>
>1) Should I, WHERE join the required DBFs and in the UDF straight away use the current record in the respective DBFs for calculations?
>
>2) Should I, not join those DBFs (not required except for the calc anyway) and do SEEK() for the required DBFs in the UDFs
>
>Please Help
>
>Thanks in advance.
One thing to consider is that if your UDF returns a character expression, it better be a fixed length. Otherwise, VFP or FoxPro will automatically use the length for the first record for all others, I think; and your data will end up too short. Use padr() to ensure the fixed length.
For efficiency, if possible, first select all other data, then apply the UDF to the result. That way, you avoid evaluating records you don't need anyway.
HTH, Hilmar.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)