Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по работе с индексами. ПОМОГИТЕ!!!! :) 
:(
    Опции темы
XAPuTOH
Дата 5.9.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.9.2006

Репутация: нет
Всего: нет



Доброго времени суток. 
Может кто сталкивался с такой проблемкой. В индексном файле несколько индексов. Одному из котороых соответствует выражение IIF(EMPTY(POLE) , ___LT, POLE) где POLE это поле в таблице а __LT переменная которую знает только досовая программа которая создает и заполняет ДБФку.
Мне из этой таблики нужно сделать определенную выборку, произвести необходимые действия и пометить выбранные записи как обработанные - для чего существует специальное поле которое тоже индексируеться в томже индексном файле.

Так вот при попытке открыть таблицу АДС ругаеться: "3011     Unknown identifier found in index key expression". Так вот ятак понимаю для него переменная __LT неизвестна. Ну допустим значение её я смогу узнать. как мне её АДС подсунуть?

Так вот вопрос. как выйти из ситуации? дос програмку менять не смогу(там целый комплекс програм). 

Да использую компоненты для C++ Builder 6 бесплатные. Apollo так и не смог прикрутить, TDBF не поддерживает CDX индексы. Седня скачал ADS и вот на этом месте встрял.

В общем HELPPPP!!!!!  Вторую неделю не могу дбфку прикрутить smile 
PM MAIL   Вверх
Vyacheslav
Дата 5.9.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 1
Всего: 59



А на самом деле __LT постоянна или может быть изменена досовской программой?


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Vyacheslav
Дата 5.9.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 1
Всего: 59



Подкинуть значение ADSу вы не сможете, но если таблица создается не часто, то можно просто у созданной таблицы заменть выражене индекса на  читаемое типа :IIF(EMPTY(POLE) , 10, POLE) и переиндексировать таблицу. Досовской программе на это будет наплевать(в случае, конечно, если подставленное значение в индексе будет совпадать с __LT) и ADSy будет приятно?
Кстати, что Ваша билдеровская программа будет делать с таблицей?  Только читать  данные или еще и модифицировать таблицу?



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
XAPuTOH
Дата 5.9.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.9.2006

Репутация: нет
Всего: нет



Спасибо за ответ. 
Дело в том что я о существовании этой переменной сам только седня узнал. Знаю что в файле храниться. следовательно могу её както выудить(это уже другой вопрос). но дело в том что АДС автоматом подключает индексный файл и выдает ошибку. как ему подсунуть значение этой переменной в индексное выражение до обращения к индекному файлу? он автоматом заполняет IndexDefs.

Втом то и дело что мне одно поле менять надо которое являеться признаком обработки записи. но это пол беды. Вторая половина это то что это поле индексируеться в том же индексном файле.

Добавлено @ 14:33 
Кажись догнал. Вы предлагаете в самой таблице поменять индексное выражение еще до того как её АДС откроет?
блин думаю не получиться. там целый комплекс програм в большой сетке работают с целой базой. в том числе и с этой таблицей. что в какой момент происходит я еще не разобрался(работаю тут не так долго). так что менять табличку не навредив может не получиться
PM MAIL   Вверх
Vyacheslav
Дата 5.9.2006, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 1
Всего: 59



Я могу описать, как мы выходили из подобной проблемы при работе с Best4. Там к счастью был файл конфигураций, в котором  была записана информация о струтуре таблицы   и  об индексах  для каждой таблице. При необходимости создать таблицу и пересоздать индекс БЕСТ-4 обращался к этому конфигурационному файлу. Мы поправли в конфигурационном файле  индексные выражения таким образом, чтобы  значение индекса не менялось, но ADS это выражение проглатывал. Посмотрите, може Ваш комплекс также содержит подобную информацию вне кода программы.


--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Advantage Database Server | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.