Lookup fields are something of an "Access special": you can only create them
in Access, only when you are using a .mdb format database, and only Access
looks them up. Everything else that uses Access data just sees the foreign
key field that you (typically) have in the table definition. To put it
another way, Access creates and maintains the illusion that the table (and
queries based on it) contain data from the lookup table, but they don't:
anything that tries to get the data from outside Access only sees the fields
defined in the underlying Jet database. In this particular case, that
appears to apply even when you use DDE to get the data from Access.
At least, that's how I think it works. I don't personally think it is a very
good idea for a database system to obscure things in that way, but there you
go.
Anyway, all I can suggest is that you ensure that the fields you actually
need are explicitly listed in the field list in your queries. If you are
just using "*", or tablename.*, the chances are that you will not get the
fields you want.
Peter Jamieson