Sounds like you'd rather continue on with what sounds like a poorly designed db (sorry to have to say) rather than start over. Can understand that somewhat as it can be hard to accept that you should start over on something. As a woodworker, I get it; the difference being once I'm done, it's done with. On the other hand, you will continue to struggle or at least work harder at it continually. 60 possible items in your combo list, so you have 60 buttons?? Why not a single combo box with a 'find as you type' feature?
Anyway, one way of populating a form field or making some other type of decision related to a button click or similar user event is to make use of the OpenArgs parameter of the DocCmd.Open[something] method.
Code:
DoCmd.OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)
Maybe you'd write DoCmd.OpenForm ("frmMyForm", acNormal,,,,,"Patio"), then in the form's Open event, you do whatever is needed based on its OpenArgs property value.
Me.txtLocation = Me.OpenArgs