// get a bookmark so that we can return to the same record
SavePlace = ClientDataSet1->GetBookmark();
ClientDataSet1->FindPrior();// move to prior record
PrevValue = ClientDataSet1->Fields->Fields[0]->Value; // get the value
// Move back to the bookmark
// this may not be the next record anymore
// if something else is changing the dataset asynchronously
ClientDataSet1->GotoBookmark(SavePlace);
ClientDataSet1->Fields->Fields[0]->Value = PrevValue; // set the value
ClientDataSet1->FreeBookmark(SavePlace);