Yes. You 1st build a QUERY to get the info you want.
Then make a report off this, and produce the sort order, sums, etc.
For user selections...build a FORM with the text boxes or combo boxes for users to select.
Then the query in the report would read these.
But some VB may be needed...on the REPORT button click event, you would have to determine the filters needed...
If you need complex form filters THEN make a query from it, do this:
Code:
Public Sub btnReport_Click()
Dim sSql As String, sWhere As String
Dim qdf As querydef
Const kQRY = "qsFormFilter" 'here is the query we use ...in the report too
'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)
Set qdf = currentdb.querydefs(kQRY)
qdf.Sql = "SELECT * FROM tblCompany"
If sWhere <> "" Then qdf.Sql = qdf.Sql & " WHERE " & sWhere
qdf.Close
'open the query or report here!
'DOCMD.openquery kQRY
'DOCMD.OPENREPORT "rMyReport"
End Sub