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

Сорри, если не совсем корректно поставлен вопрос
...
Рейтинг: 0 / 0
10.02.2006, 13:06
    #33536840
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
установка отношений
проверь есть ли фильтр какой на TableA
в гриде grd.RecordSource='TableA'
а сырцы колонок
grc1.ControlSource='TableA.Pole1'
grc2.ControlSource='TableB.Pole13'
...
Рейтинг: 0 / 0
13.02.2006, 17:26
    #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
13.02.2006, 20:10
    #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
13.02.2006, 21:28
    #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
14.02.2006, 08:35
    #33542474
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
установка отношений
Snow OwlПопробовала сделать так, но надо, чтобы эти данные отображальсь в Grid, а он девственно пуст :). Хотя может я еще где намутила.

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

tableA.PoleNN <--> tableB.pole2?

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


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