>> If you have time, maybe you can tell me WHY that thing default to ON and what is actually the reason for that thing? To me it feels like you just have to write another line of unnecessary code.
When you edit a table, you potentially need to alter data in all the related tables as well. Specifically if you change the primary key value, then the cascading change will affect lots of tables. So when you "open" a table, using the Relate: method it opens the file, and puts all the "related" tables in a sort of "ready, but not open" state. this is lazy opening.
Remember actually opening tables is very expensive, so you don't want to do that more than you have to. By turning off lazy opening you are dramatically slowing down the speed with which your browse opens.
If you use the relate: form of the open, then that's the same as Access.Open, and Access.Usefile _for that primary table_. But you used the Access.Open form, so you need the Access.Usefile call as well.
IMO the speed gain from lazy opening _far_ exceeds the effort of adding an extra line of code - and if you use the Relate.Open instead of Access.Open, you don't even need that.
cheers
Bruce