powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Связь с дочерней таблицей..
5 сообщений из 5, страница 1 из 1
Связь с дочерней таблицей..
    #36793064
Nnnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таб1 - родительская
Таб2 - дочерняя
Буферизация с циферкой 4.
Связь один ко многим прописана в БД и среде данных обеих форм.
На форме №2 в гриде в RecordSource прописана вторая таблица.

На форме №1 отображается Таб1, с нее переход на форму №2 по двум кнопкам - с одной корректировка старых записей, с другой - создание новой записи. На форме №2 Таб2 отображается в гриде. При корректировке все нормально - на второй форме в гриде отображаются только те записи дочерней таблицы, которые соответствуют записи из Таб1. А при создании новой записи в гриде отображаются все записи из Таб2, а должна только одна (вновь созданная с соответсвующим id для Таб1).
...
Рейтинг: 0 / 0
Связь с дочерней таблицей..
    #36793158
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NnnnnТаб1 - родительская
Таб2 - дочерняя
Буферизация с циферкой 4.
Связь один ко многим прописана в БД и среде данных обеих форм.
На форме №2 в гриде в RecordSource прописана вторая таблица.

На форме №1 отображается Таб1, с нее переход на форму №2 по двум кнопкам - с одной корректировка старых записей, с другой - создание новой записи. На форме №2 Таб2 отображается в гриде. При корректировке все нормально - на второй форме в гриде отображаются только те записи дочерней таблицы, которые соответствуют записи из Таб1. А при создании новой записи в гриде отображаются все записи из Таб2, а должна только одна (вновь созданная с соответсвующим id для Таб1).Не забудьте сделать REFRESH форме и гриду в INITе второй формы
...
Рейтинг: 0 / 0
Связь с дочерней таблицей..
    #36793717
Nnnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igorbik,

Конечно, он там есть. Вторая форма загружается просто с разными параметрами в зависимости от того корректируется запись, или вводится новая. Но у меня такое впечатление, что при введении новой записи просто игнорируется связь между Таб1 и Таб2.
...
Рейтинг: 0 / 0
Связь с дочерней таблицей..
    #36794525
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Связь - это взгляд на подчиненную таблицу со стороны главной . Это принципиально. Надо "смотреть" именно со стороны главной таблицы. Т.е. находится в рабочей области главной таблицы чтобы произошла "фильтрация" записей подчиненной.

Grid хорошо "помнит" ту таблицу, которая оказалась его источником данных в момент его инициализации. Первая любовь, так сказать... Причем "помнит" не только рабочую область, но и наложенный "фильтр" по SET RELATION.

Из всего этого следует, что в принятой у Вас схеме работы необходимо

1. На этапе проектирования формы (в дизайнере) указать пустое значение Grid.RecordSource Важно, чтобы это значение было выделено жирным шрифтом. Это и будет указание пустого значения. Если значение будет "по умолчанию", т.е. бледно серого цвета, то это означает, что Grid подхватит первую попавшуюся таблицу в момент инициализации.

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

Код: plaintext
1.
2.
select TabMain
appen blank in tabChild

Хотя, следует заметить, что лучше отказаться от SET RELATION в пользу запросов, View или CursorAdapter. Решения на основе SET RELATION трудно масштабируемые. В смысле, их сложно модифицировать под очередные "хотелки" пользователей. Иногда, просто невозможно...
...
Рейтинг: 0 / 0
Связь с дочерней таблицей..
    #36794682
Nnnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

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


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