Q&A

  • 퀵레포트에 총계를 출력하려는데요...
퀵레포트에 출력을 하려는데 막히는 부분이 있어서 질문을 합니다.



출력이 한페이지로 끝날때도 있고 여러 페이지가 될때도 있는데요

PageFooter에 총계를 출력을 해주고 있습니다.



그런데 매페이지마다 총계가 나오는 것이 아니라

마지막 페이지만 총계가 나와야 합니다.



각 페이지마다 페이지 번호를 출력해 주는데

QRSysData1 과 라벨(총페이지수)을 이용해서 1/4, 2/4, 3/4, 4/4

이런 형식으로 출력을 해주고 있습니다.



그래서 QRSsysData1 와 총페이지수를 비교해서

둘이 같을때만 PageFooter에 총계를 출력하게 만들 계획이었는데

생각처럼 잘안되고 있씁니다.



쉽게 해결할 수 있는 방법이 있으면 가르쳐주세용.

그럼 이만 ~!



3  COMMENTS
  • Profile
    하눌이 2001.03.09 20:03
    훈철 wrote:

    > 퀵레포트에 출력을 하려는데 막히는 부분이 있어서 질문을 합니다.

    >

    > 출력이 한페이지로 끝날때도 있고 여러 페이지가 될때도 있는데요

    > PageFooter에 총계를 출력을 해주고 있습니다.

    >

    > 그런데 매페이지마다 총계가 나오는 것이 아니라

    > 마지막 페이지만 총계가 나와야 합니다.

    >

    > 각 페이지마다 페이지 번호를 출력해 주는데

    > QRSysData1 과 라벨(총페이지수)을 이용해서 1/4, 2/4, 3/4, 4/4

    > 이런 형식으로 출력을 해주고 있습니다.

    >

    > 그래서 QRSsysData1 와 총페이지수를 비교해서

    > 둘이 같을때만 PageFooter에 총계를 출력하게 만들 계획이었는데

    > 생각처럼 잘안되고 있씁니다.

    >

    > 쉽게 해결할 수 있는 방법이 있으면 가르쳐주세용.

    > 그럼 이만 ~!

    >



    summery band에 쓰시면 않되나?

  • Profile
    이상봉 2001.04.12 02:40
    훈철 wrote:

    > 퀵레포트에 출력을 하려는데 막히는 부분이 있어서 질문을 합니다.

    >

    > 출력이 한페이지로 끝날때도 있고 여러 페이지가 될때도 있는데요

    > PageFooter에 총계를 출력을 해주고 있습니다.

    >

    > 그런데 매페이지마다 총계가 나오는 것이 아니라

    > 마지막 페이지만 총계가 나와야 합니다.

    >

    > 각 페이지마다 페이지 번호를 출력해 주는데

    > QRSysData1 과 라벨(총페이지수)을 이용해서 1/4, 2/4, 3/4, 4/4

    > 이런 형식으로 출력을 해주고 있습니다.

    >

    > 그래서 QRSsysData1 와 총페이지수를 비교해서

    > 둘이 같을때만 PageFooter에 총계를 출력하게 만들 계획이었는데

    > 생각처럼 잘안되고 있씁니다.

    >

    > 쉽게 해결할 수 있는 방법이 있으면 가르쳐주세용.

    > 그럼 이만 ~!

    > //////////////////////////////////////////



    제가알고있는 방법은 2가지가있습니다.

    1번째방법

    써머리를 이용해서 마지막에찍는방법

    근데 질문하신분의 의도로 보아 이내용은 아닌것같고..

    2번째방법

    패이지수와비교해서 하는방법을 물어보신것같은데

    먼저 PageFooter에 QRExpr 하나를 놓는다



    QRExpr1Print

    의 이벤트에서 코딩한 예(ex)입니다.

    var

    a : integer;



    begin

    a := Trunc(query1.RecordCount /12); //디테일밴드가 12줄찍히면 1장으로보았다.

    if QuickRep1.PageNumber = a then

    begin

    Value := '';

    end else

    begin

    Value := Value;

    end;

    end;

    이렇게 하시면 마지막에 데이타가(합계)가 나올겁니다.

    또다른 방법을 가지고 계신분들은 글을 올려주세요.

    "정보는 공유되어야한다".

    *^^*









  • Profile
    훈철 2001.03.10 00:32
    문제는 rbSummary 을 할 경우 rbSummary 라인에 총계 뿐만아니라

    페이지 넘버까지 들어가 있다는 것입니다.



    인쇄되어 있는 용지에 뿌리는 것이기 때문에 페이지 넘버를 이동시킬수도 없구

    하필이면 금액 총계 나오는 그 라인에 페이지 넘버가 와 있었구

    총계들을 마지막에만 보여주라고 해서 고민되었습니다.



    즉 rbSummary 로 할 경우에는 페이지번호가 마지막에만 나오게된다는 것이지요.



    이상봉님의 코드중에서 "QuickRep1.PageNumber"라는 것을 몰라서 계속 삽질을 했슴다.

    페이지 넘버를 비교해서 맨 마지막일경우에 데이타를 뿌려주는걸 할려고 했거덩요.



    'QRExpr' 를 사용하지 않고 'bend'를 PageFooter 로 놓고 QRBand1BeforePrint 에서

    코딩을 했습니다.



    보시고 이상한 곳이 있으면 지적해주세엽 ^.^





    ===============================================================================





    procedure TW_ACP210.QRBand1BeforePrint(Sender: TQRCustomBand;

    var PrintBand: Boolean);

    var

    pgcount : integer;

    i : integer;

    begin

    pgcount := Qry_detail.RecordCount div 4;



    if (Qry_detail.RecordCount mod 4) = 0 then

    pgcount := pgcount

    else

    pgcount := pgcount + 1;



    QRpgcount.Caption := IntToStr(pgcount);



    for i := 1 to pgcount do

    begin



    if QuickRep1.PageNumber = i then

    begin

    QR_debit_Sum.Caption:= gf_comma_add(StrToInt(desum));

    QR_credit_Sum.Caption:= gf_comma_add(StrToInt(crsum));

    QR_Sum.Caption:= tempstr1 ;



    end else

    begin

    QR_debit_Sum.Caption:= '';

    QR_credit_Sum.Caption:= '';

    QR_Sum.Caption:= '';

    end;

    end;

    end;





    ===============================================================================











    이상봉 wrote:

    > 훈철 wrote:

    > > 퀵레포트에 출력을 하려는데 막히는 부분이 있어서 질문을 합니다.

    > >

    > > 출력이 한페이지로 끝날때도 있고 여러 페이지가 될때도 있는데요

    > > PageFooter에 총계를 출력을 해주고 있습니다.

    > >

    > > 그런데 매페이지마다 총계가 나오는 것이 아니라

    > > 마지막 페이지만 총계가 나와야 합니다.

    > >

    > > 각 페이지마다 페이지 번호를 출력해 주는데

    > > QRSysData1 과 라벨(총페이지수)을 이용해서 1/4, 2/4, 3/4, 4/4

    > > 이런 형식으로 출력을 해주고 있습니다.

    > >

    > > 그래서 QRSsysData1 와 총페이지수를 비교해서

    > > 둘이 같을때만 PageFooter에 총계를 출력하게 만들 계획이었는데

    > > 생각처럼 잘안되고 있씁니다.

    > >

    > > 쉽게 해결할 수 있는 방법이 있으면 가르쳐주세용.

    > > 그럼 이만 ~!

    > > //////////////////////////////////////////

    >

    > 제가알고있는 방법은 2가지가있습니다.

    > 1번째방법

    > 써머리를 이용해서 마지막에찍는방법

    > 근데 질문하신분의 의도로 보아 이내용은 아닌것같고..

    > 2번째방법

    > 패이지수와비교해서 하는방법을 물어보신것같은데

    > 먼저 PageFooter에 QRExpr 하나를 놓는다

    >

    > QRExpr1Print

    > 의 이벤트에서 코딩한 예(ex)입니다.

    > var

    > a : integer;

    >

    > begin

    > a := Trunc(query1.RecordCount /12); //디테일밴드가 12줄찍히면 1장으로보았다.

    > if QuickRep1.PageNumber = a then

    > begin

    > Value := '';

    > end else

    > begin

    > Value := Value;

    > end;

    > end;

    > 이렇게 하시면 마지막에 데이타가(합계)가 나올겁니다.

    > 또다른 방법을 가지고 계신분들은 글을 올려주세요.

    > "정보는 고유되어야한다".

    > *^^*

    >

    >

    >

    >