当前位置:主页>销售管理软件> 列表

如何给ADOQuery末尾追加空记录

企业管理软件版1楼: 我做报表时考虑当记录数不满一页,结果不好看,所以想在数据集的末尾补空记录,
但又不能向后台数据库更新,请问该如何做

2楼: ADOQuery1.append; 如免费家庭记账软件

3楼: 那是你报表要解决的问题,别放到数据库里面,你新增新的空数据完全没必要,而且占用数据库空间,还有等你要增加新的有效数据时,会因为数据库中有空数据带来诸多麻烦。报表方面考虑如何增加一行或者多行把。

4楼: 这样没反映
If quOrderForm.RecordCount<10 Then Begin
For i:=1 To 10-quOrderForm.RecordCount Do Begin
quOrderForm.Append;
End;
End;
frOrderForm.Variables[''New Variable1'']:='''''''' +MaxMoney+'''''''';
frOrderForm.ShowReport;

5楼: TO:zqw0117
我是用FastReport做报表,用报表实现更难呀,我都搞了很久了就是做不出来;
只有倒回来想这最原始的办法

6楼: FastReport的MasterData 或其他band都有个StartNewPage的属性,设为True就是占一页面
了.stretched 属性为true为自动伸展;
QuickReport也有相同的属性.但没有stretched 属性

企业管理软件版7楼: http://www.delphibbs.com/delphibbs/dispq.asp?lid=3221047
这个能帮你解决你的问题,
在你的数据对象后再加一下Band,如果不够,就重复它,要将它定义为你的还的Band的child,这是用fastreport做的。

8楼: 接 willing66
用showBand(band3); 可以追加多个空白报表行 在尾部

9楼: 这样可以实现加空行的效果
var
PageLine: integer; //在現在頁列印到第幾行
PageMaxRow: integer=9; //設定每頁列數
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
var
DataSet: TfrxDataSet;
begin
PageLine:=1;
DataSet := DetailData1.DataSet;
while (not DataSet.Eof) or ((PageLine-1) mod PageMaxRow<>0) do
begin
PageLine:=PageLine+1;
if DataSet.Eof then
begin
Engine.ShowBand(DetailData1);
continue;
end
else
begin
Engine.ShowBand(DetailData1);
DataSet.Next;
end;
if (((PageLine-1) mod (PageMaxRow)=0) and (not DataSet.Eof)) then
EngIne.Newpage;
end;
end;
我的表中只有一条记录,设置的每页可以打印9行,可打出来的结果确是11行,并且数据行在第10行,这是为什么

10楼: 有意义吗?浪费墨水不说,还污染了环境,和现在提倡的节约能源格格格不入。

11楼: 不用多说,你看看那些财务帐单就知道有没必要了

12楼: 与数据库无关 如服装进销存

13楼: 用Willing66的方法实现了

企业管理软件版14楼: 多人接受答案了。

15楼: 这个功能在RM报表中早就有了,不用写一行代码,直接band设置“自动增加空行”就行了。