>You're doing the classical RecordSource='' (nothing) procedure which causes a lot of problem. In stead base your grid on a cursor which exists before you create the grid. When you need to select new data:
>1. Select whatever ... into cursor curDummy (your SQL select)
>2. Select yourGridCursor
>3. zap
>3. append from dbf('curDummy')
>4. yourgrid.refresh
Actually, the steps can now be reduced to
1. zap in yourgridcursor
2. insert into yourgridcursor select whatever1..., whateverN
3. yourgrid.refresh
The only trouble here is that the fields in the select need to match the fields of yourgridcursor. Workaround for that is to insert into yourgridcursor (field1, ...,fieldN) select ...