![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 844
|
![]()
Доброго времени суток!
В VBA использую такой код Код:
"1 10 11 12 2 20 21 22 3 31 " и т.д. Как получить правильную сортировку по возрастанию? 1 2 3 10 11 12 20 21 22 31 и т.д.
С уважением, Алексей.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ковертировать Счет№ из символьного в цифровой и сортировать по результату
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 844
|
![]() Цитата:
Печально, но похоже задача не решаемая в таком контексте.
С уважением, Алексей.
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Символьные сортирует по алфавиту, в этом смысле "10" меньше "2". Но "10" больше "_2" (вместо подчеркивания пробел). Но если еще и буквы, да в не фиксированных местах, то никак
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 844
|
![]()
В других местах подобный проблемы решались путем добавления незначащих нулей. Перед сортировкой форматируем строку скажем до 10 символов с заполнителем "0". Сортируем, все встает как нужно. А возвращает значение в не форматированном виде.
С уважением, Алексей.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.07.2014
Сообщений: 62
|
![]()
Измени запрос вот так:
Код:
ASC - возрастание |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 844
|
![]()
По умолчанию вся сортировка ASC. Но попробовал. Результат тот же.
С уважением, Алексей.
|
![]() |
![]() |
![]() |
#8 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
asd больше 123? - а если это 2 номера? )) |
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Хороший вариант решения - хранить цифровую часть и буквенную в отдельных полях таблицы. Тогда сортировка будет осуществляться просто и эффективно (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 |