|
|
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Собственно, сабж. В таблице лежат IP адреса. Как заставить Access'ку правильно сортировать их в ленточной форме? Есть ли, вообще, маска для ввода IP адресов, как в настройках сети в системе? Сейчас192.168.0.1192.168.0.11192.168.0.2 а хотелось бы Хотелось бы192.168.0.1192.168.0.2192.168.0.11 а то у меня несколько сетей с сотнями адресов и такая фигня получается, что ни найти нужный, ни найти не занятый. Жаль, что нет функций в Jet SQL как в T-SQL - тогда вопрос бы решился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 11:54:17 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Talen Жаль, что нет функций в Jet SQL как в T-SQL - тогда вопрос бы решился. 1 не очень понятно - функции в Access есть и вызывать их можно из запроса 2 у тебя сейчас сортируется ка текст , хочешь по другому - умножь каждую тетраду на соответствующую степень 16 ,сложи - сортируй по полученному числу 3 маску можно писать самому ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 11:58:49 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Напиши функцию, которая из адреса посчитает число и по нему отсортируй что-то типа Dim a a=split(x,".") Fn1=cInt(a(0))*..*cInt(a(3)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 11:59:19 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Чуш какую написал:^) Вместо Fn1=cInt(a(0))*..*cInt(a(3)) Fn1=cInt(a(0))*256*256*256+..+cInt(a(3)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:01:40 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
SharkFn1=cInt(a(0))*..*cInt(a(3)) Fn1=cInt(a(0))*256*256*256+..+cInt(a(3)) Это все понятно. Я имел ввиду сохраненные на серваке функции. Все усложняется тем, что у меня клиент не совсем на Access'ке, а серверная часть на Access'ке. А как самому написать маску, чтобы между тетрадами можно было пробелом переходить и чтобы не заставляла вводить полные тетрады, т.е. не 192.168.000.001, а 192.168.0.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:08:54 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Talenа то у меня несколько сетей с сотнями адресов и такая фигня получается, что ни найти нужный, ни найти не занятый. Может лучше использовать DHCP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:10:53 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что эти маски одинаковы для всех языков, баз, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:11:45 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
для маски я бы использовал 4 отдельных поля,по нажатию пробела прыгал в следующее + убирал бланкированные нули,например Format - ом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:12:43 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
BaginМожет лучше использовать DHCP? Сети не мои. Я всего лишь программку админам ваяю. А насчет DHCP - спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:13:55 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Shuhardдля маски я бы использовал 4 отдельных поля,по нажатию пробела прыгал в следующее + убирал бланкированные нули,например Format - ом В принципе, можно. А потом в таблице собирать их запросом. А тоже думал над этим, но все-таки сортировка... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:16:49 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
TalenЯ так понимаю, что эти маски одинаковы для всех языков, баз, ... 1 не могу согласиться - маска IP для СУБД ,мягко говоря крайне специфична 2 существует целый слой утилит для хранения IP , в том числе бесплатные - знают-ли об этом админы-заказчики ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:20:27 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Talen Shuhardдля маски я бы использовал 4 отдельных поля,по нажатию пробела прыгал в следующее + убирал бланкированные нули,например Format - ом В принципе, можно. А потом в таблице собирать их запросом. А тоже думал над этим, но все-таки сортировка... хранить нужна в 2-х видах как строку - для вывода и как денежный для сортировки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:25:42 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
1. Админы-заказчики мне бабки платят и незачем им ничего знать + проект довольно специфичный - "ЧИСТА ДЛЯ НАС". 2. хранить нужна в 2-х видах как строку - для вывода и как денежный для сортировки. Можно по-подробней. Причем тут деньги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:32:21 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Деннежный тип хорош тем, что он с фиксированной точкой, хорощо подходит для данной задачи. Long - плох тем, что он знаковый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:34:50 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Alexey ShДеннежный тип хорош тем, что он с фиксированной точкой, хорощо подходит для данной задачи. Long - плох тем, что он знаковый А можно binary использовать. А как Access'ке указать, что тут поле такое-то, а показывать надо другое? И как это редактировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 12:37:30 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
автор А как Access'ке указать, что тут поле такое-то, а показывать надо другое? И как это редактировать? не надо усложнять - сделай 2 поля, данные обновляй одновременно - денежное используй только для сортировки и видеть его пользователю не надо P.S. Long согласен не удобен знаком,адреса выше 127.255.255.255 придется делать отрицательными и для сортировки извращаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 13:16:47 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
именно приведенные для примера сортировать можно так SELECT tbl.ip FROM tbl ORDER BY Val(Left(tbl.ip,3)), Val(Mid([tbl].[ip],5,3)), Val(Mid(tbl.ip,9,1)), Val(Right(tbl.ip,Len(tbl.ip)-InStr(9,tbl.ip,"."))); можно и доработать для сортировки всех диапазонов :), но это мне лень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 13:42:23 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Пропустил, что клиент не акцессный, за что и извиняюсь. не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 13:45:02 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Talen Shuhardдля маски я бы использовал 4 отдельных поля,по нажатию пробела прыгал в следующее + убирал бланкированные нули,например Format - ом В принципе, можно. А потом в таблице собирать их запросом. А тоже думал над этим, но все-таки сортировка... А вот этот вариант самый приемлемый (ИМХО) хранишь в табле 4 поля (байтовых) по ним и сортируешь: Order By IP1, IP2, IP3, IP4 а для вывода делаешь представление, в котором эти поля уже будут склеенные: (IP1 & "." & IP2 & "." & IP3 & "." & IP4) AS IP И все - и нет проблем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 13:45:38 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Пропустил, что клиент не акцессный, за что и извиняюсь. не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 13:48:36 |
|
||
|
Сортировка по IP адресу
|
|||
|---|---|---|---|
|
#18+
Alexander GПропустил, что клиент не акцессный, за что и извиняюсь. не поможет. Клиент на Дельфе, но он очень лихо запросы, сохраненные в БД, поднимать умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2004, 14:10:24 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32843518&tid=1669548]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 404ms |

| 0 / 0 |
