with Query1 do
begin
query1.Close;
query1.SQL.Clear;
Query1.SQL.Add(' Select hm,sum(je),count(*) from temp.db group by hm ');
query1.Open;
QuickReport1.DataSet:=query1;
QuickReport1.QRDBText1.DataSet:=query1;
QuickReport1.QRDBText1.DataField:='hm';
QuickReport1.QRDBText2.DataSet:=query1;
QuickReport1.QRDBText2.DataField:='sum(je)';
QuickReport1.QRDBText3.DataSet:=query1;
QuickReport1.QRDBText3.DataField:='count(*)';
QuickReport1.QRDBText4.DataSet:=query1;
QuickReport1.Preview;
end;
为什么不能打印,各位有什么好的方法!
begin
query1.Close;
query1.SQL.Clear;
Query1.SQL.Add(' Select hm,sum(je),count(*) from temp.db group by hm ');
query1.Open;
QuickReport1.DataSet:=query1;
QuickReport1.QRDBText1.DataSet:=query1;
QuickReport1.QRDBText1.DataField:='hm';
QuickReport1.QRDBText2.DataSet:=query1;
QuickReport1.QRDBText2.DataField:='sum(je)';
QuickReport1.QRDBText3.DataSet:=query1;
QuickReport1.QRDBText3.DataField:='count(*)';
QuickReport1.QRDBText4.DataSet:=query1;
QuickReport1.Preview;
end;
为什么不能打印,各位有什么好的方法!
解决方案 »
- 小数据库程序(为什么每次运行开始都弹出连接数据库的窗口)
- 在没有装delphi 的电脑上运行程序报错
- 请帮我把下列的代码改成VB的格式!谢谢!
- formpaint用Image的什么事件可以代替
- 请问:Tcontrol 与 Tcomponent 的区别
- 课程冲突的思路,怎么用delphi 实现?好心的人啊~~大虾啊~~能帮吗?
- 报表输出的数据同步问题!
- 主从表中的从表关联的DBGrid的数据显示问题,400分求解
- 武汉招专兼职delphi程序员
- 请问 多步 OLE DB 操作产生错误是指什么?
- 在DLL中为何不能使用Application.CreateForm()函数?
- 如何Delphi中调出一个指定目录下的指定文本文件,显示在最上层?
QuickReport1.QRDBText2.DataField:='sum'再试试,
我试过了,sum不可识别!
QuickReport1.QRDBText2.DataField:='mysum'再试试,
//begin
query1.Close;
query1.SQL.Clear;
Query1.SQL.Add(' Select hm,sum(je) as je,count(*) as RecCount from temp.db group by hm ');
query1.Open;
QuickReport1.DataSet:=query1;
QuickReport1.QRDBText1.DataSet:=query1;
QuickReport1.QRDBText1.DataField:='hm';
QuickReport1.QRDBText2.DataSet:=query1;
QuickReport1.QRDBText2.DataField:='je';
QuickReport1.QRDBText3.DataSet:=query1;
QuickReport1.QRDBText3.DataField:='RecCount';
QuickReport1.QRDBText4.DataSet:=query1; <---QRDBText4的DataField呢?
QuickReport1.Preview;
end;如果这样Sum还没有值的话,你把Query1放到一个DataModule中去!!
至于为什么,我也说不出个所以然来,反正就得这样,嘻嘻^o^
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select OrderNo,Sum(Qty),count(*) from items group by OrderNo');
Query1.Open;
QRExpr2.Expression:= '['+Query1.Fields[0].FieldName+']';
QRExpr3.Expression:= '['+Query1.Fields[1].FieldName+']';
QRExpr4.Expression:= '['+Query1.Fields[2].FieldName+']';
QuickRep1.Preview;
注意,应首先将QuickRep1的DataSet设置成Query1。
begin
Close;
SQL.Clear;
SQL.Add(' Select hm,sum(je),count(*) from temp.db group by hm ');
Open;
QuickReport1.DataSet:=query1;
QuickReport1.QRDBText1.DataSet:=query1;
QuickReport1.QRDBText1.DataField:='hm';
QuickReport1.QRDBText2.DataSet:=query1;
QuickReport1.QRDBText2.DataField:='sum(je)';//改
QRLabel.Caption := FieldByName('Sum(je)').AsString;//最后用个别名;
//QRDBText 不要这样用,你用QRLabel,如果多的话,就动态生成;
QuickReport1.QRDBText3.DataSet:=query1;
QuickReport1.QRDBText3.DataField:='count(*)';//再取一个名子;
QuickReport1.QRDBText4.DataSet:=query1;
QuickReport1.Preview;
end;
QuickReport1.QRDBTextX -> QRDBTextX就可以了;
SQL.Add(' Select hm,sum(je),count(*) from temp.db group by hm ');-〉
SQL.Add(' Select hm,sum(je) as SumValue,count(*) as CountValue from temp.db group by hm ');
还有一点,最好不要将统计信息和它字段写在一起;
用QRExpr肯定比这个更好,你可以试一试的;
应该可以成功的;
其实解决问题就是两种方法:
NO.1:
SQL.Add(' Select hm,sum(je) as SumValue,count(*) as CountValue from temp.db group by hm ');
NO.2:
QRExpr
运行期:
QRExprX.Expression:= '['+Query1.Fields[0].FieldName+']';//这个我不知道倒底对不对,不过,你打开窗体文件,什么都知道了;
设计期:
QRExprX.Expression:= Sum(Query1.FieldByName('je').AsFloat);
祝你好运;