>Fred,
>
>Re NULL - that I didn't realize. I will look into it. And thanks for the tip on the shortcut. I printed that one out for future reference.
A word of warning:
.NULL. may require you to change the way some of your code works. Also, it will force you back to using the multiple .AND./.OR. statements, because there is no native to "add" logical fields together, they would have to be converted, first. You could still use INLIST, though.
x=.t.
y=.f.
z=.f.
INLIST(.t.,x,y,z) && basically an OR
A return of .t. means that at least one of the values were .t.
A return of .f. means that none of the values are .t.
INLIST(.f.,x,y,z) && basically an AND
A return of .t. means that at least one of the value is .f.
A return of .f. means that all of the values are .t.
Be aware if that any of the values it finds is .NULL., the return will be .NULL.
ie:
x=.t.
y=.f.
z=.null.
INLIST(.t.,x,y,z) will return .t.
INLIST(.f.,x,y,z) will return .t.
but:
x=.null.
y=.t.
z=.f.
Then all uses of INLIST will return .null.