Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2008, 22:31   #1
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию Плохо работает сортировка

Здравствуйте!
Подскажите, пожалуйста, в чем ошибка!
У меня таблица Paradox. Использую Table, a не Query. C запросом понятно, как выполнять сортировку, а вот в Table у меня сортировка плохо работаеют.
Форма, где указываются параметры сортировки имеет две RadioGroup, в первой определяется поле сортировки, а во второй возрастание и убывание.
В первой группе последний индекс убирает сортировку вообще (то есть как было первоначально все)

Сортировку делала по примеру из книжки:
Код:
Case RadioGroup1.ItemIndex of
0: Form6.Table1.IndexName:='indZak';
1: Form6.Table1.IndexName:='indModel';
2: Form6.Table1.IndexName:='indZavkkm';
3: Form6.Table1.IndexName:='';
end;

Case RadioGroup2.ItemIndex of
0: Form6.Table1.IndexDefs[Form6.Table1.IndexDefs.IndexOf(Form6.Table1.IndexName)].Options:=Form6.Table1.IndexDefs[Form6.Table1.IndexDefs.IndexOf(Form6.Table1.IndexName)].Options+[ixDescending];

1: Form6.Table1.IndexDefs[Form6.Table1.IndexDefs.IndexOf(Form6.Table1.IndexName)].Options:=Form6.Table1.IndexDefs[Form6.Table1.IndexDefs.IndexOf(Form6.Table1.IndexName)].Options-[ixDescending];
end;
Но поля сортируются как попало, как будто возрастание и убывание меняются местами периодически (то нормально, то наоборот), а то вообще не работает сортировка.

В чем моя ошибка?
Заранее спасибо :-)
Lady_olga вне форума Ответить с цитированием
Старый 02.06.2008, 19:10   #2
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию

Неужели никто не может подсказать??? Пожалуйста!!! Очень надо!
Lady_olga вне форума Ответить с цитированием
Старый 03.06.2008, 10:16   #3
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

А почему бы Вам не использовать Query, зачем такие сложности, можно ж ведь по-другому.
Мой совет: не зацикливайтесь на одном, решений одной и той же задачи есть множество, пользуйтесь этим.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 03.06.2008, 11:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В чем моя ошибка?
В выборе Парадокса. Очень некузявая СУБД, сам сталкивался с его плохими индексами.
Если не стеснит прикрепи сюда проект с базой я могу посмотреть конкретнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2008, 18:52   #5
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от D-mon Посмотреть сообщение
А почему бы Вам не использовать Query, зачем такие сложности, можно ж ведь по-другому.
Мой совет: не зацикливайтесь на одном, решений одной и той же задачи есть множество, пользуйтесь этим.
Я понимаю, что с Query было бы намного проще, но проблема такова, что все остальные функции приложения, уже работают с Table.
Переход на Query сводит на нет всю проделанную работу + уже нет времени.

Stilet, спасибо за предложение, но мой проект с базой огромный, ты в нем скорее всего запутаешься.

Буду искать выходы.
Lady_olga вне форума Ответить с цитированием
Старый 03.06.2008, 18:55   #6
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

А автозаменой Table1 -> Query1... Должно покатить...
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 04.06.2008, 06:46   #7
Avalonix
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 57
По умолчанию

хм. А разве нельзя одновременно в проекте использовать и Table и Query??
Avalonix вне форума Ответить с цитированием
Старый 04.06.2008, 08:14   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Слушай, Оля, а чего ты не пользуешся IndexFieldNames?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2008, 12:58   #9
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию

При использовании IndexFiledNames в таком виде:
Код:
Case RadioGroup1.ItemIndex of
0: Form6.Table1.IndexFieldNames:='Zak';
1: Form6.Table1.IndexFieldNames:='Model_kkm';
2: Form6.Table1.IndexFieldNames:='Zav_kkm';
3: Form6.Table1.IndexFieldNames:='';
end;
Работает только сортировка по возрастанию по полю Zak
Lady_olga вне форума Ответить с цитированием
Старый 04.06.2008, 12:59   #10
Lady_olga
Пользователь
 
Регистрация: 16.03.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Avalonix Посмотреть сообщение
хм. А разве нельзя одновременно в проекте использовать и Table и Query??

Использовать можно, и в некоторых модулях программы я так и делаю. Но вот в модуле, где нужно сделать сортировку (он у меня большой) уже реализовано добавление, редактирование и т.д. через Table. Времени нету уже переделывать все на Query
Lady_olga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему Сбербанк - это плохо? Alar Свободное общение 10 15.10.2008 13:52
Плохо загружается компьютер L_M Компьютерное железо 1 05.06.2008 16:42
TDBgridEh -не работает Сортировка adminhl БД в Delphi 0 01.04.2008 20:40
обновление на сайте как-то плохо пашет ivactrl PHP 8 29.11.2006 18:36