Are you trying to update your database records based on the prices that are entered on the screen? To do that you’ll need to get the data from the screen and pass it to your function that does the QueryApply. Try using a RecordControl at the top level of your Controller controls. Then in your On_Ok method you should be able to reference the RecordControl’s data (which should include all the price amounts entered on the screen) by using .Data.Get()
Once you have the screen data you can pass it to your Inv_price_update function. Assuming your parameter is called data, the line to set the cb_price field would then be:
x.cb_price = data.ncb_price
I hope I am understanding what you are trying to do.