Recordset query
A recordset can only be defined with a single SELECT statement (although of course you can select multiple UNIONs if they have the same number of columns).
Any SQL action (INSERT, UPDATE, DELETE) cannot be performed with a recordset, but using the .Execute method.
If you're using ADO, .Execute can also be used for SELECT (it returns rows), but the Jet data interface layer, DAO, cannot - .Execute only works for action queries. This seems reasonable to me, but then ADO always seemed like a waste of time to me.
In addition, Jet (the default db engine used by Access) cannot execute multiple SQL statements at once, as many server-side db engines do. This isn't as much of a limitation as it might seem to those accustomed to batch SQL - it's just different.
source to share