Actually, you will find that the # operator doesn't work here, since between requires integers to work with and can't translate the date value into integers. However, it can translate a string value, realizing that it has to convert it to an integer date value (some number of days after Jan 1, 1753 or thereabouts, expressed as an integer) on account of the underlying field's being a datetime type.
Bob