>Here's an intersting one. I have a checkbox on my form that toggles display/hide all the records in 3 grids (granny-mother-child) that don't have a certain field set in them. When the field is set for all recs in the Granny table then all data in the descendant tables are disappeared. Correct.
>
>Below is a sample of the code to hide data in the Granny table/grid. The daughter table's code is almost identical.
>
>
>Select pxEntryCodes
If pxEntryCodes it is in EOF(), RECNO()=RECCOUNT()+1, and you cannot use this for a GO command
( this is a VFP bad design )
> lnRecNo = RECNO()
> If .lHide
> Set Filter To EMPTY( FacCatCode)
> Else
> Set Filter To
> Endif
Use LOCATE here
> Go Top
> .grdEntryCodes.Refresh()
> Select pxEntryCodes
IF m.lnRecNo<=RECCOUNT()
> Goto lnRecNo
ENDIF
>
>
>Now there are 10 recs in this table (pxEntryCodes) and 56 in its daughter. When all data have been disappeared and I toggle back to display, with the above routine, I get "Record out of range" for the granny and the daughter, i.e. rec no. 11 and 57 respectively.
>
>This suggests that after the filter has been set (on the hide toggle) each table has its record pointer at a "mythical" extra record, at the eof, which is what gets stored in lnRecNo.
>
>At the moment I've commented out the recno bits and left it at Go Top for both grids - no problem. But I would prefer them to go back to the records upon which they weere focusing before the hide toggle.
>
>Any enlightenment?
>
>'Ppreciate it
>
>Terry