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

Откуда: Орловская область
Сообщений: 123
Подскажите пожалуйста, как сделать следующую вещь.
Мне необходимо перенести данные из одного файла (predp.dbf) в другой (dogovor.dbf). Общее поле в этих таблицах - kod. Вся загвоздка состоит в том, что перед переносом нужно проверить, нет ли новых кодов в файле predp, и если есть, добавить их в файл dogovor. Мне их нужно хотя бы вывести через "?" на экран, а дальше уже сам разберусь. Не знаю, как правильно написать цикл:
============================
set date to german
set century on
set talk on
set deleted on
select 1
use sys(2003)+"\dogovor.dbf"
set order to kod
goto top
****
select 2
use "A:\predp.dbf"
set order to kod
goto top

sele 1
scan

kod_d=kod
sele 2 && PREDP

kod_p=kod
locate for kod_p<>kod_d
if found()
? kod_p
endif
sele 1
endscan
restore screen
clear
close all
========================
Цикл крутится на одной записи.
Помогите вывести все записи из файла predp, которые отсутствуют в файле dogovor.
У меня Fox 2.6 (DOS)
Спасибо.
6 фев 07, 14:12    [3744897]     Ответить | Цитировать Сообщить модератору
 Re: Недостающие записи (Fox Pro 2.6)  [new]
Станислав С
Guest
AlexanderKR
Подскажите пожалуйста, как сделать следующую вещь.
Мне необходимо перенести данные из одного файла (predp.dbf) в другой (dogovor.dbf). Общее поле в этих таблицах - kod. Вся загвоздка состоит в том, что перед переносом нужно проверить, нет ли новых кодов в файле predp, и если есть, добавить их в файл dogovor. Мне их нужно хотя бы вывести через "?" на экран, а дальше уже сам разберусь. Не знаю, как правильно написать цикл:
============================
set date to german
set century on
set talk on
set deleted on
select 1
use sys(2003)+"\dogovor.dbf"
set order to kod
goto top
****
select 2
use "A:\predp.dbf"
set order to kod
goto top

sele 1
scan

kod_d=kod
sele 2 && PREDP

kod_p=kod
locate for kod_p<>kod_d
if found()
? kod_p
endif
sele 1
endscan
restore screen
clear
close all
========================
Цикл крутится на одной записи.
Помогите вывести все записи из файла predp, которые отсутствуют в файле dogovor.
У меня Fox 2.6 (DOS)
Спасибо.

Ну, например, так:
set date to german
set century on
set talk on
set deleted on
select 1
use sys(2003)+"\dogovor.dbf"
set order to kod
goto top
****
select 2
use "A:\predp.dbf"
set order to kod
goto top 

select a.* from predp a;
into cursor query;
where a.kod not in (select kod from dogovor) ;
order by kod 

select query

brow norm
Учите SQL
6 фев 07, 14:22    [3744975]     Ответить | Цитировать Сообщить модератору
 Re: Недостающие записи (Fox Pro 2.6)  [new]
AlexanderKR
Member

Откуда: Орловская область
Сообщений: 123
Благодарю.
6 фев 07, 22:11    [3747161]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить