Edgar is right about not PACKing after every delete. It's a bad habit to get into, because a) large tables will slow you down and b) when you want an app to be multiuser you won't be able to get exclusive use of the table for packing.
The grid problem has to do with removing the data source from the grid. Are you doing a "USE MyTable EXCL" before you pack?
To get around this, set the grid recordsource to "" (empty string) before you change the data then set it back.
thisform.MyGrid.Recordsource = ""
use MyTable Excl
pack
use MyTable SHARED
thisform.Mygrid.Recordsource = "MyTable"
HTH
Barbara
>I have a grid on a form which contains several fields from a table.
>
>I use the grid to select a records with AfterRowColChange.
>
>If I delete a record and pack the table, everything vanishes from the grid.
>
>How do I refresh it again?