>What I want to do is select records from a table based on the qqfield. The qqfield values for each record are different and are based on other variables in my program...
In that case, perhaps you can use the evaluate() function:
select * from promolist;
where qq_promo and BITTEST(region,0);
and DATE() <= promolist.expire;
and IIF(!EMPTY(promolist.qqfield), eval(Promolist.qqfield), .T.)
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)