If you want to show all flats, then use a Cartesian relationship (match any two fields on the x operator).
Now you could display a portal into that relationship, and use a toggle (field/variable) to drive a filter calculation that switches between displaying all records, or only those that are related to the current client; along the lines of
IsEmpty ( $$filter )
not IsEmpty ( FilterValues ( Flats__Cartesian::id ; List ( Flats::id ) ) )
assuming that you have a relationship
Client::id = Flat::id_customer
On the other hand, this could get real slow when the list of flats grows; so another idea would be to simply have two portals – one into the Cartesian relationships, another one into the relationship by Client – and use a script to toggle their display using “Hide if” and toggling a $$variable.
btw, you should probably have three tables: Flats, Clients and a join table FlatClients; otherwise you'll run into problems if the same flat will be related to multiple clients over its lifetime (or its lifetime in your agency).