凌 勇
(中国电子科技集团公司第58研究所,江苏 无锡 214035)
集成电路质量信息库系统(以下简称ICQID系统)采用成熟稳定的VB6.0做为开发工具,VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易地使用DAO/RDO/ADO连接数据库;ICQID系统采用Access 2003作为数据库,Access具有强大的数据处理、统计分析能力。利用Access的查询功能,可以方便地进行各类数据汇总、平均等统计。整个ICQID系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成集成电路产品质量信息添加、修改、删除、查询等操作,可以代替Excel电子表格用于企事业单位集成电路产品质量信息管理。
ICQID系统主界面包括数据库设置、数据库查询、信息提醒、报表打印、数据库维护共五个功能模块。各功能模块主要功能如下:
(1)数据库设置模块
用于编辑Access数据库数据,可以直接添加、修改、删除Access数据库相关质量信息数据。
(2)数据库查询模块
用于查询数据库数据,可以通过“电路型号”、“封装形式”、“反馈受理时间”、“反馈单号”以及“当前处理状态”共5种查询方式查询相关质量信息数据。
(3)信息提醒模块
用于“在办事项”提醒以及“超期事项”提醒;在办事项是指“当前处理状态”为“处理中”的相关质量信息数据;而超期事项是指“当前处理状态”为“处理中”,并且“预计闭环时间”超过“当前时间”的相关质量信息数据。
(4)报表打印模块
用于打印任意日期所在的周、月、年质量反馈统计报表。
(5)数据库维护模块
用于注销当前用户以及编辑修改用户名和登录密码,维护数据库系统安全。
ICQID系统功能结构如图1所示。
图1 ICQID系统功能结构图
E-R图又称实体-联系图(Entity-Relation Diagram),主要用于建立数据模型。E-R图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。在ICQID系统中,质量信息实体包括电路型号、封装形式、异常描述、处理结果等属性。质量信息实体E-R图如图2所示。
根据E-R图在Access数据库中创建数据表,系统数据库主要包括质量信息表和系统维护表。质量信息表(database1)主要用于存储质量信息,其结构如表1所示。系统维护表(login)主要用于存储用户登录信息,其结构如表2所示。
表1 质量信息表逻辑结构
表2 系统维护表逻辑结构
图2 质量信息实体E-R图
在ICQID系统中采用目前流行的ActiveX Data Objects(以下简称ADO)数据库访问技术[1]。ADO是建立在基于低层数据访问接口OLE DB(对象连接与嵌入数据库)技术上的数据对象,它通过ODBC方法同数据库接口连接。ADO按照访问和更新数据源的顺序定义了对象模型,其功能结构如图3所示。
图3 ADO对象结构图
4.1.1 窗体设计
在登录模块窗体中,Adodc控件主要用于连接系统维护表(login),窗体运行界面如图4所示。
4.1.2 代码设计
登录模块用于输入用户名和密码,如果输入正确,则系统进入主页面;否则提示出错。关键代码如下:
图4 登录窗体界面
4.2.1 窗体设计
在数据库编辑模块中,Adodc控件主要用于连接质量信息表(database1);Datagrid控件主要用于显示数据库数据。窗体运行界面如图5所示。
图5 数据库编辑模块窗体界面
4.2.2 代码设计
数据库编辑模块同时采用了richtextbox控件和textbox控件,textbox控件使用excute方法直接读写Access数据;而richtextbox控件不支持excute方法,每个richtextbox控件内容需要另存为rtf格式临时文件,并将临时文件转换成二进制数后,才能和Access交换数据。关键代码如下:
4.3.1 窗体设计
在报表打印模块中,DTpicker控件主要用于选择任意日期。窗体运行界面如图6所示。
图6 报表打印模块窗体界面
4.3.2 代码设计
正确打印出相应周、月、年统计报表的关键在于结构化查询语言(Structured Query Language)以及VB提供的weekday()、Montday()、Year()等时间函数的灵活运用[2]。限于篇幅,下面仅列出“月统计报表打印”的设计代码。
以下列出ICQID系统与Excel 2003电子表格性能综合比测结果,详见表3。
表3 ICQID系统与Excel 2003性能综合比测
综上所述,ICQID系统在信息录入、信息查询、信息存储等集成电路产品质量信息管理方面均优于Excel 2003电子表格。
本文介绍了ICQID系统功能结构、数据库设计以及主要功能模块设计。经过实际测试证明,ICQID系统占用内存较小,具备数据库编辑、查询、报表打印和信息提醒等多项功能,可以用于企事业单位集成电路产品质量信息管理工作。由于ICQID系统基于Access数据库,而Access是一种桌面数据库,在处理单机访问的数据库时效率较高,但并发处理能力较弱(仅支持100人在线提交)。而且Access数据库有一定的极限,假如数据达到100M左右,会很轻易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃[3]。因此如果需要联网处理海量数据,SQL serevr数据库可能是更好的选择。
[1] 王国荣. Visual Basic 6.0数据库程序设计[M].北京:人民邮电出版社,1999.34-53.
[2] 明日科技. 实战突击:Visual Basic项目开发案例整合[M].北京:电子工业出版社,2011.176-187.
[3] 崔洪芳. Access数据库应用技术[M].武汉:华中科技大学出版社,2009.100-105.