以文本方式查看主题 - 搭建论坛 (http://bbs.diylsoft.com:8118/starforum/index.asp) -- 数据库交流 (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=6) ---- [原创]如何实现分页打印 (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=6&id=3230) |
-- 作者:fanzhe -- 发布时间:2005-3-26 22:02:27 -- [原创]如何实现分页打印 有一个问题请教各位高手(个人数据库) 我想打印一份人员名册,每页只打印十个人,其余的分为第二页第三页......请问这如何才能实现呢,先谢了!! |
-- 作者:水手 -- 发布时间:2005-3-26 22:08:57 -- 可以参考“搭建之星”公司主页专业版示例“打印固定行数报表”。 |
-- 作者:fanzhe -- 发布时间:2005-3-26 23:07:34 -- 可是我这是个人版,不知道行不行 |
-- 作者:fanzhe -- 发布时间:2005-3-26 23:11:58 -- 没找到这个例子呀,麻烦水手把具体的网址贴上来好吗,谢谢. |
-- 作者:引力波 -- 发布时间:2005-3-26 23:24:59 -- fanzhe:http://218.28.32.70/diylsoft/Study%20Example/Professional/PrintMachineReport.zip |
-- 作者:fanzhe -- 发布时间:2005-3-27 8:48:55 -- 看不到,我的版本低,那个例子是专业版式的我的是个人版的 |
-- 作者:admin -- 发布时间:2005-3-27 11:18:19 -- 那么你看看该实例的使用说明,了解一下思路。 打印固定行报表的帮助说明 思路: 1、建立一个临时表 2、把原表数据复制到临时表后,对记录数取模,然后补上相应的空行 3、取相应行记录后,打上选择标记,然后进行过滤,打印 开发过程: 1、在原表一定要有“编号”和“打印选择”两个字段,其中编号字段为“关键字”。在本例中“打印选择”字段由“标记”字段替代。原表名称为“求职信息” 2、根据原表,复制一个表结构相同,不含数据的临时表。在本例中,临时表名称为“临时求职信息”。 3、确定打印报表的固定行数。在本例中,固定行数为“10”,即一页报表显示10行。由于“求职信息”表的记录是不断变化的,因此每一次打印的页数都有可能是不定的。在本例中,“求职信息”的总记录数为“97”,这样在打印打报表时,至少要打印十页。为了使最后一页,不至于打印“7”条记录,因此要向表中补上3个空行。使之变成100条记录。这也就是要求表结构中一定要含有“编号”字段的原因。 4、在完成了第三步后,“临时求职信息”中,应该有100条记录,其中97条记录,来源于原表,3条空记录是手工追加的。这100条记录与10相除,就是要打印的表格数。 5、确定打印范围。当打印第一个表格的时候,把前10条记录打上“打印选择”标记,然后利用“标记”字段进行过滤。然后,第二次打印时,再取11条到20条记录打印,依此类推。 注意事项: 1、在对打印范围进行选择时,记录循环(选择)的循环方向属性一定是“指定范围”,而不能用默认的“从上到下”。 2、在得到“临时求职信息”的记录总数之前,一定要关闭临时表,再打开。否则,由于,在对临时表动态操作时,可能数据并没有真正写到临时表中,而造成得到记录总数不对。 3、必须判断是否追加空记录。如果原表记录正好是100条,在按实例所设情况下,将出现追加10条空记录现象。因此追加的空记录条数要与10进行比较,只有小于,才追加。 4、注意ADO命令的用法。 |
-- 作者:fanzhe -- 发布时间:2005-3-27 17:04:25 -- 谢谢,好办法,我先研究研究,有问题再讨论. |