Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сортировка в форме
 
 автор: kot_k_k   (08.06.2012 в 14:29)   личное сообщение
 
 

есть текстовое поле вида
1.1
1.2
1.20.1
1.7.1

нужно отсортировать "правильно", а не как текст.

1.1
1.2
1.7.1
1.20.1

срочно, запарка, а я похоже туплю

  Ответить  
 
 автор: osmor   (08.06.2012 в 15:46)   личное сообщение
 
 

вчера с таким же вопросом приходили админы (им нужно ip адреса сортировать)
кроме как "разбить на триады" и преобразовать части в число ничего в голову не пришло.

  Ответить  
 
 автор: kot_k_k   (08.06.2012 в 15:50)   личное сообщение
 
 

да я и так же, но както хочется раз и на всегда

  Ответить  
 
 автор: Анатолий (Киев)   (08.06.2012 в 16:11)   личное сообщение
 
 

Еще можно привеси значения к виду:
01.01
01.02
01.07.01
01.20.01

Т.е. создать функцию, выполняющую преобразование, и сортировать запрос по ее результату.

  Ответить  
 
 автор: Дядя Федор   (08.06.2012 в 16:51)   личное сообщение
 
 


Public Function StringToNum1(strParam As String) As Long
Dim i As Integer, k As Long
Dim c
Dim v
k = 0
v = Split(strParam, ".")
    For i = 0 To UBound(v)
        If IsNumeric(v(i)) Then
        k = k * 1000 + CLng(v(i))
        'Debug.Print i, "k=" & k
        End If
    Next
    StringToNum1 = k
End Function


и запрос значение; StringToNum1(значение) as s
с сортировкой по s

  Ответить  
 
 автор: kot_k_k   (09.06.2012 в 10:13)   личное сообщение
 
 

спасибо други - будем искать

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList