Как установить зависимость между 2 Adoquery

отредактировано August 2008 Раздел: FastReport 3.0
Нужно настроить зависимость между 2 SQL запросами.

Один используется для выборки данных в MasterData
Другой - в detailedData.

В обоих SQL запросах есть возвращаемое значение clientID.

Как связать SQL запросы, что 2 запрос возвращал только записи,для которых clientID равен значению, которое было напечатано в MasterData?
(То есть, как связывать SQL запросы в 2-х уровневых отчетах).

Комментарии

  • отредактировано 09:20
    написал: »
    Нужно настроить зависимость между 2 SQL запросами.

    Один используется для выборки данных в MasterData
    Другой - в detailedData.

    В обоих SQL запросах есть возвращаемое значение clientID.

    Как связать SQL запросы, что 2 запрос возвращал только записи,для которых clientID равен значению, которое было напечатано в MasterData?
    (То есть, как связывать SQL запросы в 2-х уровневых отчетах).
    написал: »
    Я не совсем поняла разяснение в предыдущем посте, поэтому просто изложу как у меня это сделано.
    На закладке "Данные" есть 2 компонента TfrxADOQuery - QryMaster, QryDetail. Для QryMaster: в свойство SQL пишу "SELECT Id, Name FROM TabM". Для QryDetail: в свойстве SQL пишу "SELECT * FROM TabD WHERE Id_TabM = :Id_TabM", в свойстве Params появляеться параметр Id_TabM, где в значение указывается "<QryMaster."Id_TabM">", в свойстве Master выбирается QryMaster.

    Для QryDetail в свойстве SQL напишите "SELECT * FROM TabD WHERE Id_TabM = :Id"
    Значение параметра задавать не нужно
    В ветке по 4.0 предложен выше написанный способ, но под 3.07 он не работает.

    Решил проблему следующим способом:
    В запросе использую переменную :clt ,которой присваиваю значение переменной <clt> в параметрах.
    В отчетной форме в DetailedBand перехватываю событие onMasterDetail , в обработчике выполняю действия:
    1.Устанавливаю свойство active в false у Detailed запроса,
    2.Присваиваю переменной clt значение, равное текущему идентификатору Master таблицы,(<имя запроса>."имя столбца для связки")
    3. Устанавливаю свойство active в true у Detailed запроса .

    Названный способ работает, однако, медленнее, чем при использовании Master- detailed таблиц (много операций установления соединения с сервером).
  • gpigpi
    отредактировано 09:20
    написал:
    В ветке по 4.0 предложен выше написанный способ, но под 3.07 он не работает
    Обновили бы версию хотя бы до 3.24

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.