报表的格式类似于这样
班别 产品编号 实际产量 废品量
一班
xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90 二班
xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100三班
xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000我想让格式变成如下的格式:
报表的格式是这样的
例如:班别 产品编号 实际产量 废品量
一班 xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90 二班 xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100三班 xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000
班别 产品编号 实际产量 废品量
一班
xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90 二班
xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100三班
xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000我想让格式变成如下的格式:
报表的格式是这样的
例如:班别 产品编号 实际产量 废品量
一班 xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90 二班 xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100三班 xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000
sousouwjh(sousouwjh)
我没太明白,能在细点说一下么
var PrintBand: Boolean);
begin
ShowTag:=True;
end;procedure TForm1.QRSubDetail1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
if ShowTag=True then
begin
Qrlabel1:=Table1.Fieldbyname('¯Z¯Å').asstring;
end;
ShowTag:=False;
end;
var PrintBand: Boolean);
begin
ShowTag:=True;
end;procedure TForm1.QRSubDetail1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
if ShowTag=True then
begin
Qrlabel1:=Table1.Fieldbyname('Banji').asstring;
end;
ShowTag:=False;
end;//Qrlabel1 放在QRSubDetail1 顯示班級
我试了你的代码,没有实现我想要的效果。没做任何处理之前,打印出来的格式是这样的
班别 产品编号 实际产量 废品量
一班
xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90 二班
xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100三班
xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000我想要的格式是这样的
班别 产品编号 实际产量 废品量
一班 xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90 二班 xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100三班 xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000用了你的代码之后,格式是这样的
班别 产品编号 实际产量 废品量
一班
一班 xa00 1000 10
一班 xa01 1000 10
.....
分组统计: 8000 90 二班 xa01 1100 20
二班 xa00 1100 20
.....
分组统计: 9000 100三班 xa02 1100 20
三班 xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000
班别 产品编号 实际产量 废品量
一班
一班 xa00 1000 10
一班 xa01 1000 10
.....
分组统计: 8000 90
二班
二班 xa01 1100 20
二班 xa00 1100 20
.....
分组统计: 9000 100
三班
三班 xa02 1100 20
三班 xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000
用了你的代码之后,格式是这样的
班别 产品编号 实际产量 废品量
一班 xa00 1000 10
一班 xa01 1000 10
.....
分组统计: 8000 90
二班 xa01 1100 20
二班 xa00 1100 20
.....
分组统计: 9000 100
三班 xa02 1100 20
三班 xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000也和我的设想不一样啊,我想让班组的类别只出现在每组的第一行,如下
用了你的代码之后,格式是这样的
班别 产品编号 实际产量 废品量
一班 xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90
二班 xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100
三班 xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000
TQRCustomBand *Sender, bool &PrintBand)
{
ShowTag = true;
}
//---------------------------------------------------------------------------void __fastcall TfrmRepWasterTeamStat::QRSubDetail1BeforePrint(
TQRCustomBand *Sender, bool &PrintBand)
{
if(ShowTag == true)
{
QRLabel25->Caption = frmDm->qryRep1->FieldByName("Team")->AsString;
}
ShowTag = false;
//Qrlabel1 放在QRSubDetail1 顯示班級
}
//---------------------------------------------------------------------------
strSql="select team from teamInfo order by Id";
frmDm->qryRep1->Close();
frmDm->qryRep1->SQL->Clear();
frmDm->qryRep1->SQL->Add(strSql);
frmDm->qryRep1->Open();
frmDm->dsRep1->DataSet = frmDm->qryRep1;
frmDm->ADOQ_Rep2->DataSource = frmDm->dsRep1;
//
//subdetail对应的query
strSql="select j.ProductNo,j.Team,Ajl,Wjl,Asx,Wsx from";
strSql+=" (select ProductNo,Team,sum(ActualQty) as Ajl,sum(WasterQtyT) as Wjl from gwkBaseData";
strSql+=" where WPNo='101' and ProductNo<>'' and Team like '%班%' and ";
strSql+= strFaculty;
strSql+=" group by productNo,Team) as j left join";
strSql+=" (select ProductNo,Team,sum(ActualQty) as Asx,sum(WasterQtyT) as Wsx from gwkBaseData";
strSql+=" where WPNo='114' and ProductNo<>'' and Team like '%班%' and ";
strSql+= strFaculty;
strSql+=" group by productNo,Team) as s";
strSql+=" on j.productNo=s.productNo";
strSql+=" where (isnull(Ajl,0)+isnull(Asx,0))<>0 and j.Team = :Team";
frmDm->ADOQ_Rep2->Close();
frmDm->ADOQ_Rep2->SQL->Clear();
frmDm->ADOQ_Rep2->SQL->Add(strSql);
frmDm->ADOQ_Rep2->Open();
用了你的代码之后,格式是这样的
班别 产品编号 实际产量 废品量
一班 xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90
二班 xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100
三班 xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000不對嗎?
用了你的代码之后,格式是这样的
班别 产品编号 实际产量 废品量
一班 xa00 1000 10
一班 xa01 1000 10
.....
分组统计: 8000 90
二班 xa01 1100 20
二班 xa00 1100 20
.....
分组统计: 9000 100
三班 xa02 1100 20
三班 xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000也和我的设想不一样啊,我想让班组的类别只出现在每组的第一行,如下
班别 产品编号 实际产量 废品量
一班 xa00 1000 10
xa01 1000 10
.....
分组统计: 8000 90
二班 xa01 1100 20
xa00 1100 20
.....
分组统计: 9000 100
三班 xa02 1100 20
xa03 1100 20
.....
分组统计: 9000 100总合计: 100000 1000
TQRCustomBand *Sender, bool &PrintBand)
{
ShowTag = true;
}
//---------------------------------------------------------------------------void __fastcall TfrmRepWasterTeamStat::QRSubDetail1BeforePrint(
TQRCustomBand *Sender, bool &PrintBand)
{
if(ShowTag == true)
{
QRLabel25->Caption = frmDm->qryRep1->FieldByName("Team")->AsString;
}
else
{
QRLabel25->Caption ='';
}
ShowTag = false;
//Qrlabel1 放在QRSubDetail1 顯示班級
}