![]() |
|
|
|
|
#1
|
||||
|
||||
|
Я запутался.
Есть некие товары. Я хочу логических их разделить по группам, для упрощения жизни пользователям: выбрал из списка группу и товары,принадлежащие этим группам автоматом попали в grid для редактирования. Казалось бы заведи поле в товарах и суй туда признак принадлежности к группе, но проблема в том, что каждый товар может находится в разных группах. И я чё-то совсем не могу понять как связать эти две таблицы, чтоб заработало логика, как я хочу. items (товары) ID (int) PK AI Info (varchar 256) Article (varchar 32) groups (группы) ID (int) PK AI Info (varchar 256) Помогите пожалуйста решить задачку. |
|
#2
|
||||
|
||||
|
Связь "много-много" делается через промежуточную таблицу.
|
| Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
Uniq! (26.08.2014)
| ||
|
#3
|
||||
|
||||
|
Совсем забыл про этот тип связей. Просто никогда подробно не останавливался на этом. Огромное спасибо.
Дальнейший затык связан с тем, что необходимо реализовать Master-Detail визуализацию уже на форме. В TTable всегда для этого пользовался свойством MasterSource. В моём случае TTable не подходит, т.к. используется Join запрос: Код:
SELECT * FROM `itemstypes` JOIN `items` ON `itemstypes`.`ID` = `items`.`ID` В конечном итоге в DBGrid хотелось бы видеть только те записи из результата запроса, которые соответствовали бы выбранной в DBlookUpComboBox записи itemstypes (связывающая таблица два (items и groups) набора данных) |
|
#4
|
||||
|
||||
|
Код:
... where itemstypes.id = ... |
|
#5
|
||||
|
||||
|
я думал через masterdetails это делать.
А вы предлагает этот запрос повесить на какое-то событие вроде OnChange? |
|
#6
|
||||
|
||||
|
Что-то вроде того.
|