powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не получаетс становить связь многие к одному
25 сообщений из 26, страница 1 из 2
Не получаетс становить связь многие к одному
    #36639679
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Ребят, очень и очень надо чтоб вы помогли чем сможете. Есть две таблицы - 'Строит. Организации' и 'НП СРО' (НЕКОММЕРЧЕСКОЕ ПАРТНЕРСТВО САМОРЕГУЛИРУЕМЫЕ ОРГАНИЗАЦИИ). Первая таблица содержит 2 тыс организаций, а вторая несколько десятков. Необходимо установить отношения многие(организации) к одному (СРО). Т.е. таблица 'строит. организ.' выводилась полностью, а в таблице 'СРО' выводилось то СРО в которое оно входит. Р.S. Базы делаю на visual foxpro 9. Заранее благодарен
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36643768
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Весь инет перерыл, ничего подходящего не нашел. Везде говорится что visual foxpro поддерживает связь многие к одному, но нигде нету нормального описания этой связи с примерами
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36643830
Fffffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ganjubas, связь многие-к-одному это то же самое, что связь один-ко-многим.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36643941
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от того, что именно Вы вкладываете в понятие "Связь". Как именно это слово интерпретируется в FoxPro описано здесь

Связи и отношения между таблицами

С точки зрения FoxPro связь много-к-одному - это то же самое, что и один-к-одному. Ведь Вам надо поставить в соответствие одной записи главной таблицы одну запись подчиненной. То, что записи главной таблицы могут дублироваться с точки зрения подчиненной таблицы не имеет никакого значения. Она все-равно "смотрит" только на одну (текущую) запись главной таблицы.

И еще, определитесь, а зачем Вам это связь вообще нужна? Что Вы хотите реализовать с ее помощью? Ведь "связь" - это всего-лишь инструмент. А цель-то в чем заключается? Ну, установили Вы эти отношения и что? Какую "выгоду" Вы с этого будете иметь?
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644164
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, как какую выгоду? Например, меня интересует какая-то организация из таблицы 'строит организации'. Мне нужно определить именно в какую СРО она входит, и это СРО ВЫВЕСТИ В ДРУГОЙ ТАБЛИЦЕ. Или можно просто сделать так чтоб это СРО выделилось как-то в таблице.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644227
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, если можешь, объясни как лучше всего сделать эту связь? Или без связи, вообще, как-то по другому сделать. Я до сих пор делал связь один-к-многим, один-к-одному, многие-к- многим, но первый раз приходиться связывать таблицы отношением многие-к-одному. Поэтому прошу помощи, пока у меня не получается, как не крути, связать эти таблицы
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644248
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, как какую выгоду? Например, меня интересует какая-то организация из таблицы 'строит организации'. Мне нужно определить именно в какую СРО она входит, и это СРО ВЫВЕСТИ В ДРУГОЙ ТАБЛИЦЕ. Или можно просто сделать так чтоб это СРО выделилось как-то в таблице.
Вы опять не о том. Ну, вот Вы нашли эту CPO и что Вы с ней будете делать? Для чего, для каких целей, Вы хотите ее найти?

Установка связи, по большому счету - это чисто визуальная "примочка". Ну, чтобы пользователю красиво показать при определенном способе работы с данными. Но можно сделать то же самое и без установки связи, если придерживаться другой идеологии работы с данными

Если же Вам нужно просто установить указатель записи, то для этого есть функции поиска

LOCATE - может искать без индекса. FOUND() сообщает о том, нашли или нет
SEEK - команда, выполняет поиск по текущему индексу
SEEK() - функция, выполняет поиск по текущему или указанному индексу

