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

Откуда:
Сообщений: 91
Привет всем!
Я впервые на этом форуме, а также новичок в Fox-е.
Подскажите:
у меня две базы, мне необходимо из базы1 таблицы1 (содержит поле1,поле2,поле3,поле4) скопировать записи с полями - поле1 и поле3 в другую базу2 таблицу2 (поле1,поле2), чтобы таблица1.поле1=таблица2.поле1 и таблица1.поле3=таблица2.поле2. Вообщем вставить уже введённые данные из одной базы в другую.
Спасибо
12 авг 04, 10:12    [876160]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Какая версия FoxPro?
Существуют ли индексы по полям: таблица1.поле1 и таблица1.поле3?
12 авг 04, 10:15    [876169]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Ольга!
Member

Откуда:
Сообщений: 91
Привет,ВладимирМ!
Версия 5.0,индексы по полям такие:
база1 таблица1 поле1-первичный ключ,поле2,поле3,поле4
база2 таблица2 поле1-первичный ключ,поле2
12 авг 04, 10:38    [876270]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Тогда у тебя есть такой способ:

USE table1 IN 0
USE table2 IN 0

select table1
SCAN
	select table2
	LOCATE FOR field1 = table1.field1 AND field2 = table1.field3
	IF FOUND() = .F.  
	* т.е. таких значений еще нет. Вставляем новые данные
		INSERT INTO table2 (field1, field2) VALUES (table1.field1,table1.field3)
	ENDIF
ENDSCAN
12 авг 04, 11:40    [876556]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Ольга!
Member

Откуда:
Сообщений: 91
Огромное спасибо,ВладимирМ!
Сейчас буду пробовать, и глупый вопрос, всё это дело вставляется в командное окно?
Я работала в Access-е, поэтому сложно.
12 авг 04, 11:47    [876602]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
В VFP5 в командном окне можно выполнять только по одной строчке за раз. Т.е. цикл просто не пройдет. Собственно, командное окно - это штука исключительно для отладки.

Поэтому создай новый файл PRG (Пункт главного меню File -> New -> Programm), скопируй в него этот код (подкорректируй, где нужно) и запусти на выполнение нажав на иконку с восклицательным знаком. Или в командном окне:

DO MyProg.prg

Здесь MyProg.prg - эот имя этого нового PRG-файла.

Да, еще, приведенный код будет работать без проблем, если имена таблиц Table1 и Table2 разные. Если же они одинаковые, то надо будет кое в чем изменить код.
12 авг 04, 11:54    [876634]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Ольга!
Member

Откуда:
Сообщений: 91
ВладимирМ!
Всё работает, буду разбираться с Fox-ом дальше,спасибочки
13 авг 04, 10:13    [879265]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Johnny_lcool
Member

Откуда: Новороссийск
Сообщений: 67
Есть вариант попроще - через Union (если поля одинакового типа):

Select field1, field2
from table2
union
select field1, field3
from table1

По умолчанию - удалит все дублирующиеся записи, если после Union поставить ALL то совместит полностью обе таблицы несмотря на повторяющиеся записи...
13 авг 04, 10:24    [879326]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Pavel_t
Member

Откуда: МО
Сообщений: 92
ВладимирМ
В VFP5 в командном окне можно выполнять только по одной строчке за раз.

Прошу прощения , но вкомандном окне можно выполнять циклы
если выделить строки в блок и нажать ввод
т.е. сразу выболняется весь выделенный блок

.... и только время боится пирамид!
13 авг 04, 10:52    [879448]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Я считал, что выполнение команд блоками в командном окне - это нововведение 6 версии. С 5 не работал, поэтому наверняка сказать не могу.
13 авг 04, 11:42    [879702]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Satvic
Member

Откуда: ИззаБугра
Сообщений: 11
в 5й все можно .. я тоже с 6й на 5ю перешел (заставили) так что все анальным казалось. в 6й ничего нового особенно нет, просто все организовали получше :)
13 авг 04, 19:56    [881636]     Ответить | Цитировать Сообщить модератору
 Re: Выбор записей с определёнными полями  [new]
Kravtsov
Member

Откуда:
Сообщений: 9
Если поля названы одинаково и имеют одинаковую размерность не проще ли APPEND FROM?
13 авг 04, 20:05    [881650]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить