|
22.08.2022, 18:02 | #1 |
Administrator
|
Технически через метод init() датасорса связать можно кого угодно с кем угодно (метод addLink на QueryBuildDatasource)
Но сразу возникает вопрос - а как хочется, чтобы работал результат? Пример 1. Таблица 2 подчинена таблице 1; таблица 3 - также подчинена таблице 1. При перемещении записи на таблице 1 - система автоматом обновляет позиционирование на таблицах 2 и 3 по событию active() на датасорсе таблицы 1 Пример 2. Таблица 2 подчинена таблице 1; таблица 3 - подчинена таблице 2. При перемещении записи на таблице 1 - система автоматом обновляет позиционирование на таблице 2, а от позиционирования на таблице 2 - обновляется позиционирование на таблице 3. Теперь вопрос - если таблица 3 подчинена таблице 1 и таблице 2 - в какой момент должно выполняться позиционирование на таблице 3? При перемещении записи на таблице 1 или таблицы 2? И если таблицы 2 - то: а) как об этом догадается система (для нее все линки равны и подчинение по сути лежит только у нас в головах, а в системе есть только линки)? б) с учетом условий таблицы 1 или нет? Т.е. здесь нужно ситуацию свести либо к примеру 1, либо к примеру 2. Также нельзя забывать, что БД - это не чёрный ящик, а тоже система. И упрощение запросов к ней напрямую влияет на скорость работы системы.
__________________
Возможно сделать все. Вопрос времени |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Связи между таблицами | 19 | |||
Отображение связи n:n на форме | 22 | |||
Связь между таблицами в форме | 8 | |||
Тип связи | 9 | |||
Имитация связи между таблицами из кода программы | 3 |
|