设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6207|回复: 13
打印 上一主题 下一主题

[报表] 化整为零——也谈报表打印

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-12 11:58:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 roych 于 2011-8-12 11:59 编辑

       本来报表打印没什么好说的,关键在于排版,特别是印染行业。设计得好,那么这张报表就是完美的配方单;设计不好,那么这张报表就是天书。       这份堪称完美的报表(倒是我做的主界面很简陋),是在一家染化料公司上班的朋友设计的。他却告诉我遇到了些问题。主要在于染不同的材质,所需的染料助剂不同,因此有些需要一张配方单,另一些则需要两张。
       在报表中,往往都是按记录条数来打印的,所以他这个要求看起来不太合理。通常我们可以这样考虑:
       1、先全部打印一次,再把需要两张的打印一次。缺点:需要重新把两张的合在一起,增加工作量。
       2、两张和一张的分开打印。缺点:需要分批次,如果有急单,可能要分几次。
       那么,有没有完美些的办法呢?答案当然是:有。那就是化整为零。
       化整为零的思路是,每次只打印一条记录,根据记录类型来确定打印几次,然后依次把记录全部打印完毕。
       为了达到每次打印一条记录(即一张订单),我们需要进行报表打印筛选,并且每次打印完毕后就要筛选下一条记录。因此,数据源几乎是随时都在变化的,为此,我们开始考虑用ADO。打开记录集后,利用MoveNext的方法,可以随时获取不同的记录。
       至此,思路已成型,接下来就是代码的问题(内有注释)了:
      
       实例不一定适合你,但我依然希望报表的设计,还有思路,可以给你一定的参考价值。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
14#
发表于 2021-9-13 21:33:29 | 只看该作者
顶一下,1111
13#
发表于 2021-9-13 21:33:16 | 只看该作者
顶一下
回复

使用道具 举报

12#
发表于 2021-4-9 18:26:51 | 只看该作者
111111
回复

使用道具 举报

11#
发表于 2021-3-1 20:47:16 | 只看该作者
1111111
回复

使用道具 举报

10#
发表于 2021-3-1 20:47:01 | 只看该作者
11111111
回复

使用道具 举报

9#
发表于 2012-2-21 22:51:36 | 只看该作者
谢谢分享,高手作品
8#
发表于 2011-8-29 09:13:24 | 只看该作者
学习一下
7#
发表于 2011-8-25 21:54:11 | 只看该作者
谢谢分享

点击这里给我发消息

6#
发表于 2011-8-13 11:07:15 | 只看该作者
谢谢分享,中国人做报表是世界高手。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-23 16:24 , Processed in 0.101177 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表