Q&A

  • 퀵리포트 (Zeros의값인 레코드는 안찍히게) 도와주세요.
출력폼>



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

품명 A값 B값 C값(A-B)

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

xxx 35 30 5

zzz 12 12 0 <--- 값이 0인것은 출력 안하기 (질의 요점)

.

.

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



세부내역>

값A, B는 Sql DB에서 불려 왔읍니다.

값C 는 Query1CalcFields 에서 계산 하면서 프린트중입니다.



이때 0의값의 자료는 출력 하지 않고 싶읍니다...



procedure TAccr210_frm.DetailBand1BeforePrint(Sender: TQRCustomBand;

var PrintBand: Boolean);

begin

if Query2Sang_Cr.Value = 0 then

Query2.Next;

end;



위와 같이 DetailBand1BeforePrint 이벤트 발생시키니 하나의 레코드는 넘어가고..

다음레코드는 Zero인데 출력되고.. 또 다음 레코드 Zero는 넘어가고...

이렇게 반복이 되네요..



어떻게 하면 될까요??? 좋은방법 없나요?

좀 도와주세요...





3  COMMENTS
  • Profile
    처음 2000.08.10 01:25
    음 먼저 쿼리로써 A와 B값을 읽어왔다면

    처음부터 C(A-B)인자료는 안읽어오도록 할수는 없었는지 궁금하구여..



    어떤 이유에든 읽어오고. 출력만 제외시키려고 한다면요..



    procedure TAccr210_frm.DetailBand1BeforePrint(Sender: TQRCustomBand;

    var PrintBand: Boolean);

    begin

    PrintBand := (Query2Sang_Cr.Value != 0 );

    end;



    이렇게 기술해 주면 되겠네요..

    PrintBand라는 인수는 Default는 True이거든요..

    이게 False가 되면 해당하는 밴드는 출력이 안되게 되거든요..

    다시 다음 레코드를 읽어서 출력하기전에 해당이벤트가 타게 되니까..

    모든게 처리될거라 생각합니다.









    초보 wrote:

    > 출력폼>

    >

    > ================================

    > 품명 A값 B값 C값(A-B)

    > =================================

    > xxx 35 30 5

    > zzz 12 12 0 <--- 값이 0인것은 출력 안하기 (질의 요점)

    > .

    > .

    > =================================

    >

    > 세부내역>

    > 값A, B는 Sql DB에서 불려 왔읍니다.

    > 값C 는 Query1CalcFields 에서 계산 하면서 프린트중입니다.

    >

    > 이때 0의값의 자료는 출력 하지 않고 싶읍니다...

    >

    > procedure TAccr210_frm.DetailBand1BeforePrint(Sender: TQRCustomBand;

    > var PrintBand: Boolean);

    > begin

    > if Query2Sang_Cr.Value = 0 then

    > Query2.Next;

    > end;

    >

    > 위와 같이 DetailBand1BeforePrint 이벤트 발생시키니 하나의 레코드는 넘어가고..

    > 다음레코드는 Zero인데 출력되고.. 또 다음 레코드 Zero는 넘어가고...

    > 이렇게 반복이 되네요..

    >

    > 어떻게 하면 될까요??? 좋은방법 없나요?

    > 좀 도와주세요...

    >

    >

  • Profile
    최윤정 2000.08.09 18:37
    이렇게 하세요....



    Procedure TAccr210_frm.DetailBand1BeforePrint(Sender: TQRCustomBand;

    var PrintBand: Boolean);

    begin

    if Query2Sang_Cr.FieldByName('c').AsFloat = 0 then

    PrintBand := False

    else

    PrintBand := True;

    end;



    초보 wrote:

    > 출력폼>

    >

    > ================================

    > 품명 A값 B값 C값(A-B)

    > =================================

    > xxx 35 30 5

    > zzz 12 12 0 <--- 값이 0인것은 출력 안하기 (질의 요점)

    > .

    > .

    > =================================

    >

    > 세부내역>

    > 값A, B는 Sql DB에서 불려 왔읍니다.

    > 값C 는 Query1CalcFields 에서 계산 하면서 프린트중입니다.

    >

    > 이때 0의값의 자료는 출력 하지 않고 싶읍니다...

    >

    > procedure TAccr210_frm.DetailBand1BeforePrint(Sender: TQRCustomBand;

    > var PrintBand: Boolean);

    > begin

    > if Query2Sang_Cr.Value = 0 then

    > Query2.Next;

    > end;

    >

    > 위와 같이 DetailBand1BeforePrint 이벤트 발생시키니 하나의 레코드는 넘어가고..

    > 다음레코드는 Zero인데 출력되고.. 또 다음 레코드 Zero는 넘어가고...

    > 이렇게 반복이 되네요..

    >

    > 어떻게 하면 될까요??? 좋은방법 없나요?

    > 좀 도와주세요...

    >

    >

  • Profile
    초보 2000.08.09 20:36
    내용 없읍니다.