|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.08.2014, 15:29 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Сортировка по возрастанию
Доброго времени суток!
В VBA использую такой код Код:
"1 10 11 12 2 20 21 22 3 31 " и т.д. Как получить правильную сортировку по возрастанию? 1 2 3 10 11 12 20 21 22 31 и т.д.
С уважением, Алексей.
|
06.08.2014, 15:40 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Ковертировать Счет№ из символьного в цифровой и сортировать по результату
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.08.2014, 16:14 | #3 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Печально, но похоже задача не решаемая в таком контексте.
С уважением, Алексей.
|
|
06.08.2014, 16:25 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Символьные сортирует по алфавиту, в этом смысле "10" меньше "2". Но "10" больше "_2" (вместо подчеркивания пробел). Но если еще и буквы, да в не фиксированных местах, то никак
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.08.2014, 17:10 | #5 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
В других местах подобный проблемы решались путем добавления незначащих нулей. Перед сортировкой форматируем строку скажем до 10 символов с заполнителем "0". Сортируем, все встает как нужно. А возвращает значение в не форматированном виде.
С уважением, Алексей.
|
06.08.2014, 17:11 | #6 |
Пользователь
Регистрация: 16.07.2014
Сообщений: 62
|
Измени запрос вот так:
Код:
ASC - возрастание |
06.08.2014, 17:20 | #7 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
По умолчанию вся сортировка ASC. Но попробовал. Результат тот же.
С уважением, Алексей.
|
06.08.2014, 21:02 | #8 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,618
|
Цитата:
asd больше 123? - а если это 2 номера? )) |
|
07.08.2014, 08:51 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
Хороший вариант решения - хранить цифровую часть и буквенную в отдельных полях таблицы. Тогда сортировка будет осуществляться просто и эффективно (ORDER BY DogNumeric, DogNumArcticle ) Если это не приемлимо по каким-то причинам, то можно попытаться написать пользовательскую функцию, задача которой вытаскивать из строкового поля нужные для сортировки поля и преобразовавывать их в нужный вид (путём добавления ведущих нулей к цифровой части, например). Как решать конкретную вашу задачу - вам виднее |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сортировка по возрастанию и убывавнию | Randy.Mandy | Microsoft Office Excel | 5 | 21.02.2012 01:28 |
Сортировка массива во возрастанию. | Abuhamed | PHP | 7 | 01.12.2011 23:06 |
Сортировка по убыванию-возрастанию | Gaudi | Microsoft Office Excel | 4 | 29.09.2011 15:08 |
Сортировка строк по возрастанию | westlinex | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 31.01.2011 01:57 |
Сортировка по возрастанию в Stringgride | Китти | Помощь студентам | 2 | 22.12.2009 23:42 |