This makes sense as Access sees the tables as seperate objects so it will do the join within Access instead of in the SQL Server.
The only way to handle this with a view would be to set it up so that each update only touched a single base table at a time.
You could try setting up some subforms and putting a single base tables worth of data on each subform. This way you are only pulling down the row that you need for each subform and Access and SQL Server should respond correctly.
The only other option that I see would be up change it from a bound for to calling a stored procedure on the SQL Server, which would then return just the one record you need. Then call a second stored procedure to handle the updating of the data.