securitywrym: Anything surrounded by square brackets is interpreted as a field name. If it's in a query field, it will prompt for a a criteria value for the field it's in. That is the difference between your 2 code examples. You were referencing a single field [me.fieldname] which doesn't exist. In fact, you don't need the brackets at all. Me.FieldName would be enough. Only if the field name (including control names) contains spaces, certain other special characters, or starts with a number would you need them. All of those situations should be avoided.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.