Hi,
None. They both primary refer to the control, if there is one of the
supplied name. A control belong to the form (class with visual component), a
field belong to a table (abstraction of data organization). Only if there is
no control of the given name does ! refer to the field of the RecordSource
of the form.
I would use the dot, it uses the object-syntax, and allow you to get
intellisense.
Rather than the !, someone did suggest, in the past, to use
Me.Recordset.Fields("Fieldname")
Hoping it may help,
Vanderghast, Access MVP