>>>>>I have a 350,000 records table. I have created a tag on DELETED() and another one on UPPER(myfield). From the command prompt, I can apply a filter and the browse is immediate. However, from a grid, when I apply a filter, the grid takes a while to response. Does that mean, the Grid and the Browse are 2 different controls? How can we obtain the same result in the grid when using a filter?
>>>>
>>>>This is not first such question, and there is something wrong in grid/filtering. I cannot say by sure what, because I just made test opening 1 million record table (filtered) in grid and it worked perfectly fast. I would test your situation in separate form with one absolutely simple grid to make any conclusions.
>>>
>>>The grid appear immediately. But, when you will do a SET FILTER to something in your form, accessing the grid after will take a while.
>>
>>Yes, I see, but still cannot reproduce it. I believe you have rushmore optimizable filter?
>
>Yes.
>
>In my case I have 2 tags. One on UPPER(myfield), which is excatly the syntax of the filter applied. The other tag is DELETED(). To make sure it was optimized, I run the same from the command prompt, using the filter, and it was immediate.
I don't know what is the reason, but you coud try it from command window using your own field/table names:
USE H:\vfp_cue\cue\dbf\TITLE.DBF && this is 950K rec table
_screen.addobject("grid1","grid")
_screen.grid1.visible=.t.
_screen.grid1.columncount=3
_screen.grid1.recordsourcetype=1
_screen.grid1.recordsource="TITLE"
select title
set filter to ttl_name="A"
_screen.grid1.refresh
set filter to ttl_name="B"
_screen.grid1.refresh
It works without any delays on my machine.
Edward Pikman
Independent Consultant