>I'm running into the problem where I set the filter to a variable and later on it moves the record pointer and complains that the variable doesn't exist when it re-evaluates the filter.
>
>Is there a way to say "SET FILTER TO custno = lcCustno" and have it set to the _value_ in lcCustno so that later on it doesn't need to have lcCustno in scope?
>
If custno is a string, and cannot legally contain [ or ] as part of the string, so that they can be used as safe delimiters:
SET FILTER TO custno =
[&lcCustno]If custno is a numeric:
lcCustNo = STR(nCustNoToTest)
SET FILTER TO custno =
&lcCustnoIn these cases the filter contains a literal created via macroexpansion, and literals do not change because of scope issues. In both cases, the content of lcCustNo must be a string.