Помощь - Поиск - Пользователи - Календарь
Полная версия: Ошибка при раюоте с индексными полями
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
klem4
Господа выручайте срочно ... mega_chok.gif

Пытаюсь отфильтровать записи таблицы по диапазону юзая 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)

Значит поехали

Если я пишу

IndexFieldNames := 'Order_Date; Order_WorkerCode';

То мне заявляют для для этих полей индекса нет, хотя он есть (indOrder_WD)

Если я пишу

IndexName := 'indOrder_WD';

indOrder_WD - индекс построеный по полям Order_Date и Order_WorkerCode

Так вот если установить этот индекс текущим, то мне говорят что одно из этих полей не индексировано в зависимости от того как они располагаются в индексе (пробовал и так и так)

Что-же происходит ?!!
klem4
Вопрос закрыт.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.