Subject Re: filter on logical plus date field
From Ken Mayer <>
Date Wed, 5 Jan 2022 16:48:24 -0800
Newsgroups dbase.getting-started

On 1/5/2022 4:10 PM, Rouke wrote:
> In a table with a logical field 'returned' and a date field 'dateofrtrn' I'm getting weird results when I set a filter to not returned or isblank(dateofrtrn). I expect to see no records with a tick in the 'returned' field and also to see no records other than a blank value in the dateofrtrn field. However, I get the following (eg. of three records):
> set filt to not returned or isblank(dateofrtrn)
> list returned, dateofrtrn for recno()=2 or recno()=3 or recno()=14
> Record#  returned dateofrtrn
>         2  .F.        /  /
>         3  .F.      22/12/2013
>        14  .T.        /  /
> I expect only records like 2. Why are records 3 and 14 listed?

"not returned" can include items that will appear as false when you
query them, but may be "null" or empty.


set filter to returned=.f. or isblank(dateofrtrn)

(If you're using current versions of dBASE, you can also use the word
"false" or the word "true" rather than the clunky ".t." and ".f." ... I
assume you are, since you're using "not" instead of ".not" and "or"
instead of ".or.")


*Ken Mayer*
Ken's dBASE Page:
The dUFLP:
dBASE Books:
dBASE Tutorial:
dBASE Web Tutorial: