This seems like another case of interacting with queries and tables instead of using forms. Not real clear what you want but if it's always a year or date range, then form controls (textboxes) can provide the beginning and ending dates. You can even have those pop up a calendar for input. Or you can pick years (one) from a combo if you just want for one particular year. Or any myriad of things you can come up with to suit your needs. Least favourable would be a parameter prompt that prompts user for year values, but if not supplied these types of queries don't perform properly. You could try a new query by pasting this into the sql view then look at it in design view. Could even run it and see what happens after entering 2022 and then again by entering nothing.
Code:
SELECT qryAllComplaints.ID, qryAllComplaints.ComplaintNumber, qryAllComplaints.ComplaintDate, qryAllComplaints.Year
FROM qryAllComplaints
WHERE (((qryAllComplaints.Year)=[Enter Year]));
EDIT
When using all fields from a table, this is usually easier
Code:
SELECT qryAllComplaints.*
FROM qryAllComplaints
WHERE (((qryAllComplaints.Year)=[Enter Year]));
EDIT 2 - you shouldn't need the union query if you follow that advice.