___Lamo |
Отправлено: 30.04.2004, 13:06 |
|
Не зарегистрирован
|
Есть у меня таблица Paradox7, прицепленая через Ttable и отображаемая в DBGrid, как я могу отсортиовать таблицу по указанному полю по возрастанию(A,B,C...; 1,2,3...; 27.02.2004,28.02.2004,29.02.2004...) |
|
olegenty |
Отправлено: 30.04.2004, 14:29 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
IndexFields выстави, или работай через TQuery с инструкцией ORDER BY
|
|
___Lamo |
Отправлено: 01.05.2004, 10:38 |
|
Не зарегистрирован
|
А как IndexFields в Table-e выставлять, примерчик не подбросите:-) |
|
olegenty |
Отправлено: 03.05.2004, 07:04 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
CODE |
TTable1->IndexFieldNames = "Field2;Field1;Field5";
|
вот и будет индексироваться таблица по трём полям. но будет плохо, если реального индекса по этим полям у тебя нет.
|
|
Guest |
Отправлено: 04.05.2004, 19:31 |
|
Не зарегистрирован
|
Мне надо сортировать таблицу по полю Users(оно у меня 1-е), я пишу: Table1->IndexFieldNames = "Users"; И у меня вылетает ошибка: ...Table1: No index for fields Users, че мне нужно сделать, и можно с примерчиком:-)
Пробовал и через SQL пишу:
select * from CLIENTS.db order by Users
Таблица CLIENTS.db находится в текущей папке программы, но при активации query вылетает ошибка: Field in order by must be in result set
без order by Users таблица нормально открывается. В чем дело?
Заранее благодарен |
|
olegenty |
Отправлено: 05.05.2004, 06:44 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
случай сложный...
для использования IndexFieldNames, естественно должен быть полезный индекс по пополям, перечисляемым в данном свойстве. у тебя такого индекса нет, отсюда и ошибка.
касаемо запроса с ORDER BY — вчитайся в сообщение об ошибке. твой Query говрит тебе, что ты не включил в результат выборки поле Users, а надо...
|
|
** demon |
Отправлено: 14.05.2004, 14:21 |
|
Не зарегистрирован
|
я использовал функцию FindNearst и сортировка шла на ура и по буквам и по цифирям туда и обратно |
|