25.03.2004, 16:03 | #1 |
Участник
|
Надо построить Query на Datasource на форме.
Пусть есть таблицы: Table1: Field1, Field3 Table2: Field1, Field2 Table3: Field2, Field4 Table4:Field2, Field3, Field4 Пишу в методе lookup: SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(Table1), _formControl); Query q = new Query(); QueryBuildDataSource beds QueryBuildRange qbr; ; qbds = q.addDataSource(tableNum(Table1)); qbds = qbds.addDataSource(tablenum(Table2)); qbds.addLink(fieldNum(Table2,Field1),fieldNum(Table1, Field1)); qbds.joinMode(JoinMode::InnerJoin); qbds = qbds.addDataSource(tablenum(Table3)); qbds.addLink(fieldNum(Table3,Field2),fieldNum(Table2, Field2)); qbds.joinMode(JoinMode::InnerJoin); qbds = qbds.addDataSource(tablenum(Table4)); qbds.addLink(fieldNum(Table4,Field2), fieldNum(Table3, Field2)); qbds.addLink(fieldNum(Table4,Field4),fieldNum(Table3, Field4)); qbds.addLink(fieldNum(Table4, Field3), fieldNum(Table1, Field3)); qbds.joinMode(JoinMode::NoExistsJoin); qbr = qbds.addRange(fieldNum(Field3, Field4)); qbr.value(‘1’); //условие sysTableLookup.parmQuery(q); sysTableLookup.performFormLookup(); Но при выполнеии lookup выдается сообщение "Недопустимая комбинация поля / поля ссылки". Что делать в этом случае? |
|