Per Alans suggestion, to remove the first noisewords for sorting in a query
Code:
SELECT *
FROM tblBooks
ORDER BY Replace(Replace(strConv(left(booktitle,4),3),"The ","",,1,Binary),"A ","",,1,Binary)
Note the space after The and A (otherwise a book called "Theatre Magic" would end up as 'atre Magic')
The 1 after the double comma limits the replace to the first one it finds
the Binary makes it case sensitive - otherwise a book called "Minerva Conquests" would be become "Minerv Conquests" - may not matter for sorting purposes but up to you
the strconv converts your book title to proper case for all words
so this will 'catch' an incorrect case "a town called alice" would otherwise still be sorted on "a town called alice"
However a book called "Winnie The Pooh" will be sorted on "Winnie Pooh". This also can be overcome if required by selecting the first say 4 characters (assuming 'The' is the longest word) and running the routine on that, but to prevent errors you would need to check there are at least 4 characters, then run the routine then add back the remaining characters, something like
ORDER BY Replace(Replace(strConv(iif(len(booktitle)>4,left( booktitle,4),booktitle),3),"The ","",,1,Binary),"A ","",,1,Binary) & iif(len(booktitle)>4,mid(booktitle,5),"")