- procedureTformmain.chinareport;//中国式报表
- var
- sqlstr:string;
- i,j:integer;
- begin
- sqlstr:='select*into#mytempfrompassword1';
- cn.Execute(sqlstr);//将需打印的内容装入临时表
- sqlstr:='select*from#mytemp';
- pubcs.Recordset:=cn.Execute(sqlstr);
- if(pubcs.RecordCountmod27)<>0then
- //27是一页可以显示的记录数据,请先用普通报表打印后查看
- begin
- j:=27-(pubcs.RecordCountmod27);//j为还需要补齐的记录数
- fori:=1tojdo//插入不够一页的行记录
- begin
- sqlstr:='insert#mytemp(username,password,usertype,inputname)values('''','''',null,'''')';
- cn.Execute(sqlstr);
- end;
- end;
- try
- sqlstr:='select*from#mytemporderbyID';//按ID号排序,将新增的空记录放在最后
- pubcs.Close;
- pubcs.SQL.Text:=sqlstr;
- pubcs.Open;
- frxdb1.DataSet:=pubcs;//将补齐记录的数据装入报表数据源
- report1.ShowReport;
- finally
- cn.Execute('droptable#mytemp');//打印成功与否都要将临时表删除
- frxdb1.DataSet:=nil;
- end;
- end;
用fastreport做中国式报表
最新推荐文章于 2021-12-18 21:50:22 发布