powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нестардатная сортировка
4 сообщений из 4, страница 1 из 1
Нестардатная сортировка
    #32416914
Wantknow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А возможно ли в Access отсортировать записи в таблице по такому принципу:
Есть десятизначный номер, сначала сорт по 4,5,6 знаку,затем по 9,10, потом по 1,2,3 и потом по 7,8?

3 1 4 2
000 000 00 00
...
Рейтинг: 0 / 0
Нестардатная сортировка
    #32416942
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для MDB

Код: plaintext
1.
2.
select * from mytable
order by mid([pole],  4 , 3 ), mid([pole], 7 , 2 )....


Надеюсь принцип понятен?
...
Рейтинг: 0 / 0
Нестардатная сортировка
    #32416945
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mid(ffff,4) по-возр
mid(ffff,5) по-возр
mid(ffff,6) по-возр
mid(ffff,9) по-возр
mid(ffff,10) по-возр
ffff по-возр
mid(ffff,2) по-возр
mid(ffff,3) по-возр
mid(ffff,7) по-возр
mid(ffff,8) по-возр
...
Рейтинг: 0 / 0
Нестардатная сортировка
    #32416947
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо создать функцию, которая будет для каждой записи в таблице возвращать уникальное число, которое определяет сортировку. Добавить поле в запрос, содержащее значение этой функции и сортировать

что-то типа

Код: plaintext
1.
2.
3.
4.
5.
6.
select t.* from [TableName], FnSortOrder(t.NumberValue) as SortOrder
order by FnSortOrder() 

function  FnSortOrder(byref vValue as Variant) 
    FnSortOrder = mid(vValue,  3 ,  3 ) & mid(vValue,  9 ,  2 ) & mid(vValue,  1 ,  3 ) & mid(vValue,  7 ,  2 ) 
end function
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нестардатная сортировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]