To check for aggregate functions, if it is a stored query, open it in design view. Look at what is stored in the top row of each non-blank column. If any column contains Count(), Sum(), Max(), Min(), Avg() {where some field name is inside the parentheses} you have an aggregate.
If the query grid has a row titled "Total" then you have a Totals query, which is implicitly an aggregate even if none of the named functions happens to be present.
If the query is created "on the fly" and is an argument of the recordset, it might not be updateable either.
If the query is a stored query, open its property sheet to see if it is a Snapshot query. This is not an updateable query type. If it is a dynaset-type, table-type, or dynamic-type query, you should be able to update that unless there is an aggregate in the way.