There are many possible reasons. There's a help topic - search for
"updateable".
In a nutshell, if Access cannot reliably identify which record is to be
updated, it won't update anything. So Totals queries, Unique Values queries
(with the DISTINCT keyword in SQL), UNION queries are never updateable. More
commonly, if there is not a unique Index on the one-side table joining field,
the query won't allow updates. Sometimes multitable (three or more) table
queries aren't updateable (but some are!).