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

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

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


Надеюсь принцип понятен?
...
Рейтинг: 0 / 0
20.02.2004, 14:04
    #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
20.02.2004, 14:06
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нестардатная сортировка / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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