|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Привет. Ребят, очень и очень надо чтоб вы помогли чем сможете. Есть две таблицы - 'Строит. Организации' и 'НП СРО' (НЕКОММЕРЧЕСКОЕ ПАРТНЕРСТВО САМОРЕГУЛИРУЕМЫЕ ОРГАНИЗАЦИИ). Первая таблица содержит 2 тыс организаций, а вторая несколько десятков. Необходимо установить отношения многие(организации) к одному (СРО). Т.е. таблица 'строит. организ.' выводилась полностью, а в таблице 'СРО' выводилось то СРО в которое оно входит. Р.S. Базы делаю на visual foxpro 9. Заранее благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2010, 16:47 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Весь инет перерыл, ничего подходящего не нашел. Везде говорится что visual foxpro поддерживает связь многие к одному, но нигде нету нормального описания этой связи с примерами ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2010, 11:54 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Ganjubas, связь многие-к-одному это то же самое, что связь один-ко-многим. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2010, 13:15 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Зависит от того, что именно Вы вкладываете в понятие "Связь". Как именно это слово интерпретируется в FoxPro описано здесь Связи и отношения между таблицами С точки зрения FoxPro связь много-к-одному - это то же самое, что и один-к-одному. Ведь Вам надо поставить в соответствие одной записи главной таблицы одну запись подчиненной. То, что записи главной таблицы могут дублироваться с точки зрения подчиненной таблицы не имеет никакого значения. Она все-равно "смотрит" только на одну (текущую) запись главной таблицы. И еще, определитесь, а зачем Вам это связь вообще нужна? Что Вы хотите реализовать с ее помощью? Ведь "связь" - это всего-лишь инструмент. А цель-то в чем заключается? Ну, установили Вы эти отношения и что? Какую "выгоду" Вы с этого будете иметь? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2010, 16:08 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
ВладимирМ, как какую выгоду? Например, меня интересует какая-то организация из таблицы 'строит организации'. Мне нужно определить именно в какую СРО она входит, и это СРО ВЫВЕСТИ В ДРУГОЙ ТАБЛИЦЕ. Или можно просто сделать так чтоб это СРО выделилось как-то в таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2010, 20:59 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
ВладимирМ, если можешь, объясни как лучше всего сделать эту связь? Или без связи, вообще, как-то по другому сделать. Я до сих пор делал связь один-к-многим, один-к-одному, многие-к- многим, но первый раз приходиться связывать таблицы отношением многие-к-одному. Поэтому прошу помощи, пока у меня не получается, как не крути, связать эти таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2010, 21:47 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, как какую выгоду? Например, меня интересует какая-то организация из таблицы 'строит организации'. Мне нужно определить именно в какую СРО она входит, и это СРО ВЫВЕСТИ В ДРУГОЙ ТАБЛИЦЕ. Или можно просто сделать так чтоб это СРО выделилось как-то в таблице. Вы опять не о том. Ну, вот Вы нашли эту CPO и что Вы с ней будете делать? Для чего, для каких целей, Вы хотите ее найти? Установка связи, по большому счету - это чисто визуальная "примочка". Ну, чтобы пользователю красиво показать при определенном способе работы с данными. Но можно сделать то же самое и без установки связи, если придерживаться другой идеологии работы с данными Если же Вам нужно просто установить указатель записи, то для этого есть функции поиска LOCATE - может искать без индекса. FOUND() сообщает о том, нашли или нет SEEK - команда, выполняет поиск по текущему индексу SEEK() - функция, выполняет поиск по текущему или указанному индексу Далее выполняете обработку найденной записи, если необходимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2010, 22:07 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, если можешь, объясни как лучше всего сделать эту связь? Или без связи, вообще, как-то по другому сделать. Я до сих пор делал связь один-к-многим, один-к-одному, многие-к- многим, но первый раз приходиться связывать таблицы отношением многие-к-одному. Поэтому прошу помощи, пока у меня не получается, как не крути, связать эти таблицы Так вам может и вовсе не нужна связь (SET RELATION и иже с ней). Может сгодится выборка из дочерней таблицы по условию из родительской ? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2010, 06:14 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
ВладимирМ, а где набрать данный код, именно в каком модуле? Просто я новичок в этом деле ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2010, 09:43 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
И насчет связи. Мне нужна не постоянная связь, а обычная связь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2010, 10:00 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, а где набрать данный код, именно в каком модуле? Просто я новичок в этом деле Где нужна, там и набирайте. Еще раз. Все зависит от конечной задачи. Для какой цели Вы хотите использовать найденную запись подчиненной таблицы? Что Вы с ней собираетесь делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2010, 10:49 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
ВладимирМ, с подчиненной таблицей ничего не буду делать, просто нужно выделить как-то соответствующую запись и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2010, 11:04 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, с подчиненной таблицей ничего не буду делать, просто нужно выделить как-то соответствующую запись и все. Для чего выделить-то? Ну, по простому, Вы это отображать будете? Если отображать, то как это должно выглядеть? Вы хотите отображать все те тысячи записей, какие есть или какую-то выборку? Если выборку, то как много записей будет в этой выборке? Если отображаете список организаций, то значения подчиненной таблицы должны быть видны в списке? Или же в списке этих значений нет, но при в форме редактирования организации должны быть отображены реквизиты из подчиненной таблице? Другими словами, как Вы себе представляете внешний вид Вашего приложения? Интерфейс с пользователем? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2010, 15:15 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, а где набрать данный код, именно в каком модуле? Просто я новичок в этом деле Да можно и в отдельном модуле, можно просто при перемещении курсора по записям родительской таблицы (в методе AfterRowColChange), можно даже по специательной кнопке в родителе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 05:23 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
ВладимирМ, нужно чтоб все записи в первой и во второй таблице были видны, т.е. не было так, чтоб при запросе в таблице оставались только те записи которые нас интересуют. Они (интересующиеся записи) в первой и во второй таблице должны просто выделятся. Например, в таблице 'организ' выбрал (установил курсор) я на организацию 'Сельхозстрой' - в таблице 'СРО' должна выделятся то СРО в которое она (организация 'Сельхозстрой') входит, при этом все остальные записи первой и второй таблицы не должны исчезать. Думаю что здесь запрос, вообще, не нужен, а нужно просто при возникновении события 'установка курсора' (выделения записи) необходимо выделить запись из второй таблицы с совпадающим ключом. Но как? Где? и какой код нужно писать просто незнаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 11:58 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, нужно чтоб все записи в первой и во второй таблице были видны, т.е. не было так, чтоб при запросе в таблице оставались только те записи которые нас интересуют. Они (интересующиеся записи) в первой и во второй таблице должны просто выделятся. Например, в таблице 'организ' выбрал (установил курсор) я на организацию 'Сельхозстрой' - в таблице 'СРО' должна выделятся то СРО в которое она (организация 'Сельхозстрой') входит, при этом все остальные записи первой и второй таблицы не должны исчезать. Думаю что здесь запрос, вообще, не нужен, а нужно просто при возникновении события 'установка курсора' (выделения записи) необходимо выделить запись из второй таблицы с совпадающим ключом. Но как? Где? и какой код нужно писать просто незнаю. Наконец-то автор разродился на более-менее описание, чего он хочет. Ну так ставьте в метод AfterRowColChange родительской таблицы Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:15 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Каким образом вы отображаете таблицы? Ganjubas, вы или по-русски плохо понимаете, или в предмете абсолютно не ориентируетесь. Если хотите получить ответ на свой вопрос, сформулируйте его грамотно или вообще не отвлекайте посетителей форума своими глупостями. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:22 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
reware Ну так ставьте в метод AfterRowColChange родительской таблицы Если у него вообще есть грид. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:24 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Ffffffffffffffff, а тебе, вообще, здесь слово не давали. Если ты не в состоянии понять то, что я написал, а я написал между прочим очень доходчиво, тогда я тебе соболезную. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:31 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Ganjubas, 1. Доходчивость Вашего объяснения, кстати, не Вам оценивать. При том, что суть вопроса начинает проясняться только на пятые сутки с момента публикации вопроса. 2. Форум -публичное место и раздачи слов тут нет. Или же, если применять Вашу же логику, Вам тоже слова не давали. 3. Ваши понимание связи очень сильно отличается от общепринятого. Похоже в этом суть непонимания Вашего вопроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:40 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Ganjubas, принимаю ваши соболезнования. Удалился. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:46 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
Может, вам подойдёт свойство колонки DynamicBackColor? В хелпе даже есть пример... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 12:57 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasFfffffffffffffff, а тебе, вообще, здесь слово не давали. Если ты не в состоянии понять то, что я написал, а я написал между прочим очень доходчиво, тогда я тебе соболезную. А вот грубить не надо бы. Вам пытались помочь и не наша тут беда в вашей проблеме. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 16:20 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
reware, он (Ffffff) не пытался мне помочь. Прочитайте его первое сообщение. Вместо того, чтоб по существу ответит на вопрос, он про глупости говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 17:45 |
|
Не получаетс становить связь многие к одному
|
|||
---|---|---|---|
#18+
GanjubasВладимирМ, нужно чтоб все записи в первой и во второй таблице были видны, т.е. не было так, чтоб при запросе в таблице оставались только те записи которые нас интересуют. Они (интересующиеся записи) в первой и во второй таблице должны просто выделятся. Например, в таблице 'организ' выбрал (установил курсор) я на организацию 'Сельхозстрой' - в таблице 'СРО' должна выделятся то СРО в которое она (организация 'Сельхозстрой') входит, при этом все остальные записи первой и второй таблицы не должны исчезать. Думаю что здесь запрос, вообще, не нужен, а нужно просто при возникновении события 'установка курсора' (выделения записи) необходимо выделить запись из второй таблицы с совпадающим ключом. Но как? Где? и какой код нужно писать просто незнаю. Вы опять не о том. Точнее так, Вы не понимаете смысл используемых Вами терминов, поэтому в результате получается "каша". Забудьте пока про "таблицы", "курсоры", "связи" и "записи". Поставьте себя на место пользователя. Какую картинку должен увидеть пользователь? Вот открываем Выше приложение и что? Что должен увидеть пользователь? Вероятно форму. Но что на этой форме должно быть отображено? Ну, в большинстве случаев отображается список. Список чего? Понятно, что список организаций. Только вот, все записи организаций должны быть отображены сразу или какая-то часть из них? Если часть, то как определить какая именно часть? Кроме того, как правило, таблицы содержат в себе очень много полей. Вывести сразу в списке вообще все поля можно, только работать с подобным списком будет крайне не удобно. Поэтому в списке отображается только часть полей, использующихся для идентификации записи. Ну, чтобы пользователь "глазами" быстро определил, какая именно запись ему нужна. Затем, когда пользователь нашел нужную запись, открывают дополнительную форму для просмотра/редактирования (или переключаются на другую закладку PageFrame в этой же форме). Вот в этой другой форме уже отображается не список, а поля только одной, выбранной записи. Теперь, собственно, о чем Вас спрашивают: 1. Вы собираетесь строить ваше приложение именно так? Форма со списком + форма для редактирования записи. Или как-то по другому? 2. Если будет форма со списком, то в ней будут отображены все записи организаций или некая часть? 3. Непосредственно в списке должна отображаться CPO? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 19:27 |
|
|
start [/forum/moderation_log.php?user_name=pjanri]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 361ms |
total: | 546ms |
0 / 0 |