Wai Wai,
Ok, here's the situation.
You should really use a parameterized view to do this. Create a view in a database that selects the fields you want from the tables you want. Then go to the Filter tab and inthe exmple column put ?lcSoHo with the question mark.
Now go to your form and right click and sleect data environment. Add the view to the DE and mark its NODATAONLOAD property .T.
Now in the grid's Refresh method put code to get teh lcSoHo value form whereever you get it adn requery the view;
LOCAL lcSoHo
lcSoHo = Thisform.SomeProperty
Requery("TheViewsName")
I think your problem is located in teh scoiping of the variable SOHO or VFP getting confused because of some field with the same name.