퀵레포트 처음 하는지라 잘 모르겠네여.
여기저기 있는 소스 끌어다 만들어 봤는데...
조금만 도와 주세요..
소스가 다음과 같습니다.
프리뷰하면, 아무것도 안나오네여..
뭐가 잘못됐나여?
물론 query는 오픈한 상태입니다..
퀵레포트는
책이나 헬프봐도 잘 설명이 되어 있는거 같지 않아서인데..
가능하시면 이벤트의 기능에 대해 조금만 설명해 주세여
어떤 경우에, 어떻게 사용되는지.. ^^
감기 조심들 하세여
///////////////////////////////////////////////////
procedure Tprint_ryousyu_data.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
if not DM.M_Query1.EOF then PrintReport := True
else PrintReport := False;
end;
procedure Tprint_ryousyu_data.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin
if not DM.M_Query1.EOF then MoreData := True
else MoreData := False;
end;
procedure Tprint_ryousyu_data.QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
with DM.M_Query1 do
begin
RYOSYUSYO_NO.Caption := FieldByName('RYOSYUSYO_NO').AsSTRING;
TOKUISAKIKANJI1.Caption := FieldByName('TOKUISAKIKANJI1').AsSTRING ;
TOKUISAKIKANJI2.Caption := FieldByName('TOKUISAKIKANJI2').AsSTRING ;
KINGAKU.Caption := FieldByName('KINGAKU').AsSTRING ;
end;
PrintBand := True;
end;
procedure Tprint_ryousyu_data.QuickRep1AfterPrint(Sender: TObject);
begin
// 한 레코드 한페이지로 하기 위해..
if not DM.M_Query1.Eof then QuickRep1.NewPage;
end;
///////////////////////////////////////////////////////////////////
일단 내용을 보니까 페이지당 한 레코드를 찍는거 같은데요.
RYOSYUSYO_NO.Caption := FieldByName('RYOSYUSYO_NO').AsSTRING;
TOKUISAKIKANJI1.Caption := FieldByName('TOKUISAKIKANJI1').AsSTRING ;
TOKUISAKIKANJI2.Caption := FieldByName('TOKUISAKIKANJI2').AsSTRING ;
KINGAKU.Caption := FieldByName('KINGAKU').AsSTRING ;
end;
저 부분들을 DetailBand에 QRLabel 말고 QRDBText를 놓으시고
DetailBand 의 프로퍼티중 ForceNewPage 를 True 로 하시고
QuickReport1의 이벤트중 BeforePrint 에 DM.M_Query1.First;
나머지는 코딩을 하지 않으셔도 될겁니다.
제가 저기 BeforePrint 에 DM.M_Query1.First; 를 넣는 이유는
미리보기후에 인쇄를 할려고 하면 데이타가 찍히지 않습니다.
이유는 미리보기시 저 데이타의 위치가 EOF이거든요.
그래서 인쇄전에 First를 되돌려줄려는 이유입니다.
------------------------------------------------------------
간단하게만 설명을 드릴께요.
퀵레포트는 디자인이 하나라도 잘못되면 데이타 출력이 엉망이 더지만
일단 디자인만 잘하시면 별도의 코딩이 필요없을정도로 편합니다.
이벤트는 대부분 인쇄후, 인쇄전, 미리보기 후등의 이벤트라
별 다르게 이벤트를 설명할건 없는거 같습니다.
더 자세히 알고 싶으시면 바이블같은 책에 나와있는 내용을 참조하시는게
낳을것 같구요..
이벤트보단 디자인을 먼저 파악하시는게 빠를듯 싶습니다.
그럼.