改了進貨量 , 如何更新'庫存量'(編號:2791)

我們常會直接在Grid中改變資料,
但是若改變了這筆資料,我們必需去更動資料庫中其它資料
ex: 改了進貨資料的'進貨量' , 必需去更改'庫存量'
這樣子的一個動作,不知該如何設計比較好耶?
因為若在使用者改了資料後
去下一道 sql command , 以改變庫存量,
但是有可能他改了很多筆record之後, 按了undo , 那怎麼辨 ?
那是不是又要去復原庫存量, (那又要復原回多少?)
還有如何記錄他更改前和和更改後差了多少,
ex: 若原先這筆資料他記錄了進貨量=3, 資料庫中總庫存=5
現在把3改成4, 庫存應該變成6,