FastReport 3 + FIBPlus

отредактировано 16:16 Раздел: FastReport 3.0
<span style='color:blue'>Приветствую всех форумчан!

Компоненты:
Сервер - Firebird 1.5
Среда програмирования - Delphi7
Компоненты - FIBPlus и FastReport 3

Имееться база данных с двумя таблицами Master-Detail. Связи master-detail настроены правильно.
Воспользовавшись выдержкой из книги "Мир Interbase", вывожу отчет в FastReport 3. </span>
написал:
GoodsDataSet.DetailConditions := GoodsDataSet.DetailConditions-[dcWaitEndMasterScroll];
frReport.LoadFromFile('test.fr3');
frReport.PrepareReport ;
frReport.ShowPreparedReport;
GoodsDataSet.DetailConditions := GoodsDataSet DetailConditions + [dcWaitEndMasterScroll];
<span style='color:blue'>
А теперь вопрос ! Почему в Отчете не выводяться Master-записи, для которых нету значений в Detail таблице???
Как решить ... ? </span>

Комментарии

  • LexLex
    отредактировано 16:16
    В отчете у мастердата бенда поставте свойство PrintIfDetailEmpty в True
  • отредактировано 16:16
    Lex написал:
    В отчете у мастердата бенда поставте свойство PrintIfDetailEmpty в True
    Спасибо! Получилось ;)

    Если не трудно - еще вопрос:

    В отчете подключаю FIBQuery в нем пишу запрос:
    SELECT COUNT "(*)"
    From "111"
    

    И при просмотрет отчета FastReport дает ошибку:
    Transaction not assigned for .
    

    Как подцепить транзакцию ?
  • отредактировано 16:16
    Народ! А может есть новая версия компонента FIBQuery для FastReport, в которой есть возможность подцепить транзакцию?
  • LexXPLexXP Новокузнецк
    отредактировано 16:16
    А ковычки в запросе тожде присутствуют?
  • отредактировано 16:16
    LexXP написал:
    А ковычки в запросе тожде присутствуют?
    Да пробовал и с кавычками и без ... ! Все тоже
    LexXP написал:
    Transaction not assigned for .
    ;)
  • отредактировано 16:16
    DizeL написал:
    [В отчете подключаю FIBQuery в нем пишу запрос: 
    SELECT COUNT "(*)"
    From "111"
    
    И при просмотрет отчета FastReport дает ошибку:
    Transaction not assigned for .
    
    Как подцепить транзакцию ?
    У меня FR 3.23.1, frxFIBComponents из комплекта поставки. Все работает нормально. На все приложение у меня один коннект (TpFIBDatabase) на Data Module. К нему по умолчанию подключено два компонента - транзакции (читающая и модифицирующая). frxFIBQuery внутри отчетов используют общий для всего приложения коннект. В этом случае используется транзакция по умолчанию. Пробовал я делать отчеты и с отдельным коннектом (frxFIBDatabase) внутри отчета (просто попробовал, нужды особой не было). Тоже работает без проблем. Видимо, внутри где-то создается и стартует читающая транзакция (сейчас в исходниках копаться лень).
  • отредактировано 16:16
    Кстати, что за фигня
    count "(*)"
    
    ?
    Вы где такой синтаксис видели?
    Пишите по-людски, и будет вам счастье. Запрос-то ошибку возвращает.
    select count(*) from "lll"
    

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

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