I never use dynamic parameterized query. However, if you prefer and need the AND operator then deal with the possibility of Null for each input box by providing a default value that will result in widest possible range of values. This can be done with Nz() or Is Null (review http://allenbrowne.com/QueryPerfIssue.html#Nz).

Between Nz([forms]![Input form]![B]*0.95,0) And Nz([Forms]![Input form]![B]*1.05, 9999)

This way the data will meet criteria and record will be returned even though the controls have no input, if this is what you want.

Keep in mind that arithmetic with Null results in Null.



Accomplish the same with text fields using LIKE and wildcard: [field] LIKE [Forms]![formname]![controlname] & "*"