oops, you're right. since the subform is the filtered one, not the directly opened main form, we need a workaround:
frmResults is the main, unbound form
frmResultsSub is the sub-form, bound to table1
change the DoCmd to:
DoCmd.OpenForm "frmResults", , , , , , strFilter
so now the filter string is passed to the main form (frmResults) as OpenArgs.
then use the sub-form's Open event (which will fire right after the main form opens) to:
Me.Filter=Forms!frmResults.OpenArgs
Me.FilterOn=True
this should do the trick