残念ながら、Access にはその機能がありません。これを実装するには、VBA を学習する必要があります。
フィルターの解析は難しいと思います。私の意見では、各フィールドにフィルターとデフォルト値を設定する方が簡単です。フォームを開くための実装関数と、値を設定するためのいくつかのパブリック フォーム メソッドが必要です。
フォームを開く関数は次のようになります。
Dim frm as Form_SomeForm
DoCmd.OpenForm "SomeForm", , , , , acHiden
Set frm = Forms("SomeForm")
frm.SetControlFilter("UserName", "=", "Foo")
frm.SetControlFilter("Age", "=", "123")
...
frm.ApplyFilter()
frm.Visible = True
フォーム モジュール「SomeForm」は次のようになります。
Dim m_stFiler as String
Public Sub SetControlFilter(ByVal stCtrl As String, ByVal stExp As String, ByVal stValue as String)
Dim ctl As Control
'-- set default value
set ctl = Me("stCtrl")
ctl.DefaultValue = "=""" & stValue & """"
'-- build filter
If m_stFiler <> "" Then m_stFiler = m_stFiler & " AND "
m_stFiler = m_stFiler & ctl.ControlSource & " " & stExp & " "" & stValue & "" "
End Sub
Public Sub ApplyFilter()
Me.Filter = m_stFiler
Me.FilterOn = True
End Sub