Are you sure the update is not happening?
I dont see an obvious problem in the code, but consider this:
The recordset that populates the page is before the update behavior. And in the update behavior, you do not have a redirect.
What this means is, the recordset will be created before the records are updated. so when you submit the form the recordset populates with the original values, then the update code executes to update the database, then it renders the page.
If you place your cursor in the address bar an hit enter to reload the page, does it show the updated values?