If I understand you correctly, the easiest way to achieve what your are requesting is having two SQLQuery components. One for showing the information and the other one to update it.
- Use a SQLQuery1 only to show the information on the DBGrid and keep track of the current record position on DBGrid.
- SQLQuery1.ParseSQL := False;
- Use event OnChange of checkbox field to change information on SQLQuery2.
- At the end, before close the form, clear the SQLQuery1 cache with command:
SQLQuery1.CancelUpdates;