Цитата:
Сообщение от
S.Kuskov
Сколько датасурсов у вас на форме и как они связаны? Зачем программно меняете структуру query (зачем добавляете ещё датасурс командой addDataSource)?
Датасоурсов 6 штук. Меня интересуют только 2 - постоянная и временная таблица. Между ними связь по ключам key.
Запрос для временной таблицы такого вида:
while select mytable
{
select firstfast firstonly mytmptable
order by f1 desc, f2 desc
where mytmptable.key2 == table2.key2
&& mytmptable.key == mytable.key;
***
}
Мне для формирования нужна только 1 выделенная запись из table2, поэтому весь набор проходить вроде как ни к чему.
Программно меняю, потому что при соединении декларативно при выполнении аксапта ругается на то, что datasourse не инициализирован в местах, где совершенно не понятно, что ей не нравится.
addDataSource сделал, разбираясь в примерах, может быть и не надо было. Я подумал, что QueryBuildDataSource qbds; для формирования связи требует такого синтаксиса.
если убрать строчку qbds = qbds.addDataSource(tablenum(myTable));
Ошибка возникает на строке qbds.addLink(fieldnum(myTable, key), fieldnum(myTmpTable, key));
Да, и еще. Требуется реализовать фильтр в зависимости от состояния элемента управления, поэтому также query приходится менять программно.