From a recent response to a similar question:
The chances are that the queries use wildcards, and use the older Jet
convention where "*" stands for a number of characters and "?" stands for a
single character. Access/Jet can be in one of two modes (see ANSI SQL Qeury
mode" in Access Help for more info): Jet mode (as above) and ANSI mode,
where the equuivalent wildcard characters are % and _. Unfortuantely, when
you get data via the Jet OLEDB provider (which is what Word 2003 does by
default), you have to use the ANSI wildcards. if you try to get data from a
query that uses the Jet wildcards, nothing is retrieved unless the database
has been converted to ANSI Query mode (and since making that change has
consequences for everything that works with an Access database, it needs to
be thoroughly planned and tested).
When you connect to Access data for use as a mail merge data source in Word
2003, you can connect using DDE, which opens Access and uses Access to
execute the queries (I think). However, that option is not available, as far
as I know, when you get data using a DATABASE field (you can select a DDE
option but the resulting field fails). So as far as I know the only
workarounds are:
a. change your database format and all the queries with wildcards
b. in Access, duplicate all the queries with wildcards, and modify the
duplicates so that they use the ANSI wildcards. Use the original queries
when in Access and the duplicates in Word (but of course, if your queries
reference other queries, it's a bit more complicated...)
Peter Jamieson