崔晓斌 / 南通中集太平洋海洋工程有限公司
一个企业、单位对计量器具的管理水平高低很大程度上也反应了其管理体系、产品质量的好坏。通过开发Access 数据库系统去改变传统的Excel 表格计量器具管理手段,从而提升计量管理的水平。
公司目前有近万件计量器具。如此数量巨多的计量器具对计量管理是一个极大的挑战。公司原先采用的Excel 表格台账在管理如此多计量器具时,存在运行速度缓慢、误操作多、可操作性低、功能少、界面单一等缺点。此外,基于Excel 的计量台账无法实现多人操作,也给计量管理带来了阻碍。
针对Excel 表格台账存在的种种问题,对比数据库能够提供高效数据控制和数据检索等特点,笔者考虑将数据库应用于计量管理中。目前市场上有多个数据库软件,例如 Oracle Database,MySQL,MSSQLSERVER,Access 等。对比各数据库的优缺点,最终选择桌面型Access 数据库。希望通过Access 数据库来实现计量管理系统中的各项功能。
笔者结合企业实际计量工作中的需要,首先绘制出要实现的计量管理系统模型结构图,如图1 所示。
建立的系统模型分为管理员和用户两个主界面,这样可以限制各自的操作权限。
管理员界面下可对各台账、周期表、月度/年度计划、各类计量数据、费用以及证书等进行查看、编辑、以及打印报表等操作。
图1 计量管理系统模型
使用者界面下可对各台账、周期表、月度/年度计划、各类计量数据、费用以及证书等进行查看,也可对借用的计量器具进行借用登记。
通过以上设计,既方便了公司网络内使用成员对计量器具使用、管理以及数据等的查看,保障计量管理系统内信息的安全,也提高了计量管理工作的信息化。
3.2.1 安装MicrosoftAccess,建议安装低版本软件来开发,以确保其他版本可以兼容。
3.2.2 建立Access 表——录入计量器具信息
打开Access 数据库,新建空白数据库。因为Access 数据库的基础是表,首先需要将需存储和管理的信息存储到表中。在创建菜单下,选择新建Access 表。在表中根据实际需求添加相应字段,并给各字段设置相应的属性,设置主键。设为主键的字段里必须包含有唯一的信息。根据实际情况建立一份计量器具信息表,包括器具名称、计量编号、规格型号、出厂编号、制造厂商、分类以及检测日期、有效期等,并将计量编号字段设置为主键。其余的字段可设为文本属性,日期设为日期属性,链接设为超链接,需要存储图片,设置为OLE 等。Access表也可以通过Excel 表格导入形成,前提是确保两者字段名称、数量、顺序等一致。图2 为建立的Access 表。
3.2.3 利用查询——实现各类数据汇总、检索功能
Access 查询是处理和分析数据的工具。通过查询可以将一个或多个表联系起来,通过条件设置来实现各信息的筛选、分类、汇总等。基于前文建立的Access 表,生成一个Access 查询(图3)。在查询的设计视图下,通过各字段进行条件设置就可以实现各种查询、检索以及汇总等功能。例如笔者对计量编号字段进行条件设置:在计量编号字段条件内输入“AI-01-0001”时,此时保存查询再打开查询,就只会显示计量编号为“AI-01-0001”的计量器具信息;若在计量编号字段条件内输入“like A”时,此时保存查询再打开查询,就会显示计量编号包含“A”的计量器具信息。一般查询条件有like 、not like、is null、is not null 等。因为 Access 查询是用来控制、检索数据的手段,是一种后台程序,不会直接操作,所以查询是通过Access 窗体来执行任务。
3.2.4 设计窗体——设计实现操作界面
窗体是数据库的窗口,是人与数据库之间的桥梁。对于制作的表、查询,可以视其为后台,需要通过一个界面去操作,而非直接对表或查询进行操作。可以由Access 表、查询直接生成一个简单的窗体,也可以通过创建空白窗体,并通过添加控件、子窗体以及设置代码等形成一个复杂的窗体。
创建了一个空白窗体,通过将窗体属性的记录源设为前文的Access 查询,这样就将所创建的窗体和设计的查询关联起来。然后在创建的窗体中添加所需的控件。窗体中常用的控件包括文本框、标签、列表框、组合框、复选框、选项按钮、切换按钮、选项组、动作按钮、选项卡、子窗体、对象框等。将添加的控件与查询中的字段关联起来,并对各控件按钮进行代码设置,可以实现查找、刷新、清空、关闭、打印等功能。如图4 所示。
图2 Access 表
图3 Access 查询
图4 Access 窗体
3.2.5 生成报表
报表是Access 数据库的对象之一,通过Access报表可以对数据信息进行整理、打印成报表。它是以打印格式展示数据的一种有效方式。例如对计量管理体系中的月度送检计划生成了报表打印,方便了各相关人员打印各月度计划。
通过以上步骤,一个简单实用的计量台账数据库实现了,查询窗体以及打印报表功能就实现了。正是由这些简单的表、查询、窗体、报表以及宏代码才构成了一个个功能强大的管理系统。
新建了一个空白窗体。在窗体设计工具-设计下添加所需控件。做一个简单的登录界面。如图5所示。
图5 登录界面
新建一张Access 表,将涉及用户名和密码存储在其中,命名为“用户表”。
对图5 中登录按钮进行代码设置:
Private Sub 按钮名称 _Click()
If IsNull(Me.用户名 ) Or IsNull(Me.密码 ) Then
MsgBox "请输入用户名和密码!"
ElseIf IsNull(DLookup(" 密码 ", " 用户表 ", " 用户名 ='" & Me.用户名 & "'")) Then
MsgBox "用户名不存在!"
ElseIf DLookup(" 密码 ", " 用户表 ", " 用户名 ='"& Me.用户名 & "'") = Me.密码 Then
If Me.用户名 = "XXX" Then
DoCmd.Close
DoCmd.OpenForm "窗体名称"
Else
DoCmd.Close
DoCmd.OpenForm "窗体名称"
End If
Else
MsgBox "密码错误! "
End If
End Sub
对图5 中取消按钮进行设置代码:
Private Sub 按钮名称 _Click()
DoCmd.Close
End Sub
这样输入用户名和密码后,系统会自动在储存表中判断是否包含此用户名和密码并打开相应的界面。如用户名或密码错误,则无法打开系统。
经过开发与调试,实际制作出计量管理系统与原先建立的模型相符,具备各需求功能,实际运行效果好。如图6 所示。
图6 计量管理系统
通过学习与摸索,结合软件技术,改进了计量管理手段,提高了计量管理的水平。今后,还将继续尝试将VB、手机APP 等技术应用到计量管理中来,努力将计量管理水平推向更高的层次。