I want to jump back in, even though Scott is carrying on perfectly.
The controls on the form for "StartDate" and "EndDate" need to be named exactly as the names used in the query.
For example, your controls are called "txtStart" and "txtEnd", correct?
And the WHERE clause is
WHERE DateAbsent Between Forms!StartEnd!txtStart AND Forms!StartEnd!txtEnd;
If all of that checks out, given that the field in the table is, as shown in the screenshot, DateAbsent, then the query should return any records that qualify.
What exactly is the error, both number and text description? As is often the case, more than one error could occur in this context, so being specific is very important.
Also, it wouldn't hurt to confirm that the two controls are designated as Date/Time.
Also, as Scott mentioned, that the form is open when the query runs and that there are valid dates in both of the contols, txtStart and txtEnd.
Trouble-shooting is often a tedious process of checking each detail along the way, verifying that our assumptions match the facts in the application exactly.
And, yes, a new accdb for each year is not a best practice. It prevents you from being able to compare last year's results against this year's results, for example. You have to open both year versions and switch screens back and forth to do that, and that's a PITA. One of the essential advantages of a relational database application is the ability to learn from history.