You don't need a date range variable.
You can use the datediff() function to determine the difference between 2 dates, it allows for various differences, including years, so you'd compare the birthday with currentdate:
I think it works something like this:
Create a "Years Since Birth" formula to group by:
datediff("yyyy",{MyTable.BirthDate}, currentdate)
This should tell you how many years have passed since the DOB.
Add into your record selection criteria a formula which limits rows to only those who've had their vacination:
{MyTable.MyVacinationFlag} = true // or however you detect this
Now you can use conventional summing and other built in math/statistic/date functions against the data in the details section of the report.
I can't test this right now, but it's close if it didn't nail it.
-k
kai@informeddatadecisions.com