![]() |
|
|
![]()
|
|
| XAPuTOH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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!!!!! Вторую неделю не могу дбфку прикрутить |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 59 |
А на самом деле __LT постоянна или может быть изменена досовской программой?
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 59 |
Подкинуть значение ADSу вы не сможете, но если таблица создается не часто, то можно просто у созданной таблицы заменть выражене индекса на читаемое типа :IIF(EMPTY(POLE) , 10, POLE) и переиндексировать таблицу. Досовской программе на это будет наплевать(в случае, конечно, если подставленное значение в индексе будет совпадать с __LT) и ADSy будет приятно?
Кстати, что Ваша билдеровская программа будет делать с таблицей? Только читать данные или еще и модифицировать таблицу? -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| XAPuTOH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.9.2006 Репутация: нет Всего: нет |
Спасибо за ответ.
Дело в том что я о существовании этой переменной сам только седня узнал. Знаю что в файле храниться. следовательно могу её както выудить(это уже другой вопрос). но дело в том что АДС автоматом подключает индексный файл и выдает ошибку. как ему подсунуть значение этой переменной в индексное выражение до обращения к индекному файлу? он автоматом заполняет IndexDefs. Втом то и дело что мне одно поле менять надо которое являеться признаком обработки записи. но это пол беды. Вторая половина это то что это поле индексируеться в том же индексном файле. Добавлено @ 14:33 Кажись догнал. Вы предлагаете в самой таблице поменять индексное выражение еще до того как её АДС откроет? блин думаю не получиться. там целый комплекс програм в большой сетке работают с целой базой. в том числе и с этой таблицей. что в какой момент происходит я еще не разобрался(работаю тут не так долго). так что менять табличку не навредив может не получиться |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 59 |
Я могу описать, как мы выходили из подобной проблемы при работе с Best4. Там к счастью был файл конфигураций, в котором была записана информация о струтуре таблицы и об индексах для каждой таблице. При необходимости создать таблицу и пересоздать индекс БЕСТ-4 обращался к этому конфигурационному файлу. Мы поправли в конфигурационном файле индексные выражения таким образом, чтобы значение индекса не менялось, но ADS это выражение проглатывал. Посмотрите, може Ваш комплекс также содержит подобную информацию вне кода программы.
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Advantage Database Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |