AnsiString ss;
ss = Column->FieldName;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from table1 order by "+ss);
ADOQuery1->Open();
ADOTable, ADOQuery и индексы.
AnsiString ss;
ss = Column->FieldName;
ADOtable1->IndexFieldNames = ss;
и тогда по щелчку на названии поля по таблице будет проводится сортировка данных.
проблема в использовании TADOQuery, у которого нет
IndexFieldName. Есть только IndexFieldCount, IndexFields, IndexName. Скажите можно ли проиндексировать (отсортировать)используя эти свойства (или другие) либо ADOQuery для этого не предназначен.
Цитата:
Originally posted by greyich
Если на форме лежит DBGrid и к нему прикреплен TADOTable, то в событии TitleClick очень удобно написать
AnsiString ss;
ss = Column->FieldName;
ADOtable1->IndexFieldNames = ss;
и тогда по щелчку на названии поля по таблице будет проводится сортировка данных.
проблема в использовании TADOQuery, у которого нет
IndexFieldName. Есть только IndexFieldCount, IndexFields, IndexName. Скажите можно ли проиндексировать (отсортировать)используя эти свойства (или другие) либо ADOQuery для этого не предназначен.
Если на форме лежит DBGrid и к нему прикреплен TADOTable, то в событии TitleClick очень удобно написать
AnsiString ss;
ss = Column->FieldName;
ADOtable1->IndexFieldNames = ss;
и тогда по щелчку на названии поля по таблице будет проводится сортировка данных.
проблема в использовании TADOQuery, у которого нет
IndexFieldName. Есть только IndexFieldCount, IndexFields, IndexName. Скажите можно ли проиндексировать (отсортировать)используя эти свойства (или другие) либо ADOQuery для этого не предназначен.
Query - это sql - запрос и его упорядочивание производится с помощью конструкции order by.
Поэтому сделать можно так:
Код: