The code looks OK. It should at least display the MsgBox if, indeed, the
BeforeUpdate event was fired. It should not "just do nothing".
Did you edit the Form embedded in the Subform Control to make sure you are
putting it in the correct BeforeUpdate event? Did you, in fact, make some
changes to the data in the Form embedded in the Subform Control when you
tested it?
But, just FYI, unless you are using Access 97, the "@" will not have the
desired effect of starting a new line in the MsgBox. In more recent
versions, you have to force it to use the Access message box rather than the
VBA message box to get that effect, and I don't believe you can do so with
the MsgBox _function_ which you're using.
Larry Linson
Microsoft Access MVP