![]() |
#20 |
Участник
|
Не "заставить", а "попросить".
SETCURRENTKEY лишь добавляет ORDER BY в сиквельный запрос. Индекс выбирает SQL. И это лишь совпадение что он выбирает то что передано в ORDER BY. Попробуйте наложить много фильтров, сделав SETCURRENTKEY на ключ с большим количеством полей (именно те, по которым накладывался фильтр). Или например так: GLEntry.RESET; GLEntry.SETCURRENTKEY("Transaction No."); GLEntry.SETRANGE("G/L Account No.",'000.'); GLEntry.SETFILTER("Entry No.",'<10'); Кстати сколько записей у вас в GLEntry? P.S. Признаться честно, не понимаю почему SQL 2000 так нелепо выбирает индексы для запроса. Все ваши примеры на 2005 работают по другому. Завтра поставлю 2000 и потестирую. |
|