>>Also what would work for a logical field? I have a form property with a nValue of 0, 1 or 2 and I want to select on obsolete = .t., .f. or either.
>>
Assuming that 0 = .T., 1 = .F. and 2 were either, you could write a nested IIF() statement like:
IIF(nValue = 2, .t., IIF(nValue = 1, ! obsolete, obsolute))
but it's ugly and not portable. You might consider building the SQL SELECT statement in a string and executing it via macro expansion instead, which could embed the correct condition(s) in the WHERE clause based on your form values.