USE ChildTable INDEX ON PADL(Transform(Quote_no),20) + Density + Thickness TAG MyOrder USEPADL pads the left with spaces so all entries are the same length.
USE ChildTable INDEX ON PADL(Transform(Quote_no),20) + PADL(TRANSFORM(Density),20) + PADL(TRANSFORM(Thickness),20) TAG MyOrder USENow to use this index you need to set your grid's properties to ...
LinkMaster set to the name of the alias of the parent table RelationalExpr set to Quote_no ChildOrder set to MyOrder (or whatever name you gave the index tag when you created it above)The reason this works is that the beginning of the index expression is your linking value between the tables. Since Fox stops comparing when the shorter value is exhausted it will find the matches in the child on Quote_no. However because the index's expression also includes the denstiy and thickness after the quote_no the records will be ordered on density + thickness within quote_no and you get the ordering that you want.