>>By the way, thanks. Exactly what you said, the child table pointer was reset because my navigation class selects my master table on refresh. I will try to see how I can solve the problem.
>>
>>Just a sidetrack, when I have parent-child-grandchild form with the child and grandchild in grid, the grandchild is not set to table-buffering automatically by VFP. Is this by design? My form is set to optimistic.
Yes, this is by design. Just re-set the grandchild's buffering in the data environment.
>
>I have a part of the coding as follow:
>
> APPEND BLANK
> REPLACE pagr_key WITH pa_grade.pagr_key, roll_no WITH cRoll_no
> nWorkarea=select()
> nrecno = recno()
> THISGRID.REFRESH()
> select (nWorkarea)
> go (nrecno)
>
>I got the error 'record is out of range'. I have checked that the table before append and after refresh is the same (by using messagebox) and that the appended rec no is -ve. What can go wrong?
>
>This is bad... I hope you can give me some clues.
>
>Thanks.
Tai, try it without the () on the GO (nRecno) line.
Also, is there a tableupdate in your Refresh code? That would change the negative recno to a positive one. Check the actual recno() with your message boxes or with debug.
Barbara