The solution is to use some access word merge code that outputs the query as a text file and then launches the word template and points the template to that intermediate text file.
There are many advantages to the above approach. For one, you don't let word attached to ms-access, so the whole approach is more stable (one application if it freezes up will not affect the other as easy). If you using sql server, or even a workgroup secured access database, it don't matter because the access code is producing that intermediate file. So, even for SQL server, Oracle, MySql etc the word merge will continue to work since we producing a intermediate text file. So, the same merge system works for JET, MySql, Oracle, SQL server, and things will work REGARDLESS of the security settngs on the database.
Also using a intermediate file also means you don't have to resort to some bookmark example which usually means you have to write new code for every merge (that makes no sense!). And, bookmarks are hard to see and insert into the word document.
Another bonus here is word users can continue to use their training courses and teaching and books and on how to setup a word merge document. Another advantage to using merge fields is they allow live preview of the data during editing and composing of the word template document. And, the final resulting merge document does not have any special codes or fields in it.
I have a working sample here that allows you to word enable any form with ONE line of code. This Super easy word merge system then takes over.
http://www.members.shaw.ca/AlbertKallal/msaccess/msaccess.html
Just scroll down in above until you reach the Super Easy Word merge.
The above will allow your VBA expressions in your query also to be used in the word merge.