What I meant was that if you construct a visual query, by pulling in tables and fields .... what Access acually does is turns this into SQL, and then uses the SQL but it insulates you form having to enter the SQL directly
So you have 2 choices - either use the drag and drop approach, or type in the SQL directly
Now, if you have a look at the SQL, using the design option, you will see very quickly
Drag and Drop = easy
Write SQL = hard
but for some simpler things, "write SQL" is easy enough to use in practice. And for union queries, you HAVE to use SQL, as you can't construct them with drag and drop.
And some users are good enough with SQL that they don't have problems writing it straight off.
Having constructed a query, you can then either select it and use it directly - which is not recommended, as you want to have a clean interface that again insulates users (and yourself) from having to remember the details of what every query does ....
so instead you can "call" the query either with a macro, or in code, and attach the macro or code to a button.
You can then give advisory messages to the user, confirm they do want to undertake what ever action they are contemplating - importantly validate any settings that might affect what they are doing, and thereby stop them doing it in some cases ......
Macros are OK, but code is more flexible. Again, anything you can do in a macro, you can do in code, (with a couple of minor exceptions) - but not the other way round. Once you start getting more advanced you will see that code is far more useful and flexible than macros.