Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Парадокс с поисом в Paradox   Найти похожие ветки 

 
Script   (2005-02-20 16:40) [0]

Такая странная проблема. Есть таблица в которой у каждого ФИО есть три разных очереди. Надо реализовать быстрый поиск  пользователь щелкает на 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) имеют нужное значение.
Кто-нибудь знает в чем дело? Где еще ошибку искать?
Заранее огромное спасибо.


 
Anatoly Podgoretsky ©   (2005-02-20 17:35) [1]

Парадока, видимо любимая болезнь попорчены индексы таблицы.
Лечи и так постоянно.


 
Script   (2005-02-20 17:43) [2]

Попробовал. И tutil32 ошибок не нашла и после пересоздания индексов эфект не изменился. Не в этом дело кажется.


 
Anatoly Podgoretsky ©   (2005-02-20 18:14) [3]

То что не нашла ничего особенного нет, она тоже Парадокс. А то что порушено так это 100 процентов.


 
Script   (2005-02-20 18:37) [4]

Так как же еще востанавливать? Удалил, заново создал. Что она все равно порушенной осталась?


 
Anatoly Podgoretsky ©   (2005-02-20 18:46) [5]

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


 
Script   (2005-02-20 19:10) [6]

Yeah! Все заработало. Видимо действительно была порушена одна из таблиц. Я пересоздал все индексы, а н только те на которых тестил. Большее спасибо, что подсказали где ковырять.



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.107 c
14-1109344932
Soft
2005-02-25 18:22
2005.03.20
Предлагаю сделать на форуме раздел newbie-delphi


3-1108636507
msguns
2005-02-17 13:35
2005.03.20
Изменение имени IB-процедуры в IBExpress


3-1108544034
AlexTregubov
2005-02-16 11:53
2005.03.20
Как с помощью SQL-запроса узнать сколько человеку лет?


14-1109578928
AlexG
2005-02-28 11:22
2005.03.20
Обреченность вида - Человек


14-1109416402
boriskb
2005-02-26 14:13
2005.03.20
Вот она - настоящая литература!