设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4832|回复: 14

[Access本身] 【Access小品】护士美眉 -- 报表管理器示例

[复制链接]
发表于 2015-6-15 14:31:41 | 显示全部楼层 |阅读模式
本帖最后由 todaynew 于 2015-6-16 20:16 编辑

  报表软件有很多种并各有特点,如果需要也可自行编制报表软件。用Access编制报表软件并不容易,主要的原因在于控件不够丰富。确实想用Access编写,也不是不可以,只是要因陋就简就地取材,编写出一个土豪般的报表软件也完全可行。

  要想写出报表软件的关键是要弄清楚什么是报表管理系统?简单的讲,报表管理系统就是将数据写入载体的系统,这是一个很抽象的表述。这个抽象的表述,将报表系统看成由三个部分组成,其一是数据,其二是载体,其三是一个能将数据与载体有机结合的管理器。

  也许你抽象思维的能力不强,那就给你打个比方:有一天你生病了,于是你到医院看医生。医生给你开了处方,你到注射室去打针。漂亮的护士小姐拿到你给的处方,将药剂吸入针管,然后扎进你的臀部。注意!别把目光集中在漂亮的护士小姐身上,而需要关注的是:药剂、针管和你的臀部。药剂就是数据、你的臀部就是载体,而针管和护士小姐就是报表的管理器。

  护士小姐和针管这个管理器,在你进入注射室之前是不知道数据是什么和载体是什么的。报表管理器也是一样,它并不知道用户会将什么数据输出到什么载体上去。护士小姐能准确的将你需要的药剂通过针管输出到你的体内,并治愈你的病症。那么报表管理器所要实现的功能也就是,有能力按照用户的需要将数据输出到载体上去。

  这里出现了一个你可能没有意识到的概念,这个概念叫做:注入。在讲这个概念之前,先需要提示一句你可能耳熟能详的话:“低耦合、高内聚。”这是编程过程中,时刻需要牢记的一句话,但是实现它并不容易。包括报表管理系统在内的很多系统,都是需要功能上的耦合的,没有耦合也就无法运行。问题的关键是高度的耦合会失去灵活性和通用性,导致编程和维护的困难。所以,人们都力求降低耦合,而降低耦合的方法之一就是采用注入的方法,使得需要的时候进行耦合,不需要的时候不耦合。简单的理解,就是招之即来挥之即去。

  当你进入注射室之前,护士小姐的针管与药剂之间,针管与你的臀部之间是没有耦合的。只有当你将处方交给给护士小姐时,注入发生,于是针管与药剂,针管与你的臀部进行了耦合。在这个耦合的基础上,护士小姐完成了对你的注射。注射完毕后解耦,你走你的阳关道,护士小姐依然静静的等待下一个需要注射的人。

  你可能已经有点明白了。报表管理系统就是用几条SQL语句注入,然后通过一定的配置和约定,向各种载体(Word、Excel或其他能呈现数据的载体)注入报表数据的系统。下面的示例就是这样的一个系统,而且这是这个示例极力要表现的最重要的内容。当你打开这个系统,并阅读代码时,你可能会被迷惑。因为最大量的代码解决的并非注入的问题,因为实现注入的思路明确后,代码量是非常之少的。

  最大量的代码解决的是易用性的问题,这是一个关于用户使用的便捷性的问题。也就是要解决当你将处方单递给护士后,护士能在最短的时间,最方便的用针扎你的臀部。解决这个问题,需要非常复杂的代码。不过我要强调的是这不是关键,或者说这不是第一位要解决的问题。只是在你需要学习如何设计用户界面时,这部分的内容才有价值和意义。

示例:

视图:







本帖子中包含更多资源

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

x

评分

参与人数 1经验 +10 收起 理由
admin + 10 (其它)优秀教程、原创内容、以资鼓励、其.

查看全部评分

本帖被以下淘专辑推荐:

发表于 2015-6-15 14:34:20 | 显示全部楼层
视图?
回复

使用道具 举报

 楼主| 发表于 2015-6-15 14:36:33 | 显示全部楼层

谁让你这么快的。
发表于 2015-6-15 14:48:00 | 显示全部楼层
斑竹的好文当然要先睹为快了
发表于 2015-6-15 15:02:40 | 显示全部楼层
不错
回复

使用道具 举报

点击这里给我发消息

发表于 2015-6-15 15:08:45 | 显示全部楼层
好示例,赞一下
发表于 2015-6-15 16:46:10 | 显示全部楼层
好示例,赞一下
发表于 2015-6-16 22:43:54 | 显示全部楼层
不错。。。todaynew的例子错的非常棒,而且坚持不懈。。

点击这里给我发消息

发表于 2015-6-18 09:34:17 | 显示全部楼层
很好,很强大!

点击这里给我发消息

发表于 2015-7-1 19:39:25 | 显示全部楼层
谢谢分享,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 07:06 , Processed in 0.100661 second(s), 38 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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