:: Visual Foxpro, Foxpro for DOS
Как программно прочитать фильтр в индексе
hikmetrza

Сообщений: 36
Откуда: Baku
Дата регистрации: 09.07.2011
Добрый день.

Нуждаюсь в помощи. Мне из обстоятельств надо временно автоматизировать процесс переноса базы из MSSQL в Foxpro. В таблицах фокса есть индексы. После переноса данных в фокс мне надо создать индекс. Столкнулся с проблемами: в некоторых справочных таблицах кроме индекса еще есть фильтр для индекса. Как мне программно создать эти фильтры.

[attachment 33537 sprav.png]

P.S. Индексы читаю с помощью КЕЙ,ТАГ. Варианты с АППЕ ФРОМ далее РЕИН не предлогать
Заранее благодарю за помощь и советы.
Ratings: 0 negative/0 positive
Re: Как программно прочитать фильтр в индексе
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
При создании индекса есть опция FOR <условие>

В приведённом примере:

INDE... FOR kod>0 and sta=0

Использование опций FOR и UNIQUE одновременно не допускается,так как может приводить к некорректному результату.



Исправлено 1 раз(а). Последнее : Simple777, 21.07.20 10:12
Ratings: 0 negative/1 positive
Re: Как программно прочитать фильтр в индексе
hikmetrza

Сообщений: 36
Откуда: Baku
Дата регистрации: 09.07.2011
INDEX ON eExpression TO IDXFileName | TAG TagName [BINARY]
[COLLATE cCollateSequence] [OF CDXFileName]

[FOR lExpression]

[COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]

если я смогу прочитать "lExpression" то в дальнейшем буду использовать как вы указали
Ratings: 0 negative/0 positive
Re: Как программно прочитать фильтр в индексе
Дмитрий Петров

Сообщений: 3066
Откуда: Пермь
Дата регистрации: 09.07.2001
Sys(14)
посмотрите
Ratings: 0 negative/1 positive
Re: Как программно прочитать фильтр в индексе
hikmetrza

Сообщений: 36
Откуда: Baku
Дата регистрации: 09.07.2011
Благодарю Дмитрий Петров. Получил то что надо

[attachment 33539 sprav2.png]

но с 14 не получился. помог мне 2021
спасибо всем.
Ratings: 0 negative/0 positive
Re: Как программно прочитать фильтр в индексе
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Вообще говоря, наличие функций ALLTRIM() для индексного выражения выглядит сомнительным, поскольку длина индексного выражения должна быть фиксированной и постоянной.
Ratings: 0 negative/1 positive
Re: Как программно прочитать фильтр в индексе
hikmetrza

Сообщений: 36
Откуда: Baku
Дата регистрации: 09.07.2011
Я ради интереса спросил у отдела отчета. Говорили что именно такое им очень нужно.
Ratings: 0 negative/0 positive
Re: Как программно прочитать фильтр в индексе
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
hikmetrza
Я ради интереса спросил у отдела отчета. Говорили что именно такое им очень нужно.
Я что -то не понял откуда и куда перенос? Если как в первом посте
hikmetrza
из MSSQL в Foxpro
, то почему индексы смотрятся в фоксе и используются конструкции, которых в MS Sql нет? Или таки из фокса на сервер? Тогда хотелки с Alltrim в выражении индекса идут лесом.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Как программно прочитать фильтр в индексе
hikmetrza

Сообщений: 36
Откуда: Baku
Дата регистрации: 09.07.2011
Из за временного проблемы (кому та из высших не понравился новый форма отчета) они вернулись на старый фокс программы который готовить отчеты из таблиц с такими и еще другими индексами. И по этому временно вынуждены выгрузить обратно из СГЛ в фокс.
Ratings: 0 negative/0 positive
Re: Как программно прочитать фильтр в индексе
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
ATAGINFO() сразу все параметры индексов даёт.

А при использовании ALLTRIM нужно всё выражение привести к фиксированному размеру при помощи скажем PADR.


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Как программно прочитать фильтр в индексе
akvvohinc
Автор

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
hikmetrza
но с 14 не получился. помог мне 2021

Для этого есть функция с "нормальным" именем - FOR().
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 15 dafni_2004 kornienko_ru  (Гостей: 13)

© 2000-2024 Fox Club 
Яндекс.Метрика