I would consider it best practice that each bound control on a
form or report should have a name that relates to the field it's
bound to. Some believe the control name should never be the same
as the actual field name, but rather should be prefixed or
suffixed to identify the type of control. I disagree with that,
but I'm probably in the minority.
If it's a minority, I'm in it with you. I only change the control
names from their default (i.e., the same as the controlsource) when
I need to refer to the control (or the controlsource field in the
recordsource) in code. At that point, I need to use the field or the
control, and they have different properties, so it's crucial that
one disambiguates with one's name.
The question makes me think of the people who insist that a field
name should never used twice in a database, that all tables should
have unique field names. To me, this violates relational integrity,
as you end up with the same data under two different names, as in a
foreign key will end up with a name that is different from the PK it
is related to.
I also re-use these field names in all tables:
Created
Updated
UpdatedBy
It leads to issues when you need both tables in a single form, but
then I just alias the fields in that particular recordsource (and
the logic gets convoluted anyway because you've got to make sure
that you update those fields for the right tables -- in that case,
the aliasing is the least of the complications!).
I think it's really a question very much like this one:
Should I re-use a filename in my C:\Documents folder that I'm
already using in my C:\Data folder?
In that context, it looks like a silly question, since the files are
disambiguated by their containing folder. To me, the control name
and field name questions are exactly the same, as they have
different containing objects, so there's no danger of collision.
Now, one could make the argument that when you join two tables in a
recordsource that have fields with the same names, you have
collisions, and that's true (though I don't see why it bothers
anyone at all), but there is no corresponding situation with forms
where that can happen (you can't join two forms into one in the same
way you can join two tables in SQL).
So, even the argument for unique field names in all tables in a
database (with which I disagree) is not a logical basis for having
unique control names application-wide.