|
![]() |
#1 |
Участник
|
Допустим у меня в MainTable и LineTable след. записи:
Заказ1 СтрокаLine1 СтрокаLine2 Заказ2 СтрокаLine3 Проблема в том, что если я так сделаю(свяжу источники данных, как главная и подчиненная, как addLink работает), то связь между таблицами MainTable и LineTable будет только InnerJoin (OuterJoin и т.д.) и после прикрепления этого запроса к источнику данных на форме данные будут отражаться след. образом: Заказ1 СтрокаLine1 СтрокаLine2 Заказ1 СтрокаLine1 СтрокаLine2 Заказ2 СтрокаLine3 А нужно, чтобы в query был независимый источник данных по MainTable(1-ый) и независимый источник данных по LineTable(2-ой), записи по которому отбираются по значению MainId в 1-м источнике данных. Непонятно, почему если я такой запрос присоединяю к источнику данных формы - все работает правильно, а когда делаю: MainTable MainTable; LineTable LineTable; QueryRun qr_main = New QueryRun(q);//q - исходный запрос QueryRun qr_desc; while (qr.next()) { MainTable = qr.get(tblenum(MainTable)); q.datasource(2).findrange(fieldnum(LineTable,MainId)).value(MainTable.MainId); qr_desc = New QueryRun(q); while (qr_desc.next())//СРАБОТАЕТ СТОЛЬКО РАЗ, СКОЛЬКО ЗАПИСЕЙ //В MAINTABLE + ОТОБРАННЫЕ ЗАПИСИ В LINETABLE????!!!!!! { .....отберет почему-то больше записей } } |
|
|
![]() |
||||
Тема | Ответов | |||
Как подставить вычисляемое значение в Range у query | 16 | |||
Установка условия ИЛИ (OR) в Query | 3 | |||
Проблема с составлением Query | 10 | |||
queryRun в рамках RunBaseBatch | 6 | |||
Еще раз о Query | 7 |
|