* Grid save and restore WITH THISFORM.Grid1 LOCAL laCols(.ColumnCount), lnCnt, lcRecordSource FOR lnCnt = 1 TO .ColumnCount laCols(lnCnt) = .Columns(lnCnt).ContolSource ENDFOR lcRecordSource = .RecordSource .RecordSource = "" * Do your thing here .RecordSource = lcRecordSource FOR lnCnt = 1 TO .ColunmCount .Columns(lnCnt).ControlSource = laCols(lnCnt) ENDFOR ENDWITHYou can greatly simplify everything for yourself by using views (that is real views in a database), private data sessions, and the other features of Visual Foxpro instead of using the features left over from FoxBASE +. You would spend less time learning those features than it will take to get this working the way you are doing now.