powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление полей в таблице
8 сообщений из 8, страница 1 из 1
Обновление полей в таблице
    #32619274
Юр.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеются две таблицы: А с полями А1,А1,А3,А4 и таблица Б с полями А1,Б2,Б3.
Требуется заменить значение поля А1 табл. А на значение поля Б3 если значение поля А1 табл А равно значению поля А1 табл. Б. Если не равно или соответствующее значение в поле А1 табл. Б отсутствует - оставить значение поля А1 табл. А без изменений.
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32619322
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в таблице B есть индекс по полю A1, то это можно сделать так:

Код: plaintext
1.
select A
REPLACE A1 WITH B.Б3 FOR SEEK(A.A1,'B','A1')

Если индекса нет, то несколько сложнее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select B
SET ORDER TO  0 
select A
SET ORDER TO  0 
SCAN
	select B
	LOCATE FOR B.A1 = A.A1
	IF FOUND()
		select A
		REPLACE A1 WITH B.Б3
	ENDIF
ENDSCAN
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32619324
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создай индекс в Б на А1 и установи его ордирофку. Далее
Код: plaintext
1.
2.
SELECT A
SET RELATION TO a1 INTO Б
REPLACE А1 WITH Б.Б3 FOR FOUND('Б')
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32621098
Юр.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал все варианты, но не работает. Причем сканирует как положено, если находит одинаковые номера, то якобы заменяет, но в итоге все по-старому.
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32621101
Юр.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал все варианты, но не работает. Причем сканирует как положено, если находит одинаковые номера, то якобы заменяет, но в итоге все по-старому.
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32621140
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
атрибут файла смотри и или разрешение на сервере на модификацию таблиц
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32621153
Юр.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действия выполняются локально на моем компьютере.
К файлам полный доступ
...
Рейтинг: 0 / 0
Обновление полей в таблице
    #32621229
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
* Создаю исходные данные

CREATE CURSOR tab1 (F1 I)
INSERT INTO tab1 (F1) VALUES ( 1 )
INSERT INTO tab1 (F1) VALUES ( 2 )
INSERT INTO tab1 (F1) VALUES ( 3 )

CREATE CURSOR tab2 (F1 I, F2 I)
INSERT INTO tab2 (F1, F2) VALUES ( 1 ,  10 )
INSERT INTO tab2 (F1, F2) VALUES ( 3 ,  30 )
INDEX ON F1 TAG F1
SET ORDER TO  0 

* Делаю замену

select Tab1
REPLACE F1 WITH tab2.F2 FOR SEEK(tab1.F1,'tab2','F1')

А теперь ищи отличия в твоих таблицах с этим примером
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление полей в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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