![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема: не работает поиск по полю, при наличии индекса [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. Код покажи, а то отсюда не видно, монитор мешает.