1中小企业信息系统的解决方案
1.1Access的优势(1)存储方式单一。Access管理的对象包括表、窗体、查询、页、报表、模块和宏,这些对象都存储在同一个数据库文件中,便于用户统一操作和管理。(2)面向对象。面向对象的程序设计主要建立在类和对象的基础上。类的一组属性和方法定义了类的界面,它封装了类的全部信息。在Access中,通过可视化的操作能快速创建类的具体对象,然后设置对象的属性和方法,以定义该对象的外观和行为,而不必关心其内部是如何实现的。(3)完善的向导和设计器。Access提供了将近100种向导以及丰富的设计器或生成器[2],可引导用户建立数据库的各种对象。(4)集成开发环境与Internet。Access提供了数据库应用程序的设计、开发环境,而且用户可通过数据访问页对象将应用程序迅速发布到Internet上。(5)与其它软件之间的资源共享。利用Access强大的DDE(动态数据交换)和OLE(对象的链接和嵌入)特性,将其它对象嵌入窗体和报表中,建立动态的数据库报表和窗体,实现与其它应用程序的数据共享[3]。1.2VBA的特点VBA是新一代标准宏语言,是基于VisualBasic发展而来的,是开发MSOffice应用程序的嵌入式程序设计语言。相对于传统的宏语言,VBA具有以下特点。(1)提供面向对象的程序设计方法。VBA通过模块对象(类模块和标准模块)的设计实现程序的功能。(2)内置脚本语言。VBA程序是内嵌在MSOffice文件中的,必须寄生于已有的应用程序,且被Office程序解释执行,VBA程序不能编译成后缀名为“.EXE”的可执行程序,不能脱离MSOffice环境运行[4]。(3)通用性。VBA作为一种通用的宏语言可被所有的Microsoft可编程应用软件所共享[5]。它具有跨越多种应用软件并且具有控制应用软件对象的能力,使用户运用一种语言即可开发各种应用软件,同时也增强了语言的可移植性。
2ADP在中小企业信息系统开发中的应用
在Access2003中,通过ADP方式创建Access数据项目文件,然后在ADP数据库窗口中设计数据表、查询、窗体等各种数据库对象以创建用户界面及组件,最后在Access2003内置的VBE(VisualBasicEditer)开发环境中编写VBA程序以实现各功能模块的功能及数据库系统的集成。现以医院门诊管理信息系统作为中小型数据库应用的实例,按照Access数据库系统开发的常用步骤对医院门诊管理系统进行设计与实现。2.1信息系统的设计2.1.1需求分析医院门诊部门是直接为患者提供医疗服务的首要窗口,也是医院组织体系的重要组成部分。医院门诊管理系统的目标是使医院门诊业务数字化,即通过管理信息平台完成门诊具体事务及行政管理,提高医院门诊效率和服务质量,减轻业务人员的劳动强度。通过对中小型医院的深入调研与需求分析,设计了系统的功能模块结构(见图1)及系统业务流程(见图2)。2.1.2数据库设计与建模根据“医院门诊管理系统”的需求分析和关系型数据库理论,设计了结构合理且不会引起操作异常的满足第三范式要求的数据表。本系统用到7张数据表,它们的结构及相互之间的关系模型见图3。2.2信息系统的实现2.2.1窗体界面设计在一个软件系统中,使用最多的窗体是录入窗体和查询窗体,而这两种窗体除了绑定的字段不一样外,其它功能都大同小异[6]。但由于这两种窗体在整个系统中占了很大比重,所以重复设计这些窗体将花费大量的时间和精力,为了节约窗体布局设计时间并减少代码编写的工作量,该系统预先设计了一个标准的窗体作为模板,这个模板窗体应具备常用录入窗体或查询窗体的基本界面和功能。笔者的设计思路是:把各窗体的共性抽取出来变成通用的窗体模块,而将各窗体的不同特征(变量或方法)均集中在窗体打开事件中进行存储和设置,既使程序设计模块化又增强了程序的可扩展性[7]。一旦需要创建新的窗体时,可复制这个模板窗体,然后在此基础上增加定制的功能就行了。使用模板窗体的另一个好处是几乎所有窗体具有统一的界面风格。根据以上窗体设计思路,各基础数据窗体的创建步骤可大致概括为:首先设计标准模板窗体,再通过复制模板窗体得到一个新窗体,再修改此窗体的记录源,然后删除模板窗体的原有字段,将指定字段添加到新窗体中,最后在此窗体的窗体打开事件中修改变量值就可以了。2.2.2功能模块实现该系统的数据库编程采用了基于组件对象模型(COM)的ADO(ActiveX数据对象)数据访问技术。为节省篇幅,以“基本资料管理模块”和“门诊管理模块”为例,采用程序编码和程序逻辑控制的方式讲述各功能模块的实现原理。(1)基本资料管理模块本模块包含“医生档案管理”、“病人档案管理”、“药品档案管理”三个子模块,其业务功能非常相似,为节省篇幅,现只讲述“医生档案管理”模块的实现过程。“医生档案管理”模块的作用是完成对医生档案的新建、查询、修改及删除操作。该模块的窗体界面设计和运行的效果见图4。“新建”、“修改”、“删除”、“查询”功能的VBA程序代码分别见程序1、程序2、程序3、程序4,“保存”功能的程序逻辑控制见图5。程序1:“新建档案”按钮的单击事件过程(2)门诊管理模块①门诊挂号管理子模块该模块的作用是完成病人就诊前的挂号管理,如果系统中存在病人的档案,则直接生成挂号单,否则应建立病人档案,再挂号。该模块的窗体界面设计和运行的效果见图6。挂号ID和挂号日期由系统自动生成,单击“新增”按钮打开“病人档案管理”窗体,将某病人信息输出到“门诊挂号管理”窗体对应的控件中。单击“保存”按钮将病人的挂号信息写入数据库。②就诊开药管理子模块该模块的作用是完成医生对病人的病情和诊断结果进行记录,并根据病情开药。该模块的窗体界面设计和运行的效果见图7。在“就诊开药”窗体的中输入挂号ID后按回车键,可将病人的就诊信息和开药明细输出到窗体对应的控件中,其实现过程见程序6。医生记录病人的诊断信息并依据病情开药,其实现过程的程序逻辑控制见图8。程序6:“挂号ID”文本框的KeyDown事件过程③收费发药管理子模块该模块的作用是计算和收取病人就诊的所有医药费,并发放药品。该模块的窗体界面设计和运行的效果见图9。划价、收费和发药业务流程实现的程序逻辑控制见图10。2.2.3系统集成为了集中管理各个分散的功能模块,使用户操作具有连贯性,需进行系统集成。该系统使用“菜单集成”和“窗体集成”的方法将已建立的所有对象集成在一起,形成一个系统控制平台主窗口。(1)菜单集成使用宏建立自定义菜单栏,其步骤是:创建宏组(由若干个宏组成)以设计系统主菜单,创建宏以设计子菜单,最后执行【工具】│【宏】│【用宏创建菜单】菜单命令[8]。在这里只列举系统主菜单及其“基本资料”子菜单的设计过程,菜单宏的详细设计及参数设置见表1。(2)窗体集成在“主界面”窗体中创建多个按钮控件,并使用选项组控件按功能将他们分组,然后把每个按钮的“单击”事件属性设置成相应的宏即可。
3结论
通过真实的中小企业信息系统项目的设计与实现,可更直观地理解了ADP方案的基本思路和实施方法,即首先对软件项目进行需求分析,在此基础上设计系统的功能模块及业务流程,然后对数据库进行设计与建模,再设计窗体界面,然后编写各模块及组件的VBA程序,最后集成数据库系统并发布。在项目开发过程中,发现ADP提供了一组功能强大的工具以及一系列数据库应用的解决办法,完全可用于中小企业管理信息系统的场合,为企业创建安全、高效的数据库解决方案,这种方案使用户能够比以往更轻松地组织、访问和共享信息。
作者:刘坤彪 单位:武汉城市职业学院 财经学院