Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Сортировка записей таблицы

Автор: klem4 17.11.2006 3:01

Такблица paradox. Записи сортируются, но система не хочет реагировать на указания связанные с направлением сортировки, всегда сортирует по возрастанию, почему ?

procedure TfrmStore.Button1Click(Sender: TObject);
begin
with frmMain.tblStore do begin
if rdBtnByOperationNumber.Checked then
IndexName := ''
else
if rdBtnByDate.Checked then
IndexName := 'indSDate'
else
if rdBtnByGoodsCode.Checked then
IndexName := 'indSGoodsCode'
else begin
MessageDlg('Необходимо выбрать поле сортировки', mtInformation, [mbOk], 0);
Abort;
end;

if chkBxDesc.Checked then // <<-------------- Направление должно зависеть от чекбокса ...
IndexDefs[IndexDefs.IndexOf(IndexName)].Options :=
IndexDefs[IndexDefs.IndexOf(IndexName)].Options + [ixDescending]
else
IndexDefs[IndexDefs.IndexOf(IndexName)].Options :=
IndexDefs[IndexDefs.IndexOf(IndexName)].Options - [ixDescending]
end;
end;

Автор: volvo 17.11.2006 3:15

Цитата
всегда сортирует по возрастанию, почему ?

Потому, что параметры из IndexDefs - используются только при СОЗДАНИИ таблицы...

Автор: klem4 17.11.2006 3:30

А как можно поступить в такой ситуации ? В учебнике смотрю, там автор делает также, изменяет эти опции в рантайме ... Странно.

Автор: volvo 17.11.2006 4:05

Цитата
А как можно поступить в такой ситуации ?
AddIndex ?

Автор: Haliam-Baliam 26.05.2007 14:17

У меня почти такой же вопрос. Параметр ixDescending воспринимается как неописанный идентификеатор. Я его пробывал задавать при создании таблицы (DatabaseDesktop) и уже из под Дельфи в свойствах компонента Ttable для каждого индекса. Помогите, пожалуйста!