我想打印一个公司的工资报表,该公司有若干个部门,每个部门有若干个成员.我在QuickReport中用到一个QRGroup(以部门做为分组条件),一个rbDetail,一个rbGroupFooter就可以搞定,打印的时候会每个部门为分组,打印出每个部门成员的工资的表格.现在的问题是想在分组后,在rbDetail)中多打印几个空记录怎么弄???
如果单个部门单个部门打印的话,可以在QuickReport中在NeedData事件中写代码控制,打印出空行.
现在的要求是:
表格固定为15行,如果记录数小于15,则后面补空行.如果大于15,比如20条记录,则先打印出15行,接着一个表格,再打印出10个空行.)
如何实现啊....各位大哥救救小弟啊.....
急着用啊.不然要被扣工资了....
如果单个部门单个部门打印的话,可以在QuickReport中在NeedData事件中写代码控制,打印出空行.
现在的要求是:
表格固定为15行,如果记录数小于15,则后面补空行.如果大于15,比如20条记录,则先打印出15行,接着一个表格,再打印出10个空行.)
如何实现啊....各位大哥救救小弟啊.....
急着用啊.不然要被扣工资了....
解决方案 »
- form显示后,进度条直接运行,如何实现?
- 同一个数据库内用一个表更新另一个表 急 在线等....
- 有关时间日期查询。在线等。。。。急。。。。
- 有关多层数据库应用的一个问题
- wsprintf的用法
- 爲什麽nvarchar類型的字段在DELPHI中通過BDE聯接後,在Table中看不到?
- 在线急等,吐血求救,各位高手,帮帮我吧!!
- 关于ActiveX控件大小的问题!!
- Access violation at address 0043EA9B in module 'project1.exe'.read of address
- 非常菜的问题--自己敲入的和Delphi生成的区别是什么
- COMBOBOX下拉列表显示的问题。
- 进度显示
//qr不要設置dataset(即為空),BeforePrin裡面dataset.first;//設置為第一記錄
//在onneeddata裡面,
//因為以前搞過,都過了比較久了,你試試看看行不行
if not ADOQuery1.Eof then
begin
QRLabel2.Caption:=ADOQuery1.Fields[1].AsString;
QRLabel3.Caption:=ADOQuery1.FieldByName('SL').AsString;//+ADOQuery1.FieldByName('DW').AsString;
ADOQuery1.Next; if i<=20 then
MoreData:=true
else
begin
QuickRep1.NewColumn;
i:=0;
MoreData:=true;
end;
end
else
begin
QRLabel2.Caption:='';
QRLabel3.CaptioN:=''; if i=20 then
MoreData:=false;
end;
http://www.fjforest.com/mp3/b.jpg
这个是我要的结果,请大哥们看看就明白我的要求了.
拜托大家帮帮忙了.
我有一个方法,也许不是最佳方法,但可以值得你试试:
你首先将数据库中的数据导入到一张临时表中,
然后对临时表中的数据进行检查,检查是否某个部门的记录小于15条,
如果一个部门的记录少于15条,那你就在临时表中,对这个部门添加几条空记录,
补足15条,然后你的quickreport报表从你的临时表中取数据打印,
这样就会满足你的要求了。
如果还有什么具体的要求,
你可以自己再调整一下,
这个思路应该是正确的。
难到QuickReport实现这样的功能很难吗??????