Показать сообщение отдельно
Старый 02.05.2012, 13:23   #8  
uskutus is offline
uskutus
Участник
 
28 / 10 (1) +
Регистрация: 04.04.2012
Цитата:
Сообщение от 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 приходится менять программно.

Последний раз редактировалось uskutus; 02.05.2012 в 14:08.