powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MySort()
9 сообщений из 9, страница 1 из 1
MySort()
    #32218074
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здрасти!
Понадобился интересный наворот и не знаю как к нему подойти.
У главной формы есть субформа. В с.форме покаываются некоторые поля и записи одна за другой (ленточная вроде по-научному). Одно из полей - номер дома. А номера домов бывают всякие. Смешные и не очень. "`55","59-60", "4а" итд. => строки (Text) с самыми разными вариациями пробелов, точек, типе букв и цифр. Нужно сгруппировать записи по цифрам (или вообще своим хитрым способом), но выводить на субформу значения как есть.
Вот примерно так :
4
4a
dz.5
31
`55
59-60
61
62
.
-
Как это можно выполнить, если вообще можно? Очистку и переработку таблицы на сервере не предлагать :) Низзя.
Что-то отдалённо слышал про конструкции, вроде "SELECT MySort(dom) FROM ...." Если такие имеют место быть, как их использовать и как они работают?

За любые напутствия премного буду благодарен.
...
Рейтинг: 0 / 0
MySort()
    #32218080
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, например, SELECT [№ дома] FROM дома WHERE [№ дома] like *5*
...
Рейтинг: 0 / 0
MySort()
    #32218084
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ента конструкция создается в запросе (режим SQL)...
Вместо цифры 5 в выражении ... *5* можно подставить значение к\л поля (например, поле, в котором задаются параметры поиска)....
...
Рейтинг: 0 / 0
MySort()
    #32218100
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
типа можешь не благодарить...
...
Рейтинг: 0 / 0
MySort()
    #32218103
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мысль 1. SELECT должен быть как есть, т.е. без всяких функций, если действительно нужно показывать значения как есть.

Мысль 2. А вот зато ORDER BY (если речь о сортировке, как в примере, а не о группировке, как в тексте вопроса) можно сделать по Val(...). Функция Val берет начальную часть строки, которую можно рассматривать как число, и возвращает значение этого числа.

Мысль 3. Правда, если номер дома начинается не с цифры, то эта функция будет возвращать 0. Так что можно вместо нее написать другую функцию.

Мысль 4. Но при любой сортировке по функции (будь то функция стандартная или своя) работать оно будет медленно. Так что настоятельно советую завести дополнительное поле (что-то типа "числовое значение номера дома"), заполнять его программно одновременно с заполнением самого номера дома, проиндексировать его и сортировать по нему.
...
Рейтинг: 0 / 0
MySort()
    #32218114
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гы-гы, как всегда решение оказывается до безобразия простым. Как всегда хочется изобрести велосипед, причём исключительно для поездок по бровке.
Спасибо.
...
Рейтинг: 0 / 0
MySort()
    #32218122
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир Саныч, а если я к примеру хочу вставить свою функцию вместо Val(), то достаточно подставить её имя с параметрами и где-нибудь на VBA её наваять?

пс: на будущее, чтоб быть вумным :)
...
Рейтинг: 0 / 0
MySort()
    #32218142
dead1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В соседнем топике ссылку нашёл по этому поводу. Всем ещё раз спасибо!
...
Рейтинг: 0 / 0
MySort()
    #32218227
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ответ на 13:14 - да. :^)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MySort()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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