Yeah. The first example constructed:
date between '#01/01/2003#' ...
which,
because of the presence of the quotes, Access interpreted to be a
string literal (which, as it happens, consists of a funky-lookin' mixture of "#"s and "/"s and digits).
For a date-type literal in Access, the "#"s
are the delimeters:
date between #01/01/2003# ...
Also, nit-pickin' here: I suggest that you
avoid using column-names, like
Date, which match SQL reserved-words. Although MS-Access can resolve the ambiguity by enclosing the offending names in square brackets,
other SQL dialects may not support this syntax and what you'll be left with is an application that can't readily be "upsized" to a different platform. Use more descriptive titles, like
OrderDate.