![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Парадокс с поисом в Paradox [D7, Paradox]
Script © (2005-02-20 16:40:00)Такая странная проблема. Есть таблица в которой у каждого ФИО есть три разных очереди. Надо реализовать быстрый поиск пользователь щелкает на title поля в DBGrid'е по которому будет искать и начинает вводить на клаве цифры(если ищет нужный номер очереди) или буквы(если ищет ФИО). Делаю так:
В OnTitleClick:
if Column.FieldName='N_ob' then data.General.IndexName:='IND_ob';
.....
if Column.FieldName='N_Perv' then data.General.IndexName:='IND_Perv';
SearchField:=Column.FieldName; //глобальная переменная
try
data.General.Locate(SearchField,SearchingText,[loCaseInsensitive,loPartialKey]);
except
end;
Наблюдаю следующее. Ничего не работает. data.General.Locate возвращает False. Думаю "Хм.........". Делаю так - ляпаю на форме кнопку Button1 в ней пишу напрямую
data.General.Locate('N_ob','3',[loCaseInsensitive,loPartialKey]);
Запускаю - не работает. Минут 10 парюсь замечаю следующее. Все работает если текущий индекс(data.General.IndexName) не совпадает с полем по которому идет индекс. Т.е. если:
data.General.IndexName:='IND_Perv';
то
data.General.Locate('N_Perv','3',[loCaseInsensitive,loPartialKey]);
не находит. Если:
data.General.IndexName:='IND_ob';
то
data.General.Locate('N_Perv','3',[loCaseInsensitive,loPartialKey]);
работает. Хз почему так. Может есть какое-то ограничение на Locate о котором я не знаю?
Десять раз перепроверял - все перменные (SerchField,SerchingText) имеют нужное значение.
Кто-нибудь знает в чем дело? Где еще ошибку искать?
Заранее огромное спасибо.
Script (2005-02-20 19:10:00) [1]Yeah! Все заработало. Видимо действительно была порушена одна из таблиц. Я пересоздал все индексы, а н только те на которых тестил. Большее спасибо, что подсказали где ковырять.
Anatoly Podgoretsky (2005-02-20 18:46:00) [2]А может у тебя система неправильно настроена, у тебя когда ни будь оно работало?
Конечно поиск там отвратиельно работает, но не до тпкой же степени. Попробуй сделай тестовую таблицу и тестовую программу, обязательно попробуй на английских и русских символах.
Script (2005-02-20 18:37:00) [3]Так как же еще востанавливать? Удалил, заново создал. Что она все равно порушенной осталась?
Anatoly Podgoretsky (2005-02-20 18:14:00) [4]То что не нашла ничего особенного нет, она тоже Парадокс. А то что порушено так это 100 процентов.
Script (2005-02-20 17:43:00) [5]Попробовал. И tutil32 ошибок не нашла и после пересоздания индексов эфект не изменился. Не в этом дело кажется.
Anatoly Podgoretsky (2005-02-20 17:35:00) [6]Парадока, видимо любимая болезнь попорчены индексы таблицы.
Лечи и так постоянно.