쿼리한 자료들을 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;