Q&A

  • [질문]퀵리포트 Detail밴드에서 데이터가 한건만 표시되네요

퀵리포트를 처음 사용해보는데 맘처럼 되지않네요 ㅠㅠ

폼1에서 출력폼을 불러와서 데이터 건수만큼 출력하는 출력입니다.


1. 폼1의 출력버튼에서 fmRpt 호출
  try
    fmRpt := TfmRpt.Create(Application);
    fmRpt.ShowModal;

  finally
    fmRpt.Free;
  end;

2. fmRpt의 FormShow이벤트에서 쿼리가 eof 일때까지 실행
  qryData.Close;
  qryData.Sql.Text := 'select * from table;
  qryData.Open;
 
  QuickRep1.DataSet := qryData; 
  qData1.DataSet := qryData;
  qData2.DataSet := qryData;
 
  while not qryData.Eof do begin  // 이부분
    qData1.Caption := qryData.FieldByName('이름').AsString;
    qData2.Caption := qryData.FieldByName('전화번호').AsString; 
    qryData.Next;
  end;
 
3. fmRpt에서 while Loop를 빼면 첫데이터만 나오고 Loop를 돌리면 마지막 데이터만 나옵니다.

물론 데이터부분은 BandType을 rbDetail로 했고요.

머가 문제일까요???

1  COMMENTS
  • Profile
    완전한사랑 2013.11.20 19:37

    뭔가 좀 이상한거 같은데.. 꼭 찝어서 말씀드리기가 어려워 보이네요.. 음..


    보통 퀵리포트에서 DetailBand 돌릴때는 DetailBand1BeforePrint 안에서 작업을 해야 데이터가 표현이 됩니다.

    FromShow 에서 돌리면 않될꺼 같다는 생각이 듭니다..


    하나만 나오겠죠.. 당연히..