I'm guessing it's a kind of shorthand to make the sample code more readable where you replace the word 'object' or 'objectname' with the your actual control name, say a textbox name on a form.
There used to be a good explanation of Me. . and ! and when each could be used on the forum, but I have no idea how to find it. Me. is a reference to the current object eg a form so if you writing code for that form Me.txtbox2 would reference txtbox2 on that form.
I think there is a performance issue involved but since most of my app's don't have enough data to load them down I simply use me. because is easier and faster than typing the entire thing out -
I see it both ways all the time so there must not be any (significant) reason either way other that making your code easier to read, consistent and hence easier to debug / maintain. I'm sure somewhere someone can come up with a millisecond difference in performance but it's a form not a 10million record query in question...
On the flip side (You had to know this was coming ) I think fully qualifying the object (using the form.formname stuff) may make it easier to transition to other languages down the road as some are pretty anal about exact references, etc... and won't allow such shortcuts...
Using the Me. reference is more useful for setting form/report properties (RecordSource, for example), but unnecessary otherwise. It's an extra identifier that can be confusing if you have more than one form open (a form/subform combination, for example). It can also lead to ambiguous references if you have controls on two different forms with the same name. For example, if you have two forms open, and both contain a field called "Primary_ID", then Me.Primary_ID can lead to unexpected results.
This is very similar to using a With/End With combination, as in this:
Code:
With Me
.RecordSource = "MyRecordSource"
.Caption = "MyForm"
End With
Therefore, if you have one form open called "MyForm" and you have a control on it named "MyTextbox", all of these are identical:
The best practice, IMO, is to avoid Me. when it's not necessary as it's just extra coding. You do need it (or the Forms("MyForm").Form example from above) for setting formwide variables (RecordSource, Caption, etc.), but for individual controls, it's overkill.