i've never bothered with filter by form so i may be barking up entirely the wrong tree, but here's what i do to get a subset of data in my forms.
make a form
add a bunch of unbound text boxes in pairs
one of each pair is hidden, the other not
the user plays with the not-hidden half... entering contiguous substrings for his "filter" settings or leaving the box blank for "any".
add a button "reset"
reset all visible boxes to null
add a button "filter"
visit each of the visible boxes...
if isnull(visibleBox.value) then
hiddenBox.value = "*"
hiddenBox.value = "*" & visibleBox.value & "*"
make a query
criteria (each field for which you have box-pairs) is
i much prefer this to parameter queries or other in-built mechanisms since it allows code to inspect/protest/correct user input before launching the query.