FastReport
От: MaxxSoft Россия  
Дата: 01.12.04 05:19
Оценка:
Не могу разобраться с генерацией отчетов.
Допустим, есть запрос GetGamesReport_SQL — выборка из таблиц БД, например такой: "SELECT GUEST FROM GUESTS";
В отчете (BReport) созданы MasterHeader и MasterData.
MasterData содержит Memo-поле, в котором записано: [Guest].
Создан Dataset (BReport.DataSet := BonusDataSet), его функции реализованы след. образом:

procedure TReceptionData.BonusDatasetCheckEOF(Sender: TObject;
  var Eof: Boolean);
begin
  Eof := GetGamesReport_SQL.Eof;
  if Eof then CommonData.Read_trans.Commit;
end;

procedure TReceptionData.BonusDatasetFirst(Sender: TObject);
begin
  try
    if not CommonData.Read_trans.InTransaction then CommonData.Read_trans.StartTransaction;
    with GetGamesReport_SQL do
    begin
      if not Prepared then Prepare;
      ExecQuery;
    end;
  except
    Application.MessageBox('Запрос не выполнен.', CAPTION_MAIN);
    if CommonData.Read_trans.InTransaction then CommonData.Read_trans.Rollback;
  end;
end;

procedure TReceptionData.BonusDatasetNext(Sender: TObject);
begin
  GetGamesReport_SQL.Next;
end;


Функция получения параметра:
procedure TReceptionData.BReportGetValue(const ParName: String; var ParValue: Variant);
begin
  if (ParName = 'Guest') then ParValue := GetGamesReport_SQL.FieldByName('FULL_NAME').AsString;
end;


Вызов отчета:

procedure TReceptionData.CreateGameReport();
begin
  if BReport.PrepareReport then BReport.ShowPreparedReport
  else Application.MessageBox('Не удалось загрузить отчет', CAPTION_MAIN);


Выводится отчет без данных.
Как результаты запроса вывести в отчет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.