Вероятно, это будет медленно:
ORDER BY Mid(Column1,1,Instr(Column1,"*"))
Редактировать комментарий
SELECT Column1
FROM Table
ORDER BY Mid([Column1],1,InStr([Column1],"*")),
Val(Mid([Column1],InStr([Column1],"*")+1));
Пример данных, использованных в тесте:
ID
ab*1
ab*10
ab*2
abcdef*a1
abcdef*10
abcdef*40a
Для пустых значений просто добавьте несколько строк нулевой длины.
SELECT column1
FROM Table
ORDER BY Mid([column1] & "",1,InStr([column1] & "","*")),
Val(Mid([column1] & "",InStr([column1] & "","*")+1));