OK, now for that mass update. I don't know all your object names so change my names to yours as necessary.
First include a public sub procedure in your subform.
Code:
Public Sub UpdateTaxRate(curTaxRate as Currency)
'Use a clone to avoid disturbing current pointer.
Dim rstClone As DAO.Recordset
Set rstClone = Me.RecordsetClone
With rstClone
.MoveFirst
Do Until .EOF
.Edit
!TaxRate = curTaxRate
.Update
.MoveNext
Loop
End With
Set rstClone = Nothing
End Sub
I don't know the data type of TaxRate; I have assumed it is Currency but if it's something else then change the procedures argument definition accordingly (highlighted in red above). Also the recordset update should be enclosed in a BeginTrans - CommitTrans pair but that's a little beyond this example.
Now in the main form for the TaxRate control's Before Update event, code:
Code:
Me.sfrProductList.Form.UpdateTaxRate Me.TaxRate
Change the blue text to whatever you have named the subform control on the main form.
All should now work. Let us know how you get on.