lisa 님이 쓰신 글 :
: 퀵리포트를 사용하여 통계 작업을 하고 있습니다.
: 다이너믹하게 TQRExpr 를 사용하여 Expression에 각 필드에 대한 Sum을 하고 있는데요
: 단위가 21억이 넘어가니 integer overflow 에러가 발생합니다.
:
: 해결할 수 있는 방법이 있나요?
: 아래와 같이 선언하여 사용하고 있는데요.
: QRSummery:= TQRExpr.Create(self);
: QRSummery.Name:= 'QRSummery'+IntToStr(i);
: QRSummery.Parent:= QRBand2;
: QRSummery.AutoSize:= False;
: QRSummery.Alignment:= DBGrid.Columns[i].Alignment;
: QRSummery.Transparent:= True;
: QRSummery.Font.Style := QRSummery[i].Font.Style + [fsBold];
: QRSummery.Left:= Startleft;
: QRSummery.Top:= 8;
: QRSummery.Width:= Round(DBGrid.Columns[i].Width * widthRatio);
: QRSummery.Expression:= 'Sum('+DBGrid.Columns[i].FieldName+')';
: QRSummery.OnPrint:= ExtChange;
: QRSummery.Enabled:= True;
:
: integer의 한계가 21억이라 나는 에러인 것 같은데 QRSummery의 타입을 새로 지정해 줄 수
: 있는 것도 아닌 것 같고 어느 부분을 수정해야 할 지를 모르겠네요.
:
: 도움 부탁드립니다. 감사합니다.
리포트를 써본지가 오래되어서.. ㅎㅎ
방법이 없다면.. 할수 없죠.. 코딩으로 계산을 하셔서 qrlabel에다가 뿌려주시면 될듯하네요.
|