我要实现这样的报表。。。100分,另可赠送很好的控件!急!(100分)

  • 主题发起人 绝色神偷
  • 开始时间

绝色神偷

Unregistered / Unconfirmed
GUEST, unregistred user!
对于财务凭证打印,相信各位都很熟悉。
现在我想实现这样的打印功能,请各位大侠帮忙解决,感激不尽:
1。每页固定最多打印六条记录,不足时打印出空的行(例如:1号凭证有3条记录,
打印3条记录后还要打印出3条空的记录行);
2。打印出某一张凭证的总页数和分页号。(例如2号凭证有15条记录,第一页打印出1/3
的字样,第二页打印出2/3的字样,第三页打印出3/3的字样)
3。实现套打功能。如果我要一次性打印1-10号凭证(注意:每一个编号的凭证其页数
可能不同),这10张凭证也要满足1和2所描述的要求。
4。凭证打印所涉及的表有主表和从表共两个。
如还有不清楚的地方请到QQ找我:23970005
 
>>1。每页固定最多打印六条记录,不足时打印出空的行(例如:1号凭证有3条记录,
>> 打印3条记录后还要打印出3条空的记录行);
没问题,固定循环次数,if eof then
continue;
>>2。打印出某一张凭证的总页数和分页号。(例如2号凭证有15条记录,第一页打印出1/3
>> 的字样,第二页打印出2/3的字样,第三页打印出3/3的字样)
>>3。实现套打功能。如果我要一次性打印1-10号凭证(注意:每一个编号的凭证其页数
>> 可能不同),这10张凭证也要满足1和2所描述的要求。
>>4。凭证打印所涉及的表有主表和从表共两个。
三层循环,加计数。
 
能否说清楚一点。谢谢!!!欢迎继续探讨!
 
完全用程序控制,就可以了。
 
只回答一个:
1。每页固定最多打印六条记录,不足时打印出空的行(例如:1号凭证有3条记录,
打印3条记录后还要打印出3条空的记录行);
------------------
你在报表中设计成6条不就可以了吗?
报表的控件很多,大多不适合 中国人 用!
没办法
 
方法1:数据库打印时建一个临时表,记录数为6的倍数,不足的insert空纪录。
不是很好控制吗,套打去掉边框不久行了。
放法2:放一个(qreport)band属性为rbOverlay,6行
fastreport放一个Overlay
 
用fastreport完全可以实现.
 
TO 绝色神偷:
1、2、4用FR肯定可以实现
TO seaboy:
3怎么实现?
 
3點呢﹐最好是用delphi結合來實現﹐如果加一點SQL語言下去就會精簡很多﹐
如果你能把你的表結構及具體要求發給我﹐我愿幫你的忙
 
to simonlai:感谢你的热心。下面是主从表的建表语句:
1。主表:
Create Table Credence
(
CredenceID VarChar(15) Not Null,**(凭证编号)
CredenceType VarChar(10),**(凭证类别)
CredenceNo Int,
CredenceDate Date,**(凭证类别)
RelevantBill Int,**(附件张数)
BillMaker VarChar(10),**(制单人)
BillChecker VarChar(10),**(审核人)
CredenceSource VarChar(15),
Status Int,
Primary Key (CredenceID)
)
2。从表
Create Table Creditem
(
CredenceID VarChar(15) Not Null,
ItemNo Int Not Null,
SubjectID VarChar(25) Not Null,**(科目号)
AccountId VarChar(15),
Brief VarChar(30),**(摘要)
RawCurrency VarChar(10),**(原币制)
RawAmount Numeric(10,2),**(原币金额)
ExchangeRate Numeric(8,5),**(汇率)
RawCredenceID VarChar(15),
VoyageID VarChar(15),
PortName VarChar(30),
ShipID VarChar(15),
ShipName VarChar(30),
AddOilDate Date,
OilName VarChar(15),
OilQty Numeric(10,3),
AddPrice Numeric(10,3),
AddAmout Numeric(10,3),
CostOilQty Numeric(10,3),
CostPrice Numeric(10,3),
CostAmount Numeric(10,3),
DrAmount Numeric(10,2),**(借方金额)
CrAmount Numeric(10,2),**(贷方金额)
Jsfangshi VARCHAR(20),
JiesuanID varchar(12),
Jsdate date,
yesorno varchar(3),
JcPrice Numeric(10,2),
JCNumber Numeric(15,2),
Primary Key (CredenceID,ItemNo)
)
注意:有“**”的字段为要在凭证打印时用到的字段。
 
欢迎大家继续探讨。
 
建议尝试一下fast report
你就会发觉qReport是垃圾了
 
推荐用fastreport,用“两遍报表”选项就可实现总页数,并在不足时自动打印出空的行
 
我是自己做成的一个类,将凭证内容格式化进一个临时表中,在格式化的过程中加入
需要的信息,如页号,空行....
然后利用RB的分组功能进行打印。
希望对你有启发。
 
现在我用FAST REPORT(2。44版本,网上下载的)控件来做,可是在编辑时或运行
时老实出错。谁有没有问题的FAST REPORT控件,还请帮忙发一个给我。我将付出
我全部的分。
感激不尽。
 
我的E-MAIL:JINFENG105@163.COM
QQ:23970005
 
必须用程序控制,以前曾经实现过这样的程序,利用QUICKRPT和程序进行控制,
不过比较麻烦,自己试试
 
为什么!我的FR2.44没事? 发给你!
我的已把难看的菜单字体改为好看的了.
 
用FAST REPORT怎样实现上面所述的第一条呢?感谢指点!
1。每页固定最多打印六条记录,不足时打印出空的行(例如:1号凭证有3条记录,
打印3条记录后还要打印出3条空的记录行);
 
To :绝色神偷
我现在东莞,对于打印问题我们的可以共同探讨。
的email longcar@yeah.net
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部