|
Вопрос # 935/ вопрос открыт / |
|
Здравствуйте!
БД, таблица Paradox.
Строковое значение поля, при записи в поле строковых
значений 1... 1500 получаю 1,11..19,2,21..29,3,31 и т.д.
Как получить нормальный порядок следования цифр ?
Это нужно для задания таких значений как - 123а, 45б и пр.
Буду чрезвычайно благодарен тому, кто поможет мне.
Аркадий.
 |
Вопрос задал: Arkadiy (статус: Посетитель)
Вопрос отправлен: 23 сентября 2007, 07:30
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович
Здравствуйте, Arkadiy!
Разделите на два поля: no и lt - числовое и строковое соответственно и пишите число в числовое, а "нечисло" - в строковое. Или всё - в строковое, а цыфры - в числовое. Тогда будет нормальная сортировка.
Мини-форум вопроса
Всего сообщений: 9; последнее сообщение — 28 октября 2007, 09:21; участников в обсуждении: 3.
|
Dron (статус: Студент), 23 сентября 2007, 18:04 [#1]:
Уточните, пожалуйста, вопрос. Вы в текстовое поле записываете цифры, а впоследствии при выборке они идут не по порядку?
С уважением.
|
|
Arkadiy (статус: Посетитель), 25 сентября 2007, 05:49 [#2]:
Числа идут по порядку, но некоторые с буквами.
Идея понятна, но не очень коректна!.
Неужели нет способа отключения нежелательной сортировки?
Arkadiy
|
|
Arkadiy (статус: Посетитель), 26 сентября 2007, 06:44 [#3]:
Нахожусь в тупике.Не могу дальще продвигаться.
Нужна помощь ЗНАТОКА !
Спасибо.
Аркадий
|
|
Feniks (статус: Бакалавр), 26 сентября 2007, 16:44 [#4]:
Здравствуйте, Arkadiy!
Попробуйте поэкспериментировать с индексами. В Парадоксе можно индексировать паля. Если поля не имеет индекса, то оно не будет автоматом сортироваться в самой БД. Возможно у Вас не БД делает сортировку, а те компоненты или средства, которыми Вы пользуетеся для выборки и/или обработки данных.
|
|
Arkadiy (статус: Посетитель), 27 сентября 2007, 06:20 [#5]:
Здравствуйте, Feniks.
Спасибо за совет.
У меня поле проиндексировано. Попробую убрать индекс.
Аркадий.
Может у кого-нибудь есть еще идеи ?.
|
|
Feniks (статус: Бакалавр), 27 сентября 2007, 09:58 [#6]:
Только Вы учтите, что после удаления индекса порядок уже существующих записей не изменится, а вот новые будут добавляться по порядку в конец. И если у вас таблица большая и записей там очень много, ключевые поля, по которым Вы делаете выборки/поиск данных, все-таки надо индексировать для увеличения быстродействия БД. Но как показываем мой опыт, если даже в таблице несколько тысяч строк и полей несколько, то отсутствие индексов на современной технике практически не ощутимо.
Еще одна идея. Это делать выборку из БД и уже самому сортировать данные как надо, т.е. нужна своя функция для сортировке и отображения данных. Но опять таки, если цифры представлены в тексте, то правельно они не отсортируются, т.к. сортировка делается согластно таблице кодов и сравнение идет по символу слева на право.
|
|
Dron (статус: Студент), 27 сентября 2007, 11:34 [#7]:
Feniks:
Цитата:
> Это делать выборку из БД и уже самому сортировать данные как надо, т.е. нужна своя функция для сортировке и отображения данных. Но опять таки, если цифры представлены в тексте, то правельно они не отсортируются, т.к. сортировка делается согластно таблице кодов и сравнение идет по символу слева на право.
Не понимаю... При написании своей функции сортировки можно делать вообще всё, что угодно. А вы тут же говорите, что даже с функцией они правильно не отсортируются.
Функция сортировки - сравнение двух элементов. Здесь можно и буквы учитывать и их отсутствие. Всё очень даже получится. Единственная неприятность - работать будет дольше, чем сортировка в БД.
С уважением.
|
|
Arkadiy (статус: Посетитель), 29 сентября 2007, 07:12 [#8]:
Спасибо всем.
Попробую реализовать ваши предложения.
С уважением
Аркадий
|
|
Arkadiy (статус: Посетитель), 28 октября 2007, 09:21 [#9]:
Можно ли в строковом поле БД Парадокса
отключить сортировку чисел ?
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|