Форум «Всё о Паскале» _ Делфи _ Ошибка при раюоте с индексными полями
Автор: klem4 22.12.2006 1:22
Господа выручайте срочно ...
Пытаюсь отфильтровать записи таблицы по диапазону юзая SetRange по 2 полям, вот таким образом:
procedure TfrmOrder.BitBtn1Click(Sender: TObject); begin
with frmMain.tblOrder do begin
IndexName := 'indOrder_WD'; // построен по полям Order_Date и Order_WorkerCode
SetRangeStart; FieldByName('Order_Date').AsDateTime := DTPedtStart.Date; if cmbBxWorkerCode.ItemIndex > 0 then FieldByName('Order_WorkerCode').AsInteger := StrToInt(cmbBxWorkerCode.Items[cmbBxWorkerCode.ItemIndex]); SetRangeEnd; FieldByName('Order_Date').AsDateTime := DTPedtFinal.Date; ApplyRange;
// ...
Загвоздка находится вот в этой строчке :
IndexName := 'indOrder_WD;
Я в setrangestart/setrangeend работаю с 2 полями, соответсвенно оба эти поля должны быть индексированы и выставлены как текущий индекс. Оба эти поля индексированы сам по себе, + я сделал для инх общий индекс (который посроен по 2 этим полям Order_Date и Order_WorkerCode)
То мне заявляют для для этих полей индекса нет, хотя он есть (indOrder_WD)
Если я пишу
IndexName := 'indOrder_WD';
indOrder_WD - индекс построеный по полям Order_Date и Order_WorkerCode
Так вот если установить этот индекс текущим, то мне говорят что одно из этих полей не индексировано в зависимости от того как они располагаются в индексе (пробовал и так и так)