you can have many controls to pick from , then the vb will filter the ones used and open the report:
Code:
Public Sub btnReport_Click()
Dim sSql As String, sWhere As String
'the query is built depending on the various filters the user picks...
If Not IsNull(cboState) Then sWhere = sWhere & " and [state]='" & cboState & "'"
If Not IsNull(txtName) Then sWhere = sWhere & " and [Name]='" & txtName & "'"
If Not IsNull(chkContact) Then sWhere = sWhere & " and [Contact]=" & chkContact.Value
'remove 1st 'AND'
sWhere = Mid(sWhere, 4)
'open the query or report here!
DOCMD.OPENREPORT "rMyReport",,sWhere
End Sub