Ayrin
Can you confirm that your code is VBA (and not VBTools)?
Is your unit price field located on the grid?
(Things may get a bit complicated if it is not.)
I think the simplest way to populate the cExtension control should be to use the SetObjectValue API call.
So, your code might look like this...
I'm just typing this into this message, so there may be the odd typo...
qty = Me.cQtyOrdered.Ctlget_Text
price = CDbl(ChkStrg)
extension = FPMult(qty, price, MONEY)
serr1 = SetObjectValue("cExtension", Extension)
My memory is a little vague offhand.
It is possible that the SetObjectValue call may require a string as its final parameter.
(I'm assuming that Extension is a Double).
If that call is unhappy, try converting your Extension variable to a String.
I've omitted your line
Me.cExtension.Ctlset_Text(extension)
I wasn't very sure what that was doing.
I've also left unchanged your line which uplifts Qty. I don't quite understand it, but, from your xcomments, it seems that it works!
A possible alternative might be
qty = GetObjectValue ("cQtyOrdered")
Does that help?
Barry