Далее выполняете обработку найденной записи, если необходимо.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644473
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, если можешь, объясни как лучше всего сделать эту связь? Или без связи, вообще, как-то по другому сделать. Я до сих пор делал связь один-к-многим, один-к-одному, многие-к- многим, но первый раз приходиться связывать таблицы отношением многие-к-одному. Поэтому прошу помощи, пока у меня не получается, как не крути, связать эти таблицы
Так вам может и вовсе не нужна связь (SET RELATION и иже с ней). Может сгодится выборка из дочерней таблицы по условию из родительской ?
Код: plaintext
SELECT * FROM KidTable, MotherTable WHERE KidTable.id=MotherTable.id INTO CURSOR MyCursor
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644593
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, а где набрать данный код, именно в каком модуле? Просто я новичок в этом деле
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644622
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И насчет связи. Мне нужна не постоянная связь, а обычная связь.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644726
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, а где набрать данный код, именно в каком модуле? Просто я новичок в этом деле
Где нужна, там и набирайте.

Еще раз. Все зависит от конечной задачи. Для какой цели Вы хотите использовать найденную запись подчиненной таблицы? Что Вы с ней собираетесь делать?
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36644756
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, с подчиненной таблицей ничего не буду делать, просто нужно выделить как-то соответствующую запись и все.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36645414
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, с подчиненной таблицей ничего не буду делать, просто нужно выделить как-то соответствующую запись и все.
Для чего выделить-то?

Ну, по простому, Вы это отображать будете? Если отображать, то как это должно выглядеть? Вы хотите отображать все те тысячи записей, какие есть или какую-то выборку? Если выборку, то как много записей будет в этой выборке? Если отображаете список организаций, то значения подчиненной таблицы должны быть видны в списке? Или же в списке этих значений нет, но при в форме редактирования организации должны быть отображены реквизиты из подчиненной таблице?

Другими словами, как Вы себе представляете внешний вид Вашего приложения? Интерфейс с пользователем?
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36646556
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, а где набрать данный код, именно в каком модуле? Просто я новичок в этом деле
Да можно и в отдельном модуле, можно просто при перемещении курсора по записям родительской таблицы (в методе AfterRowColChange), можно даже по специательной кнопке в родителе.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647101
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, нужно чтоб все записи в первой и во второй таблице были видны, т.е. не было так, чтоб при запросе в таблице оставались только те записи которые нас интересуют. Они (интересующиеся записи) в первой и во второй таблице должны просто выделятся. Например, в таблице 'организ' выбрал (установил курсор) я на организацию 'Сельхозстрой' - в таблице 'СРО' должна выделятся то СРО в которое она (организация 'Сельхозстрой') входит, при этом все остальные записи первой и второй таблицы не должны исчезать. Думаю что здесь запрос, вообще, не нужен, а нужно просто при возникновении события 'установка курсора' (выделения записи) необходимо выделить запись из второй таблицы с совпадающим ключом. Но как? Где? и какой код нужно писать просто незнаю.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647156
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, нужно чтоб все записи в первой и во второй таблице были видны, т.е. не было так, чтоб при запросе в таблице оставались только те записи которые нас интересуют. Они (интересующиеся записи) в первой и во второй таблице должны просто выделятся. Например, в таблице 'организ' выбрал (установил курсор) я на организацию 'Сельхозстрой' - в таблице 'СРО' должна выделятся то СРО в которое она (организация 'Сельхозстрой') входит, при этом все остальные записи первой и второй таблицы не должны исчезать. Думаю что здесь запрос, вообще, не нужен, а нужно просто при возникновении события 'установка курсора' (выделения записи) необходимо выделить запись из второй таблицы с совпадающим ключом. Но как? Где? и какой код нужно писать просто незнаю.
Наконец-то автор разродился на более-менее описание, чего он хочет. Ну так ставьте в метод AfterRowColChange родительской таблицы
Код: plaintext
1.
SET FILTER TO <поле дочерней>=<поле родителя> IN KidTable (или какое там у вас условие) 
GO top in KidTable
затем Grid2.Refresh.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647186
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким образом вы отображаете таблицы?

