I know how dates work, I know about the decimals and time and stuff...
If [date received] is a " date() " then one should use < Date() if it is a "now()" then it all depends on the requirements.
M$ Can advocate everything they want, my advice/use is based upon experience and practicality. Why do Dateadd("D",-7,date()) when Date() - 7 works the same and is much easier.
Also they may advocate traslation for comparisons, but EXPLICIT translations and NOT implicit ones....
I.e.
Implicit: " [Date Received] <= # " & Date() & "#"
Explicit: " [Date Received] <= # " & format(Date(), "MM/DD/YYYY") & "#"
Or even more to the extreem, though over the top probably:
Explicit: " [Date Received] <= Dateserial(" & format(Date(), "YYYY,mm,dd") & "#"
But... why for heavens name would one convert a date to string to date??? Doing that is like bringing water to the sea...
IMHO this problem would be solved by:
" [Date Received] <= Date() - 7 "
The best because you are doing no conversions what so ever.
Then IF you feel you must... then atleast use something like:
" [Date Received] <= # " & format(Date(), "MM/DD/YYYY") & "#"
because it will explicitely FORCE access to do it right, if you dont you get headaches like this thread!
I hope none of the above is considered offensive or anything, I am trying to be constructive but know I can be a bit headstrong at times.
Please dont be offended ...