Use fields to split the three values into two text and one number field. Sort on these fields instead of this combined field.
You can either have three fields for the three values and use a fourth calculation field to combine them into your current format for display and search purposes or you can keep this in one field and define three calculation fields that extract the data.
Calculations that extract the data:
Prefix: LeftWords(combinedfield ; 1 )
Suffix: RightWords ( combinedField ; 1 )
A calculation that combines the data from three separate fields:
Prefixfield & " " & Numberfield & " " & Suffixfield
Well, that works as long as there is only one prefix letter in the call number. This works for the prefix and will return the exact letters:
Left(Left(call_number; Length(call_number)-Length(GetAsText(GetAsNumber(record number)))-1);4)
I need something like this for the suffix word, perhaps?
Well, that works as long as there is only one prefix letter in the call number.
You have confused the function LeftWords with the function Left.
LeftWords( field ; 1 ) will return all characters up to the first space. So this will work with any number of letters in that first part.