Показать сообщение отдельно
Старый 07.05.2007, 13:55   #4  
Ed1k is offline
Ed1k
Участник
 
102 / 42 (2) +++
Регистрация: 19.07.2006
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Перво-наперво навести порядок, а именно - каждой таблице в Query свой отдельный датасорс. Попытка коммунизма(один датасорс для двух таблиц) в данном случае обречена на провал - qrbd сначала инициализируется как датасорс в запросе по таблице А, затем переинициализируется как датасорс к таблице Dimension, что приводит к потере информации в нем о таблице А. Попытка создать связь у qrbd по полю таблицы, на которой он не построен и не имеет ни малейшего понятия, приводит к данной ошибке.
Дьявольские фантазии)
Код:
    query = new Query();
    qbds = query.addDataSource(tablenum(LedgerTable));
    qbds = qbds.addDataSource(tablenum(Dimensions));
    qbds.addLink(fieldId2ext(fieldnum(LedgerTable, Dimension), 2), fieldnum(Dimensions, Num));
    info(qbds.parentDataSource().name());
    info(qbds.parentDataSource().toString());