注册 登录
Office中国论坛/Access中国论坛 返回首页

roych的个人空间 http://www.office-cn.net/?179386 [收藏] [复制] [分享] [RSS]

日志

如何开发一个软件系统之一

热度 2已有 2386 次阅读2012-11-11 17:35 |个人分类:随便说说| 软件, 系统, 开发, 如何

       “看来你毕业已经三、四年了,这三、四年来,有些数据让你头疼,有些操作让你觉得效率低下,它们让你不得不加班。也许你想过杀了它们。但是你毫无办法,又或者觉得可能性不大。其实想要提高效率很容易,我认识一个朋友,他的Access很好,不过最近生活有点困难,只要你给他一点点银子,他一定能帮你灭了它们。尽管考虑一下吧。其实用好Access并不是一件很容易的事,不过为了生活,很多人都会去学。”
       这段被串改的这段《东邪西毒》台词,或许会让大家会心一笑,然而说的却也是事实。尽管论坛里有《Access一日速成法》,所谓“速成法”,关键在于对“成”的理解了。只是会使用的话,在对几个操作查询有着较深刻的理解的基础上,这并非不可能。不过,如果想要开发软件的话,我觉得一天时间应该是不太够了。

      如何开发一个软件,是一个比较宏大的命题。由于这个原因,对于开发者而言,阐述起来多少有些困难,也因此而让新手感到讳莫如深,更加增加了它的神秘感。

      开发软件是一件知易行难的事情。一般来说,学习Access一段时间之后(我自己的经历是三个月),便可以开始着手编写一些小程序来提高工作效率了。一般来说,这时候最好还是先使用外部数据(例如链接表或者导入表),毕竟如果涉及到自建表,设计字段对于仍未能吃透Access的朋友来说,还是有些吃力的。

      事实上,工作中应该常常会有一些这样的表。例如考勤工资,员工姓名、级别、考勤表等数据都可以通过各部门来提交。而你只需要把这些数据进行一个核对或核算即可。这样的小程序应该是很容易完成的。不过,一旦完成这样一个小程序便会培养起你的一种思考习惯。下面便以此为例,简要说说吧。

      开始这个程序之前,你可以先把数据统一放在某个文件夹里。开始链接表(当然,导入表也是可以的),那么基础表便算是处理完毕了。接下来,就要思考怎么去完成这个流程了。假定流程上是,先按级别来分类,然后检查是否满勤,再检查病假、事假扣款等,接着检查是否加班,最后检查中夜班津贴并核算。

       当你比较熟悉这个流程之后,接下来便是设计查询了。

       第一步,可以先把人员信息追加到工资表里;

       第二步,把级别工资更新到工资表里;

       第三步,更新满勤情况、病假事假、加班、中夜班津贴等情况,具体怎么算,当然得看公司政策了。

       第四步,导出数据。

       这时候,你是不是有些开始佩服自己了:“哇,这么一个小程序就可以把我的工作效率提高那么多了,Access太神奇了……”

       真的大功告成了吗?其实未必。把这些查询做完之后,我们仍要进行进一步的检查。第一次运行显然是没问题的。那么第二次呢?显然,第一步的数据会再一次追加,数据出现重复。如何避免这种情况?

       为了避免重复追加,你可能会考虑设置工号为主键。不过,设置主键的结果将是,上一次的数据仍在这里,新数据无法追加上来,显然不可行;设置不重复值追加怎么样?我觉得也不可取,因为这样的话,数据会不断增加。最好的办法便是清空数据再追加。那么什么时候清空呢?这就看你的习惯了。你可以在导出后清空数据(即第五步清空数据),也可以在追加之前先清空(第〇步)。

       这样一来,一个小程序才算是真正完成。接下来便是建立一个宏组,把这些步骤逐一放进来(第1-5步所创建的查询或者导出宏),为了更友好的提示,可以增加一个弹出对话框Msgbox。

      以后,每次需要计算薪资时便可以之间双击宏来运行了。

发表评论 评论 (4 个评论)

回复 ycxchen 2012-11-12 20:32
值得一学。我觉得对于总公司汇总分公司的数据的操作,通过VBA或其它办法,设置不重复值追加也是十分有必要的。
回复 roych 2012-11-15 10:42
ycxchen: 值得一学。我觉得对于总公司汇总分公司的数据的操作,通过VBA或其它办法,设置不重复值追加也是十分有必要的。
这里只是举例而已,每个人都有自己的编程习惯,不要求千篇一律……这部分是写软件的起步,可以让开发者逐步学会理顺流程,对进阶起着非常重要的作用。——这个话题比较大,所以还得继续写下去。
回复 ycxchen 2012-11-15 16:28
期待版主大作!
回复 WFH6898 2015-11-29 09:28
教材般的文章,培养软件思维,值得学习推广

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

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

GMT+8, 2024-4-16 16:49 , Processed in 0.076128 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部