Getting a read/write SQL query result using a TQuery and a TTable

I am using the following method of selecting records in a TTable using
a TQuery. It allows the records to be selected based on the power of
SQL and also allows them to be modified even if the SQL query does not
produce a live result set.

In the SQL query I select the primary index field of the TTable and
order records using criteria that result in a 'non-live' query result.
I then set the TQuery primary index field as the master field of a
TTable opened on the same base table.

Questions:

1.  Is there a better method of achieving the same outcome.

2.  The result of the TQuery also contains the (quite long) text field
used to order the data. Is there any advantage is dropping all columns
other than the TTable primary key from the TQuery?

--
Chris Isbell
Southampton, England
ch...@isbell.demon.co.uk
+44 1703 465367