Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Fibplus: мастер-деталь-субдеталь
|
|||
|---|---|---|---|
|
#18+
Здрасьте всем! Использую fibPlus dataset в первом у меня запрос типа select kod,sum(kol) from ...., в котором я показываю с какого склада(kod) и сколько товара вообще (sum(kol)) чего-то отгружалось во втором у меня выбирается что именно отгружалось со склада на котором стоит курсор в первом датасете(select items,sum(kol) from .....), связь идет по полю kod..... без проблем а вот в третьем запросе мне надо показать конкретно по каждому товару(из второго датасета) детальную отгрузку (типа кому, номер накладной, дата и т.п.) и связываться мне надо по двум полям по kod и по items (это товар)..... а не получается В примерах , описанных в инете и в мире интербейс да и на сайте разработчиков все связи по одному полю...... может кто знает....подскажите....наверняка такое возможно...... спасибо.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 15:10 |
|
||
|
Fibplus: мастер-деталь-субдеталь
|
|||
|---|---|---|---|
|
#18+
Варианты: Очень рекомендую Вам ввести для каждой таблицы суррогатные ключи (т.е. внутренний номер записа для каждой таблицы). Таблица1 : t1 id_t1 : integer; /* внутренний № записи*/ Name : varchar (30); Таблица2 : t2 id_t2 : integer; /* внутренний № записи*/ id_t1 : integer; /* номер записи таблицы t1, к которой относится эта запись*/ Name : varchar (30); Таблица3 : t3 id_t3 : integer; id_t2 : integer; /* номер записи таблицы t1, к которой относится эта запись*/ Name : varchar (30); ... и т.д. Теперь все просто: select * from t1 - это запрос для "верхней" таблицы select * from t2 where id_t1 = :id_t1 - это запрос для "нижней" таблицы 1 уровня, ну укажите в качестве DataSiurce pFIBDataSet "верхней" таблицы select * from t3 where id_t2 = :id_t2 - это запрос для "нижней" таблицы 2 уровня, укажите в качестве DataSiurce pFIBDataSet "нижней таблицы 1 уровня" 2. Если у Вас ключ все-таки составной, опять таки рекомендую обратиться к варианту 1. Если не хотите, то используйте запрос типа select * from t3 where компонент_ключа1 = :компонент_ключа1 and компонент_ключа2 = :компонент_ключа2, и, если мастер-ключи располагаются в разных таблицах, то заполнять значения парметов запроса придется ручками, при OnDataChange в Master - таблицах, а затем, естественно, переоткрывать запрос. Используйте суррогатные ключи! Впрочем, может, я просто не понял вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 10:13 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32288449&tid=2116531]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 428ms |

| 0 / 0 |
