>I also had the same problem. I found it is best to let the grid/form "auto-manage" what table is selected. If you have to issue a select statement in a method, make sure you "re-select" the original table before you leave a method or return control back to the form/grid. Most of this can be avoided by including the table alias in whatever function you are executing (e.g., tableupdate(.t.,.t.,"MyParentTable"), tablerevert(.t.,"ChildTable"), eof("ChildTable"), etc.).
>
>To see what the form selects as the active table while you are testing the form, I "Set Status On" and note the table name/alias displayed in the status bar. This is where I learned what was going on as far as workarea selections. It was not what I expected.
Mark, I know what you mean! I'm often surprised at how often the selected area changes from where I think it is, usually because of a combo refresh or something similar.
Barbara