Not sure if you overlooked the fact that what you quoted wasn't directed to you, but the person I was quoting.
While fumbling through your db I see that you've aliased a lot of fields. For me, this is one of those things I learned to not do long ago because of issues that arose. Problem is, when I don't do something for a long time, I sometimes forget why it's not a good thing. Your code doesn't work because
a) you've captioned [Location] as Google Map: or
b) you've used the same alias in 2 or more fields or
c) both.
I removed the alias from Location field and your test form works using [Location]. I thought it should because recordsource fields are supposed to be part of the form collection even when there are no bound fields (not true for reports). Then I wanted to see if it was because of the alias alone or because of the duplication so I tried to put the alias back on Location and remove it from anywhere else I found it. Now the field name has a caption (or so it seems) named Map and no matter what I do to that table I can't get rid of it. I also tried a c/r on the db but it didn't remove the name Map. To test any further I think I'd have to download the db again, but I think I will leave it at that. If you want to know if your prior code will work with a caption on Location AND it is the only instance of that caption, try removing it from any other fields where it might be and see if your code accepts [Location] when that field has the caption Google Map:.
In closing, I don't recall anyone posting that special characters in an alias was a bad thing, just in object names. However, I think we could find posts where developers have said don't use captions either and I subscribe to the latter. I don't see how they are useful since no one should be working directly in tables anyway, only in forms, and form controls have labels that you can put pretty much any caption that provides intuitive information about what the field is for.