powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / установка отношений
10 сообщений из 10, страница 1 из 1
установка отношений
    #33536442
Snow Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы, можно ли установит между ними отношения по полям,. которые не совпадают по своему названию. Тоесть есть таблица А с полем Поле1 (не уникальное значение) и таблица Б с полем Поле2(уникальное значение). заранее спасибо за ответы
...
Рейтинг: 0 / 0
установка отношений
    #33536463
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT TableA
SET ORDER TO Pole2 IN TableB
SET RELATION TO Pole1 INTO TableB ADDITIVE
...
Рейтинг: 0 / 0
установка отношений
    #33536807
Snow Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовала сделать так, но надо, чтобы эти данные отображальсь в Grid, а он девственно пуст :). Хотя может я еще где намутила.
Уточнение:
1) установить отношение между указанными полями
2) в Гриде отобразить данные таблицы А, а в следующей колонке - соответствующее поле таблицы Б (не поле 2)

Сорри, если не совсем корректно поставлен вопрос
...
Рейтинг: 0 / 0
установка отношений
    #33536840
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверь есть ли фильтр какой на TableA
в гриде grd.RecordSource='TableA'
а сырцы колонок
grc1.ControlSource='TableA.Pole1'
grc2.ControlSource='TableB.Pole13'
...
Рейтинг: 0 / 0
установка отношений
    #33541584
Snow Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фильтров нет.
Но, насколько я понимаю необходимо указывать области, в которых открываются эти таблицы. Или я в чем-то ошибаюсь. Может неправильно заданы они.

SELECT 1
USE tableA
INDEX ON PoleNN TO c:\tableA "индексирование по кокому-то полю с уникальным значением"
SELECT 2
USE tableB
INDEX ON Pole2 TO c:\tableB
SET ORDER to Pole2 IN tableB
SELECT 1
SET RELATION TO Pole1 INTO tableB additive

Я попыталась таким образом интерпретировать Ваш код. Может неправильно :)

Для колонок и для Грида данные установлены так, как Вы написали.
...
Рейтинг: 0 / 0
установка отношений
    #33541967
Doktor Gradus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT 1
USE tableA
INDEX ON PoleNN TO c:\tableA
SELECT 2
USE tableB
INDEX ON Pole2 TO c:\tableB
SET ORDER to Pole2 IN tableB
SELECT 1
SET RELATION TO Pole1 INTO tableB additive

То есть я правильно понял, tableA это родительская, tableB это дочерняя, и связать надо так:

tableA.PoleNN <--> tableB.pole2?

Попробуйте так:

Код: plaintext
1.
2.
3.
4.
SELECT tableB
SET ORDER TO pole2 && при наличии SELECT tableB или SELECT  2  писать здесь IN tableB совсем не обязательно. и наоборот.

SELECT tableA
SET RELATION TO PoleNN INTO tableB

К сожалению, фокса нет под рукой, и код проверить не могу, заранее извиняюсь, если что.
...
Рейтинг: 0 / 0
установка отношений
    #33542085
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если вот это посмотришь?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
CREATE CURSOR tableA (pole1 N( 2 ), poleNN N( 2 ), string C( 20 ))
CREATE CURSOR tableB (pole2 N( 2 ), string C( 20 ))
FOR nCntA= 1  TO  10 
	INSERT INTO tableA VALUES(nCntA, nCntA* 2 , 'tableA '+PADL(nCntA, 2 ,'0'))
	FOR nCntB= 1  TO  3 
		INSERT INTO tableB VALUES(nCntA, 'tableB '+PADL(nCntB, 2 ,'0'))
	ENDFOR
ENDFOR

**	то што было сверьху
*SELECT  1 
*USE tableA
SELECT tableA && фставил
INDEX ON PoleNN TO c:\tableA && "индексирование по кокому-то полю с уникальным значением"
*SELECT  2 
*USE tableB
SELECT tableB  && фставил
INDEX ON Pole2 TO c:\tableB
SET ORDER to Pole2 IN tableB
SELECT  1 
SET RELATION TO Pole1 INTO tableB additive

SET SKIP TO tableB &&  вот тута  1 :М еще воткн:Ем
** и смотрим связочку
BROWSE FIELDS tableA.pole1, tableA.poleNN, tableA.String, ;
	tableB.pole2, tableB.String
...
Рейтинг: 0 / 0
установка отношений
    #33542474
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snow OwlПопробовала сделать так, но надо, чтобы эти данные отображальсь в Grid, а он девственно пуст :). Хотя может я еще где намутила.

и кстати таблицы должны быть открыты либа до запуска формы, либа в DE формы, либа в frm.Load()
...
Рейтинг: 0 / 0
установка отношений
    #33546614
Snow Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для Doktor Gradus
То есть я правильно понял, tableA это родительская, tableB это дочерняя, и связать надо так:

tableA.PoleNN <--> tableB.pole2?

Неее надо вот так tableA.Pole1 <--> tableB.pole2 причем имена у полей Pole1 и Pole2 разные, а инфа одинаковая.
...
Рейтинг: 0 / 0
установка отношений
    #33556521
Snow Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем-всем-всем ОГРОМНОЕ спасибо. Работает. Все оказалось очень просто. Правда пришлось написать сначала, начисто, так сказать.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / установка отношений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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