I’m trying to filter a form with a interval of time
the start date and end date are both in a textbox with this format dd/mm/yyyy
My query in VBA looks like this
WHERE (Format([SalesCallDate],'dd/mm/yyyy') BETWEEN #" & Format(txtStartDate, "dd/mm/yyyy") & "#
AND #" & Format(txtEndDate, "dd/mm/yyyy") & "#)"
I can’t figure out why when the interval is 01/12/2012 to 21/12/2012, I got dates like 15/08/1991. That’s why I wanted to be explicit with the format.
the output for the SQL query is
WHERE (Format([SalesCallDate],'dd/mm/yyyy') BETWEEN #01/12/2012# AND #21/12/2012#)
I tried with and without the format.
Am I missing something?
NOTE: SalesCallDate is a DateTime field in a SQL Server linked table
Thank you
It sounds like txtStartDate and txtEndDate are both unbound text boxes. Set their format properties to a date format.
With a date format and the “Show Date Picker” property set to “For dates”, Access versions >= 2007 will enable that date picker feature for your text boxes. If your users like that, this is a side benefit of that format property.
Anyway the date format will allow Access and VBA to interpret those text box values as Date/Time data type:
Then since
SalesCallDateis Date/Time type, yourWHEREclause can compare the field directly to the text box values.Or if your form has code which builds a string containing your SQL statement, and you want Date/Time literals for the date range …