With few exceptions, if a column is in an expression in a
search condition, no index on that column will be useable
by the query processor.
In this case, Month() could hinder performance, by making
it impossible to use an index on ADateField to execute the
The alternative is not quite correct, though. You at least need quotes:
.... between '20030801' and '20030830'. If you want the query to
be identical to the Month() one, you also need to include ADateField
values after midnight on the 30th and any time on the 31st. You
might have business rules to ...