Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Коллеги!
На форме два грида.
В первом отображается родительская таблица, а во втором дочерняя таблица.
Обе таблицы принадлежат базе данных, организованы индексы, установлена "куриная лапа" для установки отношения.
В дата энвиронмент формы обе таблицы присутствуют и между ними есть линия, указывающая на наличие связи между таблицами.
Все, вроде, нормально.
Чего я ожидаю?
Я ожидаю, что при работе формы при клике на записи грида, отображающего первую таблицу во втором гриде отобразятся только дочерние записи второй таблицы.
На самом же деле, во втором гриде видны ВСЕ записи дочерней таблицы.
В чем может быть проблема?
19 авг 18, 13:22    [21647153]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP
В чем может быть проблема?
Например, в неправильной настройке "куриной лапки".
19 авг 18, 17:22    [21647264]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,
Я не настраивал лапу.
Удивляет то, что я много раз использовал этот механизм.
Нечто разрушает связь в момент выдачи на экран формы.
Что это, я понять не могу.
Более того.
Я создаю пробную форму и на ней размещаю из этой же БД эти же таблицы и все в порядке.
Понятно, что где-то в реальной программе что-то не то...
Но куда смотреть.
Программа очень большая
19 авг 18, 17:28    [21647266]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Как программно записать связь между таблицами?
19 авг 18, 17:37    [21647273]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP,

set relation on …
И поменьше попыток отгадать и побольше попыток узнать что, где и когда происходит.
19 авг 18, 19:02    [21647310]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Не получается правильно записать команду set relation on
19 авг 18, 19:30    [21647317]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP
Sergey Sizov,

Не получается правильно записать команду set relation on
Очень информативно, сразу всё понятно...
19 авг 18, 19:34    [21647318]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Материнская таблица tm(s.m,p) на основе s построен праймариз S
дочерняя таблица td(s.m,p) на основе s построен праймариз S, на основе m построен регулярный M

Связь должна осуществляться один tm.s ко многим td.m

Как записать set relation to ?
19 авг 18, 19:36    [21647321]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP
Sergey Sizov,

Материнская таблица tm(s.m,p) на основе s построен праймариз S
дочерняя таблица td(s.m,p) на основе s построен праймариз S, на основе m построен регулярный M

Связь должна осуществляться один tm.s ко многим td.m
Интересно, как на s в td удалось создать Primary (заметьте, никаких S на конце) если на каждый m в таблице есть несколько S? Что-то где-то не сходится.
В общем-то, при установленном для td активном индексе m и активной рабочей области S команда должна быть такой:
set relation to s into td
19 авг 18, 19:51    [21647329]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Пишу в кнопку на форме модельного примера:


SET RELATION TO s into td

ThisForm.Refresh


В "дочернем" гриде появляются только по одной дочерней записи.
Остальные дочери выбранной матери не видны
19 авг 18, 19:56    [21647332]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Получается что-то типа от s к s.
А нужно от s к m.
19 авг 18, 19:59    [21647334]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP
Sergey Sizov,

Пишу в кнопку на форме модельного примера:


SET RELATION TO s into td

ThisForm.Refresh


В "дочернем" гриде появляются только по одной дочерней записи.
Остальные дочери выбранной матери не видны
Разумеется. Ведь S уникальный, в нем не может быть несколько записей с одинаковым S.
19 авг 18, 20:04    [21647335]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Но как же увидеть остальных дочерей?
19 авг 18, 20:05    [21647336]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP
Sergey Sizov,

Получается что-то типа от s к s.
А нужно от s к m.
Ну так для этого индексы должны быть правильными.
19 авг 18, 20:06    [21647337]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Я могу в ваш адрес выслать маленький модельный проект.
Если вас не затруднит - посмотрите его.
Возможно, проблема решается в минуту
19 авг 18, 20:09    [21647339]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP,
можно его и тут выложить.
19 авг 18, 20:10    [21647341]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,
19 авг 18, 20:14    [21647342]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

К сообщению приложен файл (_RELATIV.rar - 4Kb) cкачать
19 авг 18, 20:14    [21647343]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1547
UAP,
всё как обычно - неточное описание уже созданной путаницы и удивление, что не работает как надо...

1. В DataEnvironment у td свойство Order поставить в M.

2. В кнопке написать
SET RELATION TO S into td
19 авг 18, 20:43    [21647352]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение "связанных" гридов  [new]
UAP
Member

Откуда:
Сообщений: 493
Sergey Sizov,

Большое спасибо!
Вы очень помогли!
19 авг 18, 20:52    [21647361]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить