Interesting, but you haven't provided a single example of your queries. So I'm going to jump-in and say the quickest way to do anything is to run a single query (and in the case of MS Access - run the query as a pass-through query).
This query will extract infromation from the Invoice and InvoiceLinkedTxn tables using the QODBC optimizer (by use of the NOSYNC tag) for maximum speed:
SELECT Invoice.CustomerRefFullName, Invoice.RefNumber, InvoiceLinkedTxn.TxnID, InvoiceLinkedTxn.LinkedTxnTxnType, InvoiceLinkedTxn.LinkedTxnTxnID, InvoiceLinkedTxn.LinkedTxnTxnDate as Date, InvoiceLinkedTxn.LinkedTxnRefNumber as Number, InvoiceLinkedTxn.LinkedTxnAmount as Amount, InvoiceLinkedTxn.BalanceRemaining as Balance from Invoice NOSYNC, InvoiceLinkedTxn NOSYNC where Invoice.TxnID=InvoiceLinkedTxn.TxnID and Invoice.TxnDate >= {d'2007-01-01'} order by Invoice.CustomerRefFullName
If you don't see recent information, resync the optimized tables by running:
sp_optimizeupdatesync Invoice
sp_optimizeupdatesync InvoiceLinkedTxn |