Hi Rod,
All that works, but you need to know the steps. Have you created a lookup query? And have you created any lookup fields in the query that will feed the DBGrid?
I put together an example of dbgrid with picklists from lookupfields, check it out.
While you create lookupfields, the lookup query must be ACTIVE otherwise you get an error message because the other query cant read the fields from the lookup query. Likewise when you run your app, the lookup query must of course be activated before the query that uses it is activated.
Conveniently, activating a query automatically activates the associated SQLTransaction. And activating the transaction automatically activates the Connection. So the only thing you actually need to do is to activate the lookup query. You dont have to activate connection or transaction manually.