0 引言
Access数据库是由微软发布的关联式数据库管理系统[1],可作为其他开发工具(如.NET、C语言、VB等)的数据库,用来储存数据。Access拥有强大的数据处理、统计分析能力,Access的查询功能可以方便的实现各类数据的汇总、求平均等操作,在进行上万乃至几十万条数据的处理分析时能显著提高工作效率和准确性。此外,Access还可以用于各类软件的开发,比如生产管理、销售管理、库存管理等各类企业管理软件,在企业内部网络中可很方便的实现数据共享。
Access提供了7种用于创建数据库系统的对象:表,查询,窗体,报表,页,宏,模块[2]。这7种对象全面满足了数据库系统开发过程中的各种需求。利用Access 2003创建数据库管理系统,可与Access各高版本之间相互兼容。Access属于微软自带的办公套件,对操作系统无特殊要求;而且其最大的优点在于易上手,非专业人员也能在较短时间内熟练操作[3],对初学者也大大降低了开发难度,这些都低成本地满足了从事企业管理人员的需要,对企业的高效率低成本运行起到了一定的帮助作用。
1 系统结构
本系统建立一个数据库,涉及到表、查询、窗体、报表、宏、模块这6个对象。所有数据储存于表中,窗体用来创建用户界面。整个系统的结构如图1所示。
[主界面][实时库存][质量检验][退出系统][入库管理][出库管理][入库管理][查询][数据库][返回][铸件][刀具][五金][型材][返回][铸件][刀具][五金][型材][返回][库存查询][入库查询][出库查询][退货查询][返回] [基本尺寸][公差][参照标准][检验方法][检验员][零件图][…][添加][打印检验报告][实测值][材质报告] [图纸信息][报告生成] [产品实时库存及质量检验管理系统]
图1 系统结构图
2 系统功能
我们用Access 2003开发的《产品实时库存及质量检验管理系统》包括如下功能。
⑴ 添加,修改,浏览数据:如录入产品出入库信息,录入图纸信息,添加零件图和材质报告(按路径存入对应文件夹中),浏览入库、出库、退货信息,浏览产品数据库信息等。
⑵ 查询,搜索功能:如查询铸件的重量、库存数量、库存金额,按种类、材料、尺寸等条件模糊搜索相应型材的入库重量、入库金额等。
⑶ 打印功能:打印产品的检验报告,其内容包括零件图、零件基本信息、检验数据、材质报告等。
⑷ 局域网数据共享:采用拆分mdb文件,将mdb后台数据库放到服务器上共享,前台数据库进行表链接并分发前台数据库的方式。
3 具体设计
本系统包括“实时库存”和“质量检验”两大块功能,如前所述,本系统用到表、查询、窗体、报表、宏、模块这6个对象。
3.1 创建表
表是用来存储有关特定主题的数据的数据库对象,在数据库全部7个对象中最为基本也最为重要,所有的数据均要存储于表中,它是数据库系统建立的前提[4]。 在Access 2003中可使用表向导来创建表,不同的表用于储存不同类别的数据,根据具体设计需求设置各表的属性,依次向表中添加字段,设置主键和字段数据类型。
根据本系统的实际情况分析,使用表向导来创建表,基本数据表包括:毛坯出入库、退货单,成品出入库、退货单,刀具出入库、退货单,五金出入库、退货单,型材出入库、退货单,检验项目表,零件信息表等等。表1为毛坯入库单表:
表1 毛坯入库单表
[编号\&1\&2\&3\&4\&5\&6\&7\&8\&字段\&入库ID\&零件号\&物品名称\&重量\&客户\&入库数量\&入库日期\&备注\&类型\&自动编号\&文本\&文本\&文本\&文本\&数字\&日期/时间\&文本\&字段
大小\&长整型\&50\&30\&20\&30\&长整型\&\&30\&]
3.2 查询
数据往往要按各种目的进行归纳处理,而仅仅通过查看表中的数据对于实际问题的解决是远远不够的。Access中的查询对象可以为数据处理提供完善的解决方案,不用再编辑表之间的关系就可以建立各表和各查询之间的关系[5]。我们可使用查询筛选数据、执行数据计算和汇总数据,还可以使用查询自动执行许多数据管理任务,并在提交数据更改之前查看这些更改。
本系统主要涉及各类产品的出入库、退货以及库存情况查询。库存查询需分两步完成。第一步:对出入库和退货情况进行汇总查询,按产品信息对入库单表进行分组再汇总处理(如图2所示)。第二步:汇总处理完成后,建立出入库以及退货汇总查询三者之间的关系,创建库存查询,其中,库存数量为入库数量减去出库数量与退货数量的总和(其关系如图3所示)。
图2 铸件入库单汇总查询
3.3 用户界面
用户界面以窗体形式显示,窗体也是一个数据库对象,人们可以通过窗体查看和访问数据库,有效的窗体可以提高使用数据库的效率,外观赏心悦目的窗体可以增加使用数据库的乐趣。在Access中我们可以自主地向窗体添加各种命令按钮和其他功能来执行所需操作,可设计性强。
本系统所需窗体较多,有各类产品的出入库以及退货信息录入窗体,库存查询窗体,图纸信息录入窗体(如图4所示),检验报告生成窗体。
3.4 宏
宏是一种工具,帮助操作者自动执行任务,它将一些常规操作的代码集成起来,通过可视化选择,方便设计者在执行这些操作时进行调用,而无需在VBA模块中再写代码,相当于为这些代码设置了一个“快捷键”。例如,向窗体中添加一个命令按钮,可将按钮的单击事件与某个宏相关联,在每次单击时会自动执行该宏所对应的事件。
本系统主要通过将宏赋予不同的命令按钮来实现打开窗体和打印报表等操作。
3.5 切换面板
切换面板属于一种特殊的窗体对象,通过数据库实用工具中的切换面板管理器来专门生成。其上可添加标题和图片用以装饰。切换面板上带有按钮和链接,可通过它浏览数据库。
本系统利用切换面板来作系统启动界面,用户可在切换面板上实现对数据库所有窗体的调用。以下
用例子加以说明。
⑴ 产品实时库存面板(如图5所示)为进入系统首页。
图5 产品实时库存面板
⑵ 单击产品实时库存面板上的“入库管理”,出现提示“请输入口令”,输入口令,出现“入库管理”面板(如图6所示)。
图6 入库管理面板
⑶ 单击“入库管理”面板上前五个按钮,进入相应产品的入库信息录入界面;单击“修改口令”,可设置进入此面板的新口令;单击“返回上级菜单”,可返回上一级面板。
3.6 报表
报表是基于当前数据库中所有数据,或者部分有选择性的数据而产生的数据汇总或数据分析的结果表格。企业日常管理中会定期编制各类报表,报表综合反映了企业的经营状况。Access报表可利用设计视图创建。报表分为五部分:报表页眉、页面页眉、主体、页面页脚、报表页脚。与窗体设计类似,可在报表设计模式中添加各类组件来满足具体需求。
本系统的“质量检验”部分需生成检验报告。在“报告生成”界面中有“预览”和“打印”按钮,录入全部信息后,点击“打印”按钮,就以图片或PDF文件格式输出检验报告报表。检验报告报表由零件图、数据、材质报告三部分组成。图7为报表“数据”部分的设计视图,页面页眉显示零件的基本信息以及各检验项目;页面页眉显示检验员、检验日期等信息;主体部分显示具体的检验数据,“Item1页眉/页脚”属于组页眉/组页脚,用于对主体中的控件进行分组显示。
3.7 模块
想要进一步实现Access的复杂管理功能,没有VBA模块是不行的。简单的说,模块就是按设计者的要求执行任务的程序的组合,它是整个数据库的公共代码区。我们可以在模块中定义全局变量、全局常量、数据类型以及公共函数和过程等等。作为Access对象之一,它能起到宏所起不到的作用。
本系统需要用到模块的地方主要是“质量检验”这部分,例如:录入图纸信息时需添加零件图,为了获得零件图的原始文件名以确定图片格式类型,需要定义GetF函数[6],具体VBA代码如下(其中,参数GetType为查找类型,当其为True表示文件,Fales表示文件夹):
Function GetF(GetType As Boolean) As String Dim fd As FileDialog
Dim p As String
p=""
If GetType=True Then
Set fd=Application.FileDialog(msoFileDialogFilePicker)
Else
Set fd=Application.FileDialog(msoFileDialogFolderPicker)
End If
With fd
.AllowMultiSelect=True
.Show
End With
If fd.SelectedItems.Count>0 Then
p=fd.SelectedItems(1)
End If
Set fd=Nothing
GetF=p
End Function
3.8 功能扩展
3.8.1 拆分数据库
Access软件开发完成后要供多人使用,共享信息,本系统通过mdb链接mdb的方式实现数据局域网共享。首先要对mdb文件进行拆分,打开“产品实时库存及质量检验管理系统.mdb”文件,在“工具-数据库实用工具-拆分数据库”中根据向导提示将原数据库拆分成一个前台程序库和一个后台数据库。拆分后,后台数据库只保留表对象,而前台程序库保留其他6个对象。拆分数据库有如下优点:
⑴ 便于数据备份,拆分后的数据库只需备份后台数据库;
⑵ 便于升级与维护,当对主程序进行升级改动时,只需替换前台程序库即可。
3.8.2 局域网运行
利用企业已建立好的局域网,将后台数据库拷贝至服务器电脑的共享文件夹中,并允许局域网中其他机器更新后台数据库的数据,然后分发前台程序库至各客户端电脑,打开前台mdb文件创建链接表来链接后台表,这样我们就可以实现前台与后台数据库的链接,员工在客户端电脑上就能对服务器上的后台数据库进行查看或更新。
在企业局域网中配置Access数据库可以让员工在需要查询时只要登录其电脑上数据库系统就可得到答案,从而使工作流程简化,让员工有更多的时间做好自己分内的事情。同时,数据库系统也能促进各个部门之间的沟通,让企业上层更迅速准确地掌握信息,方便其管理与决策。
4 结束语
本数据库系统自在上海浦东新星机械厂投入使用数月以来,目前已达到理想的运行状态。经实践检验,本系统的引入取代了该企业旧的台账管理模式,使员工对仓储情况一目了然,让财务部门、销售部门和仓库的信息传递更为便捷,亦提高了检测人员的工作效率。
Access作为一种数据库设计开发方案,对于爱好管理系统开发,而囿于大量复杂难懂的编程语言的初学者来说非 常易于上手。如能有针对性地使用Access数据库,可为中小企业的管理锦上添花。本文的Access数据库开发实例可作为类似工作的参考。
参考文献:
[1] 薛冰冰,俞卫华,王彦芳.ACCESS技术在水电管理系统中应用[J].计
算机时代,2011:53-55
[2] 周健煖.基于ACCESS开发的医疗设备管理系统[J].医院数字化,
2011.26(11):38-41
[3] 杨得亮,崔松涛.基于VB与ACCESS数据库的电缆快速设计系统[J].
计算机工程与设计,2011.32(12):4282-4285
[4] 朱翠娥,曹彩凤,刘兴林.Access数据库应用教程[M].机械工业出版
社,2011.
[5] 张强.巧学巧用Access 2003数据库应用开发实例[M].电子工业出版
社,2007.