Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > связь межде таблицами разных баз


Автор: МГЛА 5.9.2006, 19:09
здрасти. вот такая проблема ужу запарилась думать. в проект постоянно включаются новые базы. мне хотябы понять как связываются две из них. связь должна 1:1 между основными таблицами. ах да. данные нужно импортировать в базу проекта. и данные должны менятся в интерактивном режиме. кто знает как это сделать откликнитесь плиз. если что непонятно далее объясню...

Автор: Cashey 12.9.2006, 10:39
Цитата(МГЛА @  5.9.2006,  20:09 Найти цитируемый пост)
если что непонятно далее объясню... 

вообще-то ничего не понятно. в чем вопрос?
если установить связь, то SET RELATION
если импортировать то IMPORT FROM
все это есть в хелпе

Автор: МГЛА 13.9.2006, 16:19
надо связать таблицы из разных баз, если SET RELATION к этому подходит, то почему изформация не меняется в интерактивном режиме?

Автор: Cashey 18.9.2006, 10:20
Цитата(МГЛА @  13.9.2006,  17:19 Найти цитируемый пост)
надо связать таблицы из разных

связь "много-ко-многим" что ли?

Автор: МГЛА 18.9.2006, 12:14
упс. надо 1:МНОГИМ. допустим: мой проект содержит базу1. надо чтоб таблица из этой базы содержала инфу из базы 2, которая НЕ входит в мой проект. я уже пыталась их соединить через DATA SESSION но так нечего катит.

Автор: Cashey 18.9.2006, 13:01
Цитата(МГЛА @  18.9.2006,  13:14 Найти цитируемый пост)
надо 1:МНОГИМ. допустим: мой проект содержит базу1. надо чтоб таблица из этой базы содержала инфу из базы 2, которая НЕ входит в мой проект.

тогда SET RELATION это то, что нужно (можно еще заменить на SET FILTER может будет немного удобней работать, но будет медленее). Вторая таблица должна быть открыта

Автор: МГЛА 18.9.2006, 14:18
пишу:SET RELATION TO nom_zacet INTO Kfp in svtud ADDITIVE 
kfp-дочерняя из моей базы
svtud-родительская из другой(которая не добавлена в проект)
ругается на то что не видит ридительскую при чем она открытая

Автор: Cashey 18.9.2006, 14:26
попробуй написать
Код

SELECT svtud
SET RELATION TO nom_zacet INTO Kfp ADDITIVE 

и смотри, что у таблице svtud был уникальный индекс

Автор: МГЛА 18.9.2006, 14:26
когда пишу полный путь до родительской таблицы выходит ошибка:table has no index order set

Добавлено @ 14:40 
ой ну я просто дуб http://forum.vingrad.ru/html/emoticons/smile.gif короче я связывала два индекса(primary) http://forum.vingrad.ru/html/emoticons/hehe.gif ну и что мне сейчас делать мне обязательно необходимо что бы инфа был из этой родительской причем индексы не сменить так как к этим таблицам присоеденены еще море таблиц

Автор: Cashey 18.9.2006, 15:28
Цитата(МГЛА @  18.9.2006,  15:26 Найти цитируемый пост)
короче я связывала два индекса(primary)

это не важно, только это уже получается связь 1:1
Цитата(МГЛА @  18.9.2006,  15:26 Найти цитируемый пост)
выходит ошибка:table has no index order set

сделай сначало SET ORDER по ключевому полю в родительской таблице


Автор: МГЛА 18.9.2006, 15:28
Цитата(Cashey @ 18.9.2006,  14:26)
попробуй написать

SELECT svtud
SET RELATION TO nom_zacet INTO Kfp ADDITIVE 

все так и сделала. выдает ошибку:Alias ‘KFP’ is not found

Автор: Cashey 18.9.2006, 15:50
запроси перед установкой связи 
Код

MESSAGEBOX(USED("KFP"))

Автор: МГЛА 18.9.2006, 16:00
Цитата(Cashey @ 18.9.2006,  15:28)

сделай сначало SET ORDER по ключевому полю в родительской таблице

то есть написать:SET ORDER TO NOM_ZACET   && NOM_ZACET?

Автор: МГЛА 18.9.2006, 17:00
выходит ошибка: file is in use ат перед этим выходит окошко для выбора таблицы

Автор: Cashey 19.9.2006, 13:09
Добавь слово AGAIN в предложение где ты открываешь таблицу KFP

Автор: МГЛА 19.9.2006, 13:41
сейчас разберемся

Автор: Cashey 20.9.2006, 11:36
Цитата(МГЛА @  19.9.2006,  14:41 Найти цитируемый пост)
сейчас разберемся 

получилось?

Автор: МГЛА 20.9.2006, 20:20
да вроде вес отлично. только как это визуально проверить? ну или программно... ведь просто так это не проверишь?сори за глупый вопрос

Автор: Cashey 21.9.2006, 09:07
Цитата(МГЛА @  20.9.2006,  21:20 Найти цитируемый пост)
только как это визуально проверить? ну или программно... ведь просто так это не проверишь?

не понял??? что проверить????  smile 

Автор: МГЛА 21.9.2006, 11:07
ладна проехали...хе хе 

Автор: МГЛА 21.9.2006, 15:35
ну ладна я их связала но это наверно не значит что данные из родительской таблицы будут находится в дочерней?
если да то как это сделать?( ЧТО БЫ часть данных из родительксой автоматически перходила в дочерюю)

Автор: Cashey 10.10.2006, 16:53
Цитата(МГЛА @  21.9.2006,  16:35 Найти цитируемый пост)
ну ладна я их связала но это наверно не значит что данные из родительской таблицы будут находится в дочерней

это значит, что НЕ будут, так как таблицы разные  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)