I agree with the loop and tag. However, if you're naming your controls properly (OK, that might be a matter of opinion) a message like "Please provide data for txtPropNum" won't do for some users. I prefer to get the attached/associated label caption as it's easy to reference and most often is easy for the user to relate to, but not if it's unattached.
as in
strMsg = strMsg & ctl.Controls(0).Caption & vbcrlf
because controls like textboxes have a controls collection if the label is attached, albeit only one member.
FWIW, I once had my loop error out because one control didn't have a .Tag property, yet I've never been able to find one that didn't after Access 2003 so maybe that will never be an issue going forward.
EDIT - saw response after posting. Fairly certain your code prevents you from using the Tag property on any other control on the form for any other purpose.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.