FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9212
Вход
"ленивая" переиндексация

упрощает написание процедуры переиндексации


 
Прислал: Sergii---1   Категория: Работа с данными


"ленивая" переиндексация

допустим вы дописываете программу и в конце как всегда - сервисные функции - переиндексация.
у вас уже есть куча баз в которых куча cdx tag-ов
не удобно лазить каждый раз в свойства базы и смотерть инексное выражение , чтобы потом его вставлять в процедуру.

чтобы немного упростить это дело (не заменить!!!) написал небольшую прогу. выберите нужную таблицу и запустите программку, потом полученные строки вставляете в свою процедуру

НО ограничения если у вас не совсем стандартный индекс: есть фильтры
или DESCENDING и т.п. то все таки надо будет ручками эти вещи дописать в процедуру переиндексации.


********************************* begin *****************
SET text on TO 'c:\_list.txt'
set cons off

text
<<'*** индексный файл '>> <>
endtext

FOR nCount = 1 TO 254
IF !EMPTY(TAG(nCount))
text
<<'index on '>><><<' tag '>><><<' additiv'>>
endtext
ELSE
EXIT
ENDIF
ENDFOR
set text to
set cons on

*** открываем файл компируем оттуда текст в процедуру переиндексации
********************************* end *****************

а вот содержимое того файла

*** индексный файл C:\PSB\NEW\CREDIT.CDX
index on KODTT tag TT additiv
index on STR(KODTT,3)+ALLTRIM(NOMER) tag TNOMER additiv
index on STR(KODTT,3)+ALLTRIM(NAME_F) tag TFNAME additiv
index on STATUS tag STATUSD additiv
index on DATE1 tag DOPEN additiv
index on STR(KODTT,3)+STR(KODDOG,6) tag TTDOG additiv
index on STR(KODTT,3)+STR(STATUS,1) tag TTSTATUS additiv

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (5.117)
Дополнения пользователей
"ленивая" переиндексация
[+][?]
Sergii---1
17.06.03 06:25:49

в том что здесь выставлено  ошибки.
странно... я вообше то другой текст программы  сюда закидывал вот такой:

SET text on TO 'c:\_list.txt' 
set cons off 

text 
<<'*** индексный файл '>> << cdx(1) >> 
endtext 

FOR nCount = 1 TO 254 
IF !EMPTY(TAG(nCount)) 
text 
<<'index on '>> <> <<' tag '>>  <>  <<' additiv'>> 
endtext 
ELSE 
EXIT 
ENDIF 
ENDFOR 
set text to 
set cons on 

[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика