How about posting the entire filter because this:
Year([Date_Completed]) = Yr.Value
as it stands is not correct. You can't set the Year function equal to something. You can use
Yr.Value = Year([Date_Completed])
but I'm sure that isn't what you want. If you want to filter the form by the value that is in the text box named Yr, then you would need to use
Code:
Me.Filter = "[Date_Completed] Between " & DateSerial(Me.Yr, 1, 1) & " And " & DateSerial(Me.Yr, 12, 31)
Me.FilterOn = True
but if you say that it keeps asking for Yr even if you use it in the code I just gave you, then something isn't right and perhaps you can post a copy of the database with bogus information so we can see what is happening.