Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема: не работает поиск по полю, при наличии индекса [D7, Paradox]


Andreus ©   (2006-03-01 11:31:00) 

Уважаемые Мастера!

Помогите разобраться пожалуйста, не оставьте на произвол судьбы(!!!), не понимаю в чем дело:

Есть таблица, парадокс 7, создается в Database Desktop: Id (автоинкрементное, ключевое), Fam (стринг), Nam (стринг), Par (стринг) и т.д.
В Database Desktop определяется вторичный индекс, например по полю Fam (фамилия). И все. Перестает работать поиск по этому полю, причем любым методом, что Locate, что методами findnearest, gotokey  и т.д.
При выполнение Locate ничего не происходит и курсор с места не двигается, при выполнении методов с индексацией курсор прыгает на последнюю запись.
Если удаляю вторичный индекс Locate прекрасно работает.
Это что, глюк? Может кто встречался с этим, или я что-то не то делаю.

С уважением, Андрей


Виталий Панасенко   (2006-03-01 15:25:00) [1]

Так, что, как всегда с нами бывает...Я обычно сразу себя подозреваю(по крайней мере, стараюсь). Потом уже начинаю "гнать"..:-))


Andreus   (2006-03-01 15:13:00) [2]

Ептить меня тудыть через тудить!!!! Вроде как работает!

Язык в таблице выбрал - Pdox ANSI Cyrillic, в БДЕ в конфигурации Drivers/Native поставил Pdox ANSI Cyrillic, тоже самое в System/INIT и работает!

Большое чайное спасибо! Спасибо ОТЦЫ!


Виталий Панасенко   (2006-03-01 14:55:00) [3]


> Andreus   (01.03.06 14:39) [11]
> регистр я по опциям не учитываю. Вобщем ерунда. Буду ставить
> 2005 версию. Неповезло мне единолично. Как говорится такое
> бывает одни раз в жизни, и то не у каждого.

Я думаю, что ты что-то неправильно делаешь и установка 2005 ни чем не поможет.


vovnuke   (2006-03-01 14:50:00) [4]

в свойствах таблице в DBD в правом верхнем углу есть выпадающий список там есть накстройка языка.
также языковой драйвер настраивается в BDE.


Andreus   (2006-03-01 14:39:00) [5]

регистр я по опциям не учитываю. Вобщем ерунда. Буду ставить 2005 версию. Неповезло мне единолично. Как говорится такое бывает одни раз в жизни, и то не у каждого.


Andreus   (2006-03-01 14:33:00) [6]

Пробовал
Pdox ANSI Cyrillic
Paradox Cyrr 866
ascii 'ANSI'
Paradox 'ascii'.

Нифига.

Когда таблицу создавал, то никакого языка DBD не дает выбирать.
только Table type - paradox 7, а драйвер Стандарт.


Виталий Панасенко   (2006-03-01 14:24:00) [7]

А регистр ?


Виталий Панасенко   (2006-03-01 14:19:00) [8]


> Andreus   (01.03.06 13:50) [5]
> И что с этим делать, где что поправить?

Создать таблицу с нужным языковым драйвером. Ты когда создавал, он (DBD) позволял выбрать Table language. посмотри.. Выбери, кажись, PDox ANSI Cyrr


Andreus   (2006-03-01 14:19:00) [9]

Покопался в БДЕ, понастраивал Langdriver, ставил кирилицу, разные варианты, но нифига.
Более того сделал для проверки так, что записи только на английском и та же хрень.


Mike Kouzmine   (2006-03-01 13:57:00) [10]

Andreus   (01.03.06 13:05) [3] Попробуй сделать так
Indexname('POFAM'); - делаешь текущим индекс по фамилии.
SetRange('ПЕТРОВ','ПЕТРОВ') - должен получить всех ПЕТРОВ


Andreus   (2006-03-01 13:50:00) [11]

И что с этим делать, где что поправить?


Johnmen   (2006-03-01 13:44:00) [12]

Думаю, всё дело в том, что при наличие индекса, для локейта он и используется. Но сам индекс "кривоватый" в силу наличия русских букв в значениях индексируемого поля...Т.е. упираемся в LANGDRIVER и кодировку...


Andreus   (2006-03-01 13:05:00) [13]

Да, дело табак, аномалия какая-то. Я Дельфи с БДЕ сносил, таблицу заново создавал, может версия Дельфи у меня кривая, потому что поставил на работе, то же самое. Версия 7.0 (Build 4. 453).

Причем этот самый код, когда индекс удаляю прекрасно работает. Вот такие глюки.


Andreus   (2006-03-01 13:00:00) [14]

Код как в учебнике:
table1.locate('fam', edit1.text, [])


Виталий Панасенко   (2006-03-01 12:32:00) [15]

ошибка в строке № 13. Код покажи, а то отсюда не видно, монитор мешает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо