Q&A

  • [문의사항]OnNeedData에서 빈칸출력 어떻게 하나여?
쿼리한 자료들을 DETAILBAND에 18 칸씩 출력하려고 합니다.

그런데 쿼리한 자료가 26개이면 첫 페이지에는 18 칸 찍고 다음 페이지에는

6개만 찍고 나머지 12칸은 빈칸(표만출력)으로 출력되게 하고 싶습니다.



{쿼리한 자료가 6개이면 나머지 12칸 빈칸은 출력 됩니다.

쿼리한 자료가 2페이지를 넘어 갈때...가 문제 입니다.

쿼리한 자료가 유동적이기 때문에....

제 실력으로는 로직이 안되네여....고수님들의 답변을 기다리겠습니다.}

procedure TFrmSearchSGRPrt.QuickRep1NeedData(Sender: TObject;

var MoreData: Boolean);

begin

MoreData := BandCount < DetailCount;

//제생각에는 위의 DetailCount(18)를 어떻게 변형시켜주면 될것 같은데...쩝..^^;

If MoreData Then

Begin

If BandCount < QUERY1.RecordCount Then

Begin

QRLabel6.Caption := Query1.FieldByName('AMCDT').AsString;

QRLabel15.Caption := Query1.FieldByName('MINO').AsString;

QRLabel16.Caption := Query1.FieldByName('YREF').AsString;

QRLabel17.Caption := Query1.FieldByName('OUREF').AsString;

R := StrToFloat(Query1.FieldByName('AMC').AsString);

QRLabel18.Caption := FormatFloat('#,##0.00', R);

S := S + Query1.FieldByName('AMC').AsFloat;

QRLabel19.Caption := FormatFloat('#,##0.00', S);

Query1.Next;

End

Else

Begin

QRLabel6.Caption := '';

QRLabel15.Caption := '';

QRLabel16.Caption := '';

QRLabel17.Caption := '';

QRLabel18.Caption := '';

QRLabel19.Caption := '';

End;

end;

Inc(Bandcount);

end;



procedure TFrmSearchSGRPrt.QuickRep1BeforePrint(Sender: TCustomQuickRep;

var PrintReport: Boolean);

begin

BandCount := 0;

DetailCount := 18;

Query1.First;

S := 0;

end;



0  COMMENTS