Ganjubas, вы или по-русски плохо понимаете, или в предмете абсолютно не ориентируетесь.
Если хотите получить ответ на свой вопрос, сформулируйте его грамотно или вообще не отвлекайте посетителей форума своими глупостями.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647198
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware Ну так ставьте в метод AfterRowColChange родительской таблицы
Если у него вообще есть грид.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647230
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff, а тебе, вообще, здесь слово не давали. Если ты не в состоянии понять то, что я написал, а я написал между прочим очень доходчиво, тогда я тебе соболезную.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647263
Ganjubas,
1. Доходчивость Вашего объяснения, кстати, не Вам оценивать. При том, что суть вопроса начинает проясняться только на пятые сутки с момента публикации вопроса.
2. Форум -публичное место и раздачи слов тут нет. Или же, если применять Вашу же логику, Вам тоже слова не давали.
3. Ваши понимание связи очень сильно отличается от общепринятого. Похоже в этом суть непонимания Вашего вопроса.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647298
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ganjubas, принимаю ваши соболезнования. Удалился.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36647348
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, вам подойдёт свойство колонки DynamicBackColor? В хелпе даже есть пример...
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36648126
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasFfffffffffffffff, а тебе, вообще, здесь слово не давали. Если ты не в состоянии понять то, что я написал, а я написал между прочим очень доходчиво, тогда я тебе соболезную.
А вот грубить не надо бы. Вам пытались помочь и не наша тут беда в вашей проблеме.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36648480
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware, он (Ffffff) не пытался мне помочь. Прочитайте его первое сообщение. Вместо того, чтоб по существу ответит на вопрос, он про глупости говорит.
...
Рейтинг: 0 / 0
Не получаетс становить связь многие к одному
    #36648736
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GanjubasВладимирМ, нужно чтоб все записи в первой и во второй таблице были видны, т.е. не было так, чтоб при запросе в таблице оставались только те записи которые нас интересуют. Они (интересующиеся записи) в первой и во второй таблице должны просто выделятся. Например, в таблице 'организ' выбрал (установил курсор) я на организацию 'Сельхозстрой' - в таблице 'СРО' должна выделятся то СРО в которое она (организация 'Сельхозстрой') входит, при этом все остальные записи первой и второй таблицы не должны исчезать. Думаю что здесь запрос, вообще, не нужен, а нужно просто при возникновении события 'установка курсора' (выделения записи) необходимо выделить запись из второй таблицы с совпадающим ключом. Но как? Где? и какой код нужно писать просто незнаю.
Вы опять не о том. Точнее так, Вы не понимаете смысл используемых Вами терминов, поэтому в результате получается "каша".

Забудьте пока про "таблицы", "курсоры", "связи" и "записи". Поставьте себя на место пользователя. Какую картинку должен увидеть пользователь? Вот открываем Выше приложение и что? Что должен увидеть пользователь? Вероятно форму. Но что на этой форме должно быть отображено?

Ну, в большинстве случаев отображается список. Список чего? Понятно, что список организаций. Только вот, все записи организаций должны быть отображены сразу или какая-то часть из них? Если часть, то как определить какая именно часть?

Кроме того, как правило, таблицы содержат в себе очень много полей. Вывести сразу в списке вообще все поля можно, только работать с подобным списком будет крайне не удобно. Поэтому в списке отображается только часть полей, использующихся для идентификации записи. Ну, чтобы пользователь "глазами" быстро определил, какая именно запись ему нужна.

Затем, когда пользователь нашел нужную запись, открывают дополнительную форму для просмотра/редактирования (или переключаются на другую закладку PageFrame в этой же форме). Вот в этой другой форме уже отображается не список, а поля только одной, выбранной записи.

Теперь, собственно, о чем Вас спрашивают:

1. Вы собираетесь строить ваше приложение именно так? Форма со списком + форма для редактирования записи. Или как-то по другому?

2. Если будет форма со списком, то в ней будут отображены все записи организаций или некая часть?

3. Непосредственно в списке должна отображаться CPO?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не получаетс становить связь многие к одному
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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