|
|
|
MySort()
|
|||
|---|---|---|---|
|
#18+
Здрасти! Понадобился интересный наворот и не знаю как к нему подойти. У главной формы есть субформа. В с.форме покаываются некоторые поля и записи одна за другой (ленточная вроде по-научному). Одно из полей - номер дома. А номера домов бывают всякие. Смешные и не очень. "`55","59-60", "4а" итд. => строки (Text) с самыми разными вариациями пробелов, точек, типе букв и цифр. Нужно сгруппировать записи по цифрам (или вообще своим хитрым способом), но выводить на субформу значения как есть. Вот примерно так : 4 4a dz.5 31 `55 59-60 61 62 . - Как это можно выполнить, если вообще можно? Очистку и переработку таблицы на сервере не предлагать :) Низзя. Что-то отдалённо слышал про конструкции, вроде "SELECT MySort(dom) FROM ...." Если такие имеют место быть, как их использовать и как они работают? За любые напутствия премного буду благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 12:48 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
Ну, например, SELECT [№ дома] FROM дома WHERE [№ дома] like *5* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 12:51 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
ента конструкция создается в запросе (режим SQL)... Вместо цифры 5 в выражении ... *5* можно подставить значение к\л поля (например, поле, в котором задаются параметры поиска).... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 12:53 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
типа можешь не благодарить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 13:00 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
Мысль 1. SELECT должен быть как есть, т.е. без всяких функций, если действительно нужно показывать значения как есть. Мысль 2. А вот зато ORDER BY (если речь о сортировке, как в примере, а не о группировке, как в тексте вопроса) можно сделать по Val(...). Функция Val берет начальную часть строки, которую можно рассматривать как число, и возвращает значение этого числа. Мысль 3. Правда, если номер дома начинается не с цифры, то эта функция будет возвращать 0. Так что можно вместо нее написать другую функцию. Мысль 4. Но при любой сортировке по функции (будь то функция стандартная или своя) работать оно будет медленно. Так что настоятельно советую завести дополнительное поле (что-то типа "числовое значение номера дома"), заполнять его программно одновременно с заполнением самого номера дома, проиндексировать его и сортировать по нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 13:03 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
Гы-гы, как всегда решение оказывается до безобразия простым. Как всегда хочется изобрести велосипед, причём исключительно для поездок по бровке. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 13:08 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, а если я к примеру хочу вставить свою функцию вместо Val(), то достаточно подставить её имя с параметрами и где-нибудь на VBA её наваять? пс: на будущее, чтоб быть вумным :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 13:14 |
|
||
|
MySort()
|
|||
|---|---|---|---|
|
#18+
В соседнем топике ссылку нашёл по этому поводу. Всем ещё раз спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2003, 13:26 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1680306]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 365ms |

| 0 / 0 |
