Did you first GOTO the record number you want displayed? Does the grid at least move that row into it's first display row? Or do you have the typical grid goes blank effect? You can't rebuild the grid alias/cursor at runtime with a simple INTO CURSOR samename query. Either you ZAP and SELECT INTO the current grid cursor (which has to be readwrite for that and absolutely not the underlying table) or you temporarily set grid.recordsource="" at least, otherwise nothing will display any data in the grid, from the moment on you rebuild the grid alias name, ie from a SELECT ... INTO CURSOR onwards, because while that regenerates the cursor, in the first moment it's closed and that's when the grids binding is lost, thus the grid loses all it's columns and column controls, and they don't come back next moment.
I actually don't assume you have the grid blanking effect, because that's a much bigger problem than just navigating back to some active row.
Bye, Olaf.