我组尾里使用了rbGroupFooter,在上面加了QRExpr1,Expression设置为SUM(字段名),可结果却是累计数。请问大侠如何解决?
5 个解决方案
#1
路过,顶下
#2
QRSubDetail的FooterBand属性要指定小计的QRBand
#3
楼上的,报表里没有用到QRSubDetail,而是使用了rbDetail,因为不是多层分组,只是将一个表按业务员分组。
所以只用了QRGroup、rbDetail和rbGroupFooter。
QRGroup的FooterBand属性指定了小计的QRBand——rbGroupFooter
所以只用了QRGroup、rbDetail和rbGroupFooter。
QRGroup的FooterBand属性指定了小计的QRBand——rbGroupFooter
#4
论坛人气为何如此不旺啊。
#5
你在报表中设计2个ADOQUERY,QryMaster,QryDetail,QryDetail的DataSource指向Master,
在QuickRep1BeforePrint中做分组查询.你试试
我以前做过类似报表.
procedure TQr_typeRep.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
with QryMaster do
begin
Close;
SQL.Clear ;
IF A_S_OP=FALSE THEN SQL.Add('select * from PZDICT where PLNO='''+Ls_PLNO+''' ORDER BY PLNO')
ELSE SQL.Add('select * from PZDICT ORDER BY PLNO');
Open ;
end;
with QryDetail do
begin
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM PZDAT');
SQL.ADD('WHERE PZDAT >= '+FormatDateTime('yyyy-mm-dd',L_DTP_START));
SQL.ADD(' AND PZDAT <= '+FormatDateTime('yyyy-mm-dd',L_DTP_END ));
SQL.ADD(' AND LEFT(PZENO,2)=:PLNO');
SQL.ADD(' ORDER BY BNENO,PZDAT,PZTME ');
Open;
end;
end;
PLNO就是分组条件
在QuickRep1BeforePrint中做分组查询.你试试
我以前做过类似报表.
procedure TQr_typeRep.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
with QryMaster do
begin
Close;
SQL.Clear ;
IF A_S_OP=FALSE THEN SQL.Add('select * from PZDICT where PLNO='''+Ls_PLNO+''' ORDER BY PLNO')
ELSE SQL.Add('select * from PZDICT ORDER BY PLNO');
Open ;
end;
with QryDetail do
begin
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM PZDAT');
SQL.ADD('WHERE PZDAT >= '+FormatDateTime('yyyy-mm-dd',L_DTP_START));
SQL.ADD(' AND PZDAT <= '+FormatDateTime('yyyy-mm-dd',L_DTP_END ));
SQL.ADD(' AND LEFT(PZENO,2)=:PLNO');
SQL.ADD(' ORDER BY BNENO,PZDAT,PZTME ');
Open;
end;
end;
PLNO就是分组条件
#1
路过,顶下
#2
QRSubDetail的FooterBand属性要指定小计的QRBand
#3
楼上的,报表里没有用到QRSubDetail,而是使用了rbDetail,因为不是多层分组,只是将一个表按业务员分组。
所以只用了QRGroup、rbDetail和rbGroupFooter。
QRGroup的FooterBand属性指定了小计的QRBand——rbGroupFooter
所以只用了QRGroup、rbDetail和rbGroupFooter。
QRGroup的FooterBand属性指定了小计的QRBand——rbGroupFooter
#4
论坛人气为何如此不旺啊。
#5
你在报表中设计2个ADOQUERY,QryMaster,QryDetail,QryDetail的DataSource指向Master,
在QuickRep1BeforePrint中做分组查询.你试试
我以前做过类似报表.
procedure TQr_typeRep.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
with QryMaster do
begin
Close;
SQL.Clear ;
IF A_S_OP=FALSE THEN SQL.Add('select * from PZDICT where PLNO='''+Ls_PLNO+''' ORDER BY PLNO')
ELSE SQL.Add('select * from PZDICT ORDER BY PLNO');
Open ;
end;
with QryDetail do
begin
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM PZDAT');
SQL.ADD('WHERE PZDAT >= '+FormatDateTime('yyyy-mm-dd',L_DTP_START));
SQL.ADD(' AND PZDAT <= '+FormatDateTime('yyyy-mm-dd',L_DTP_END ));
SQL.ADD(' AND LEFT(PZENO,2)=:PLNO');
SQL.ADD(' ORDER BY BNENO,PZDAT,PZTME ');
Open;
end;
end;
PLNO就是分组条件
在QuickRep1BeforePrint中做分组查询.你试试
我以前做过类似报表.
procedure TQr_typeRep.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
with QryMaster do
begin
Close;
SQL.Clear ;
IF A_S_OP=FALSE THEN SQL.Add('select * from PZDICT where PLNO='''+Ls_PLNO+''' ORDER BY PLNO')
ELSE SQL.Add('select * from PZDICT ORDER BY PLNO');
Open ;
end;
with QryDetail do
begin
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT * FROM PZDAT');
SQL.ADD('WHERE PZDAT >= '+FormatDateTime('yyyy-mm-dd',L_DTP_START));
SQL.ADD(' AND PZDAT <= '+FormatDateTime('yyyy-mm-dd',L_DTP_END ));
SQL.ADD(' AND LEFT(PZENO,2)=:PLNO');
SQL.ADD(' ORDER BY BNENO,PZDAT,PZTME ');
Open;
end;
end;
PLNO就是分组条件