Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выбор записей с определёнными полями / 12 сообщений из 12, страница 1 из 1
12.08.2004, 10:12
    #32645910
Ольга!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Привет всем!
Я впервые на этом форуме, а также новичок в Fox-е.
Подскажите:
у меня две базы, мне необходимо из базы1 таблицы1 (содержит поле1,поле2,поле3,поле4) скопировать записи с полями - поле1 и поле3 в другую базу2 таблицу2 (поле1,поле2), чтобы таблица1.поле1=таблица2.поле1 и таблица1.поле3=таблица2.поле2. Вообщем вставить уже введённые данные из одной базы в другую.
Спасибо
...
Рейтинг: 0 / 0
12.08.2004, 10:15
    #32645917
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Какая версия FoxPro?
Существуют ли индексы по полям: таблица1.поле1 и таблица1.поле3?
...
Рейтинг: 0 / 0
12.08.2004, 10:38
    #32645988
Ольга!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Привет,ВладимирМ!
Версия 5.0,индексы по полям такие:
база1 таблица1 поле1-первичный ключ,поле2,поле3,поле4
база2 таблица2 поле1-первичный ключ,поле2
...
Рейтинг: 0 / 0
12.08.2004, 11:40
    #32646166
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Тогда у тебя есть такой способ:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
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
...
Рейтинг: 0 / 0
12.08.2004, 11:47
    #32646190
Ольга!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Огромное спасибо,ВладимирМ!
Сейчас буду пробовать, и глупый вопрос, всё это дело вставляется в командное окно?
Я работала в Access-е, поэтому сложно.
...
Рейтинг: 0 / 0
12.08.2004, 11:54
    #32646206
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
В VFP5 в командном окне можно выполнять только по одной строчке за раз. Т.е. цикл просто не пройдет. Собственно, командное окно - это штука исключительно для отладки.

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

DO MyProg.prg

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

Да, еще, приведенный код будет работать без проблем, если имена таблиц Table1 и Table2 разные. Если же они одинаковые, то надо будет кое в чем изменить код.
...
Рейтинг: 0 / 0
13.08.2004, 10:13
    #32648059
Ольга!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
ВладимирМ!
Всё работает, буду разбираться с Fox-ом дальше,спасибочки
...
Рейтинг: 0 / 0
13.08.2004, 10:24
    #32648092
Johnny_lcool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Есть вариант попроще - через Union (если поля одинакового типа):

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

По умолчанию - удалит все дублирующиеся записи, если после Union поставить ALL то совместит полностью обе таблицы несмотря на повторяющиеся записи...
...
Рейтинг: 0 / 0
13.08.2004, 10:52
    #32648176
Pavel_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
ВладимирМВ VFP5 в командном окне можно выполнять только по одной строчке за раз.

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

.... и только время боится пирамид!
...
Рейтинг: 0 / 0
13.08.2004, 11:42
    #32648341
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Я считал, что выполнение команд блоками в командном окне - это нововведение 6 версии. С 5 не работал, поэтому наверняка сказать не могу.
...
Рейтинг: 0 / 0
13.08.2004, 19:56
    #32649441
Satvic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
в 5й все можно .. я тоже с 6й на 5ю перешел (заставили) так что все анальным казалось. в 6й ничего нового особенно нет, просто все организовали получше :)
...
Рейтинг: 0 / 0
13.08.2004, 20:05
    #32649450
Kravtsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор записей с определёнными полями
Если поля названы одинаково и имеют одинаковую размерность не проще ли APPEND FROM?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выбор записей с определёнными полями / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]