Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Помогите!!!!!! Просто зашиваюсь!  [new]
paule
Member

Откуда: Братск
Сообщений: 236
ПОмогите плизз..

Необходимо на фоксе 2.5 сделать прогу, которая из таблицы V в таблицу C перебросит данные. В обоих таблицах есть поля fio и account.
Так вот необходимо из таблицы С перебросить значение account в таблицу V, в строку где fio совпадают.

Помогите. Блин хелпа по фоксу нет, на другом это сделать не могу так как драйверов нет!!!!

Напишите код ..
С фоксом не работал раньше!!!!!!


Плиииззз.
А необходимо в течении часа это сделать!!!!!!!!!
13 май 04, 12:24    [675829]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!!!!!! Просто зашиваюсь!  [new]
Urri
Member

Откуда: Москва
Сообщений: 2693
Примерно так можно

set exact on
use v in 0 alias vt
use c in 0 alias ct
select vt
index on fio to fio.idx
select ct
set relation to fio into vt
scan for !empty(fio) and found('vt') and ct.account <> vt.account
  replace account with vt.account
endscan
close data
erase fio.idx

Пиво по факсу ;-)
13 май 04, 12:43    [675901]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!!!!!! Просто зашиваюсь!  [new]
paule
Member

Откуда: Братск
Сообщений: 236
Нет наврал я, в таблице V поля соответственно name и lizchet

Как в этом то случае, что поменять.
И без команды scan можно это сделать както
В таблице, куда вставлять надо, уже у некоторых есть лицевые, и их трогать не надо, а у тех кого нет - вставить.
А прога наоборот, удаляет у тех у кого есть, и вставляет тем у кого нет!
13 май 04, 13:13    [676017]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!!!!!! Просто зашиваюсь!  [new]
paule
Member

Откуда: Братск
Сообщений: 236
Ток не бросайте меня, люди добрые! :(((
13 май 04, 13:14    [676022]     Ответить | Цитировать Сообщить модератору
 Re: Помогите!!!!!! Просто зашиваюсь!  [new]
Urri
Member

Откуда: Москва
Сообщений: 2693
Да, предполагается, что у name длина та же, что и у fio!!!

set exact on
use v in 0 alias vt
use c in 0 alias ct
nlen = len(ct.fio)
select vt
index on padr(name,nlen) to fio.idx
select ct
set relation to fio into vt
scan for !empty(fio) and found('vt') and ct.account <> vt.lizchet and empty(ct.account)
  replace account with vt.lizchet
endscan
close data
erase fio.idx

Без scan'а, можно, но думать надо.
Help update, например. (В fp 2.5 update не имеет отношения к sql.)
13 май 04, 14:17    [676227]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить