I was getting the same problems with this and I think I finally figured out what it is.
I seem to get this error when extra commands are sent to the stack while one is trying to open the table.
The way I believe I just figured around this is to use the:
_VFP.AutoYield = .f.
This kind of tells the program to chill out and wait until I am done with what i am doing now. You can also turn this off again by setting it to .t. or using a doevents(). But when you do this you may have to work with things like displaying things on the screen by turning it off processing the display then turning back on in some cases.
Look up Autoyield in the help section it will explain more of what it does, but this seemed to prevent this error from popping up. It gives it time to open the table before processing the request the user wanted.
``` Appreciate a normal day, it is always better than a bad one ```
Kev