The number of tables/queries in the join is not the constraint. I have lots of queries with a dozen or more tables/queries in them and they are updateable.
The problem as I suggested is the RELATIONSHIP between the tables. There are two general patterns where you can have multiple joins (or 3 types if you count the fact that you can use both patterns in the same query).
1. a Hierarchy such as tblCustomers --> tblOrders ---> tblOrderDetails --> tblProducts
2. multiple lookups
tblEmployees --> tblDepartment
tblEmployees --> tblSalaryGrade
tblEmployees --> tblEmployees.Supervisor (self lookup)
tblEmployees --> tblJobTitles
So, post a picture of the relational diagram. Make sure we can see all the tables and how they are connected. Post the actual query so we can see the joins.
Relationships are different from joins although the graphic representation is similar. Relationships are defined in the BE database using the relationships window. You add tables to the grid and then draw join lines connecting them from Foreign key to Primary Key. So in the first example above. tblEmployees would contain a column named DepartmentID. It would be the foreign key (join field) to the primary key of tblDepartment which should also be named DepartmentID. in tblDepartment, the DepartmentID is defined as autonumber but in tblEmployees, DepartmentID is defined as Long Integer. A table can have only ONE autonumber and if you have one, it should be the primary key.
Joins are the connections between tables/queries in a query. Normally joins in queries will mimic the relatioships but technically any two tables/queries can be joined on any pair of similarly defined columns. So you could join tblEmployees to tblVendors on AddressLine1 because both tables have a column that is defined as short text. Even though you would never define this as a relationship, it makes sense as a potential join if you are trying to do some analysis and determine if any employees are also vendors based on them having the same address. You could join tblStudent to tblClasses on Student.FirstName --> tblClasses.ClassName. It doesn't make any sense but the query engine doesn't have any way to know that. As long as the two columns are compatable data types, the query will attempt to match the two tables on the specified values.