Показать сообщение отдельно
Старый 02.07.2003, 13:50   #1  
VIS is offline
VIS
Участник
 
37 / 10 (1) +
Регистрация: 13.05.2003
? Как же все-таки организованиы Query и QueryRun?
У меня след. вопрос: я создаю запрос из кода, и в него добавляю два источника данных. Добавленные источники данных лежат на одном уровне, и связываются по полю MainId:

{
Query q = New Query();

q.addDatasource(tablenum(MainTable));
q.addDatasource(tablenum(LineTable));

q.dataSourceTable(LineTable).addRange(fieldnum(LineTable,MainId)).value("MainTable.MainId");

}

Если данный запрос я присоединяю к источнику данных на форме, отображающей главную и подчиненную форму - то все работает прекрасно.

Вопрос: Как я могу обратиться к записям таблиц(главной и подчиненной) через Query, QueryRun, в случае, если Query построен вышеописанным способом? Следующий метод возвращает пустую запись в LineTable:

{
QueryRun qr = New QueryRun(q);
MainTable MainTable;
LineTable LineTable;

while (qr.next())
{
MainTable = qr.get(MainTable);
SalesTable = qr.get(LineTable); //пустая запись
}
}
Также не помогло создавать для подчиненной таблицы свой QueryRun на основе Query с уже подставленным Range - возвращает произвольный набор строк из подчиненной таблицы