:: Архив конференции по VFP до 2005 года
Как сделать цикл?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
Что то туплю. Как сделать цикл?

Есть таблица в которой перечислены названия (алиасы) других таблиц. Так вот, как организовать цикл для этих таблиц?
Тоесть сначала выбрать первую таблицу из списка, что-то с ней сделать, потом вторую и т.д.

И вообще, может быть есть уже готовые алгоритмы для управления большим количеством таблиц?
Ratings: 0 negative/0 positive
Re: Как сделать цикл?
Владимир Максимов

Сообщений: 14098
Откуда: Москва
Дата регистрации: 02.09.2000
Как мне кажется, этот код уже тебе приводили примерно неделю назад. Тогда ты двигался по директориям. Здесь то же самое.

Таблица TabList имеет поле FileName C(128) содержащая имя таблицы (допускается путь доступа и расширение)

LOCAL lcFileName
select TabList
SCAN
lcFileName = tabList.FileName
USE (m.lcFileName)
ENDSCAN

Это общая схема. В окончательном варианте надо добавить ряд проверок (факт существования такой таблицы, факт ее открытия ранее и т.п.)




------------------
Ratings: 0 negative/0 positive
Re: Как сделать цикл?
mmt

Сообщений: 12
Дата регистрации: 05.02.2005
можно что-то вроде этого

sele 1
use tab1 &&таблица в которой перечислены названия (алиасы) других таблиц.
scan
sele 2
use (F_name) &&F_name -поле в котором имена таблиц
..... && что-то с ней сделать
use
sele 1
endscan

Конечно предполагается что таблицы указанные в поле f_alias находятся в текущей директории или доступны по set path
Ratings: 0 negative/0 positive
Re: Как сделать цикл?
mmt

Сообщений: 12
Дата регистрации: 05.02.2005
Вдогонку
Извини под f_alias в последней строчке следует читать f_name
Ratings: 0 negative/0 positive
Re: Как сделать цикл?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
Спасибо Владимир.

Вы безусловно правы, проведя параллель с кодом недельной давности. Но здесь (возможно из-за моей природной тупости или по какой то другой причине) я не сообразил как вытаскивать значение ячейки из таблицы.

А за тот код огромное спасибо.
;)
Ratings: 0 negative/0 positive
Re: Как сделать цикл?
rusl
Автор

Сообщений: 200
Откуда: СПб
Дата регистрации: 01.02.2005
to MMT

Боюсь, такой код не сработает. Он не находит таблицу с именем (F_name).
Ratings: 0 negative/0 positive
Re: Как сделать цикл?
Sergey Fadeev

Сообщений: 106
Откуда: Чебоксары
Дата регистрации: 07.02.2005
Цитата:
Но здесь (возможно из-за моей природной тупости или по какой то другой причине) я не сообразил как вытаскивать значение ячейки из таблицы.
При открытии:
use (tab1.F_name) alias incycle
А потом обращайся всегда через алиас incycle.<fieldname>.
Ratings: 0 negative/0 positive


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

On-line: 12 (Гостей: 12)

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