Here is the sql code. I am sure it is the joins that are wrong but... I originally wrote this programme in Amstrad Locoscript. Whilst I have a Windows version, it is not very happy and keeps crashing, plus it will not work on Vista when I eventually have to upgrade. Howver, it does absolutely everything I want (including look ups!).
SELECT Sales.OrderNo, Sales.Confirmation, Sales.Item1, Sales.Quantity1, Sales.Price1, Sales.Item2, Sales.Quantity2, Sales.Price2, Sales.Item3, Sales.Quantity3, Sales.Price3, Sales.Item4, Sales.Quantity4, Sales.Price4, Sales.Item5, Sales.Quantity5, Sales.Price5, Sales.Special, Sales.Invoiceno, Sales.ANoteAttached, Sales.CustOrderNo, Sales.Delivery, Sales.TC, Sales.PlainPack, Sales.Discount, Sales.Terms, Sales.ID, Sales.Total1, Sales.Total2, Sales.Total3, Sales.Total4, Sales.Total5, Sales.VAT, Sales.Grandtotal, Sales.Totalgoods, Sales.TotalQuantity, Sales.[Inv/Rcpt], Sales.SupplyID, Sales.DlyID, Sales.InvID, Sales.SupplyAddress1, Sales.SupplyAddress2, Sales.SupplyAddress3, Sales.SupplyAddress4, Sales.SupplyAddress5, SupplyAddress.ID, SupplyAddress.SupplyAddress1, SupplyAddress.SupplyAddress2, SupplyAddress.SupplyAddress3, SupplyAddress.SupplyAddress4, SupplyAddress.SupplyAddress5, SupplyAddress.SupplyID, DlyAddress.ID, DlyAddress.DlyAddress1, DlyAddress.DlyAddress2, DlyAddress.DlyAddress3, DlyAddress.DlyAddress4, DlyAddress.DlyAddress5, DlyAddress.SupplyID, DlyAddress.DlyID, InvAddress.ID, InvAddress.InvAddress1, InvAddress.InvAddress2, InvAddress.InvAddress3, InvAddress.InvAddress4, InvAddress.InvAddress5, InvAddress.InvID
FROM ((Sales INNER JOIN DlyAddress ON Sales.ID = DlyAddress.ID) INNER JOIN InvAddress ON Sales.ID = InvAddress.ID) INNER JOIN SupplyAddress ON Sales.ID = SupplyAddress.ID
ORDER BY Sales.OrderNo;