|
![]() |
#1 |
Участник
|
А почему нельзы добавить на форму приджойненный к первой таблице датасорс со связями, а вторую таблицу заделайить к нему?
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#2 |
Участник
|
Согласен, если забыть про стандартные примеры, то так и делаю.
__________________
Ivanhoe as is.. |
|
![]() |
#3 |
Участник
|
Только наверное наоборот, нужно к ведущей таблице заделайить (LinkType = Delayed) связку из приджойненных таблиц. Ну или как я выше предложил такую связку оформить как View. Иначе в первой таблице мы получим дубликаты записей из-за inner joina
Последний раз редактировалось S.Kuskov; 16.03.2011 в 14:51. Причина: пояснения |
|
|
За это сообщение автора поблагодарили: AndyD (2). |
![]() |
#4 |
Участник
|
Цитата:
2 mazzy Я предлагал сделать так 1таблица->иннер джойн->таблица связи->delyed->2таблица Но в этом случае записи в первой таблице множились бы По-этому, надо сделать так 1таблица->delyed->таблица связи->иннер джойн->2таблица
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
![]() |
#5 |
Участник
|
Цитата:
Чувствовал же, что чуть-чуть осталось. И чуть-чуть чего-то недопонимаю. Спасибо всем. чего я не понимал: во-первых, даже для связи n:n все равно остается ведущий и ведомый грид! во-вторых, нужно юзать innerJoin вместо Delyed для связи второй таблицы. |
|
![]() |
#6 |
Участник
|
теперь стала понятна и прошлая ветка Отношение many-to-many
|
|
![]() |
#7 |
MCTS
|
Такое решение подразумевает, что первая таблица является главной. Соответственно просмотреть все записи в первой таблице, соответствующие какой-либо записи из второй таблицы не получится.
__________________
Dynamics AX Experience |
|
![]() |
#8 |
Участник
|
Цитата:
![]() Последний раз редактировалось S.Kuskov; 16.03.2011 в 14:57. |
|
![]() |
#9 |
MCTS
|
Это еще одна форма. Внимательно читаем вопрос Сергея номер 1.
![]() А вообще немного странный вопрос. Если взять пример Ивана с пользователями и группами, то что хочет Сергей увидеть, выведя на ОДНОЙ форме связь n:n? В какие группы входит пользователь? Какие пользователи входят в группу? Или и то, и другое сразу?
__________________
Dynamics AX Experience Последний раз редактировалось CDR; 16.03.2011 в 15:00. |
|
![]() |
#10 |
Участник
|
О, как быстро.
Спасибо. Цитата:
но в реальности n:n Отличный вопрос! Об этом я тоже не подумал. С точки зрения Аксапты на одной форме есть ведущий датасорс и подчиненные датасорсы. Если на первом гриде будет Таблица1, то на втором гриде должны отобразиться связанные записи из Таблица2. Да, в вопросе 2 более понятно, чего хочется. Пользователь работает с формой1/таблица1 (ведущая форма), жамкает на кнопку, открывается форма2/таблица2 (подчиненная форма) со связанными записями. Если пользователь работает формой2/таблица2, то уже Форма2 становится ведущей. Пользователь жамкает на кнопку, открывается форма1/таблица1 (подчиненная форма) со связанными записями. Другими словами, хочется dynalink для связей n:n. Ага. Спасибо. Но там вручную программисруемые view. Вопрос скорее о нормальных гридах и о query, нежели о ручной выборке записей. Цитата:
Цитата:
Да-да. Все правильно. Вопрос ведущий-ведомый (master/detail) я не додумал. Форма не должна быть двухсторонней. Верхний грид ведущий, нижний - ведомый. Цитата:
Меня скорее интересует запрос (query), который позволит связать n:n таблицы. В одной форме или в разных - не так уж и важно. Соглашусь, что изначальный вопрос надо было поставить чуть-чуть по-другому. |
|
![]() |
#11 |
MCTS
|
Цитата:
- На форму добавляются три датасоурса: Таблица 1, Таблица 2 и Таблица связей. - Таблица 1 главная и ни к чему не джоинится - Таблица 2 подчиненная, тоже ни к чему не джоинится. - Таблица связей джоинится к таблице 2 с помощью exist join. Дополнительно накладывается range на второе поле (по которому связь c Таблицей 1). - В методе active Таблицы 1 устанавливается значение range'а и дергается executeQuery Таблицы 2.
__________________
Dynamics AX Experience Последний раз редактировалось CDR; 16.03.2011 в 16:20. |
|
![]() |
#12 |
Участник
|
Цитата:
картинкой. я ж конечно сделал тестовую форму. слева Таблица1, справа - Таблица2. посередине техническая таблица со связями n:n. если использовать обычный delayed. то справа мы видим ОДНУ запись, а хочется видеть ВСЕ записи, связанные с левой. что должно быть в запросе? Последний раз редактировалось mazzy; 16.03.2011 в 15:33. Причина: собственно вопрос: что должно быть в запросе? |
|
Теги |
как правильно, связь таблиц, связь n:n, связи |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|