电信人事管理系统设计
摘 要
本论文详细介绍了一个电信人事管理系统实例的开发于应用,是一个数据库应用系统完整的制作过程。主要内容有:系统开发背景、系统概述、需求分析、系统设计、功能、感受与体会等。其中需求分析中主要对系统的数据流程图进行了详细描绘,系统设计中主要描绘出了该电信人事管理系统的模块设计图和该系统数据库的设计。功能与操作中介绍了对该电信人事管理系统实例的基本功能。
电信人数管理系统结合电信部门中实际的人事、财务制度,经过实际的需求进行分析,采用功能强大的Visual Basic 6.0做为开发工具,并运用Access 2000作为后台数据库,而开发出来的单机人事管理信息系统。
电信人数管理系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、考勤、工资、培训、用户等的全过程管理,包括新进员工加入时人事档案的建立、老员工的转出、在职员工职位的变动等引起职工信息的修改、员工信息查询、统计等人事管理工作以及员工考勤管理,还包括员工工资查询、修改、计发、工资表打印等工资管理工作和员工培训信息管理工作以及系统用户的帐号密码管理。
经过测试以及在实际使用证明,本文所设计的人事管理系统可以满足企业人事、工资管理方面的需要。在满足需求的同时,也体现出了操作简便、友好实用、安全可靠等特点。
关键字:论文 信息系统 电信人事管理
Abstract
This thesis is mainly about a development and application example of telecom personnel management system .It is a complete design procedure of data system. The thesis's discussion is detailing from system design to operation. There are six main sections in this thesis. They are the background of system development, system summarization, requirement analytics, functions, feelings and experience.
In the section of summarization, it depicts the development and summarization of the telecom personnel management information system. In the section of requirement analytics, it depicts the dataflow diagram of the telecom personnel management information system. It is an important part in system making. In the section of system design, it depicts then module diagram and the database design. In the section of operation, it describes then basic function of the system.
In the section of the experience, it is about my experience in the making of the system. The characteristic of this system is Convenience and practice. In addition, there is a program of the telecom personnel management information system. With the rapid development of computer technology and the common use in the company management, the management of company administrative salary by the computer is imperative under the situation. Under the actual demand analysis, our system combines the effective company administration with finance system, and develops personnel management t system by using the Visual Basic6.0 as the development tool.
Considering the demand of easy operation and flexible and safe interface, the whole system can finish the progress of the administration, checking on work attendance and salary management, which includes personnel management work, such as the establishment of the recruits' personnel documents, transfer of the old personnel, changes of the employee's information caused by the job position change, employee's information checking, statistics etc, and personnel management work such as check on work attendance, overtime, business trip and management, employee's salary inquiry, amendment, offer and printing the salary sheet etc.
After the actual use, the administrative and salary management system mentioned by this article can satisfy the demand of administrative and salary management for the company. The article mainly introduces the development background of this task, the function that should be finished and the progress of development, and also explains the point, design thought, difficult technology and the way out.
Keywords: thesis; information system; Comprehensive telecom personnel management
目 录
摘 要 I
Abstract II
第一章 导言 1
1.1 问题的提出 1
1.2 本文研究路线 2
第二章 电信人事管理信息系统研究概述 5
2.1 管理信息系统的发展历史 5
2.2 电信人事管理信息系统的作用 6
2.3 国内电信人事管理信息系统发展现状 8
2.4 国内电信人事管理信息系统存在的问题 8
第三章 电信人事管理信息系统需求分析 10
3.1 电信人事管理信息系统的用户需求简介 10
3.2 电信人事管理信息系统的要求 11
3.3 数据流程图 11
第四章 电信人事管理信息系统设计 16
4.1 电信人事管理信息系统功能描述 16
4.1.1 系统管理功能 16
4.1.2 人事档案管理功能 16
4.1.3 工资信息管理功能 17
4.1.4 培训信息管理功能 17
4.2 系统功能模块图 18
4.3 系统开发环境简介 20
4.4 数据库设计 20
4.4.1 数据库介绍 20
4.4.2 使用ADO数据控件访问数据库 21
4.5 数据词典分析 23
4.5.1 员工信息查询表 23
4.5.2 部门名称信息表 24
4.5.3 岗位名称信息表 24
4.6 打印数据报表设计 25
第五章 电信人事管理信息系统的功能实现 26
5.1 系统技术要点 26
5.2 主界面设计 28
5.3 添加功能模块设计 33
5.4 信息查询模块设计 34
5.5 计发工资信息模块设计 35
5.6 配置管理界面设计 36
5.7 发布应用程序 37
5.7.1 编译应用程序 37
5.7.2 打包应用程序 38
5.7.3 发布应用程序的步骤 38
第六章 测试与分析 39
6.1 测试环境 39
6.2 测试方法 39
6.3 测试项目 40
6.4 测试结果分析 41
第七章 结论 42
第八章 结束语 43
参考文献 45
附录:源代码 46
第一章 导言
1.1 问题的提出
随着时代的进步,社会生产力高速发展,新技术层出不穷信息量急剧膨胀,整个人类社会已成为信息化的社会人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找情报资料、处理银行帐目、仓库管理、科研生产等方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。
信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定工作计划,研究投资策略,都离不开对信息的充分利用。管理信息系统(Management Information System,缩写MIS)是一种“人机系统”,它以特定的模式支持一个组织内各级组织机构之间的通讯,对信息资源进行综合开发,管理和利用,实现对该组织的有效管理。它通过对数据的加工处理,及时为管理与决策分析提供信息。其特点有:
数据全部存储于计算机系统中;
用户使用简单、操作方便、查询速度快;
有极强的人-机对话功能;
能直接从计算机系统中提供决策所需的参考信息。
管理信息系统基本框架如图1.1。
随着我国成功加入WTO及信息化浪潮的日益临近,企业经营管理机制正在发生着根本性的变化,企业要想在激烈的市场竞争环境下求得生的存,就必须有效地利用人才、时间、信息结合的优势,就必须有效地进行企业内部改革和加强企业管理。借助现代信息技术和管理理论,建立企业管理信息系统势在必行。
对企业而言,人事是企业最宝贵的资源,也是企业的“生命线”。如何做到企业人事与经济效益具有良好匹配?如何做到事得其才,人尽其用?如何在满足企业效益的同时又兼顾企业职工的需求?如何能在瞬息万变的时代使企业与社会环境相适应并且处理好随时变化的人事?这一系列的问题都是需要亟待解决的问题。
为了解决上述问题,使企业在激励的市场竞争中立于不败之地,设计并开发出一套适合企业电信人事管理特点,又符合我国企业管理实情的电信人事管理信息系统 (HRMIS)就显得尤为重要。
本文正是从这方面出发,以某公司为背景,希望通过本系统的功能设计,能够把电信人事管理者从繁重、传统的事务性工作如:档案增加、档案查询、档案修改、档案删除、工资查询、打印档案等工作中解放出来,使得他们更专注于最需要智慧和经验的工作,因而提高电信人事管理的质量和效率。
本作者长期从事电信人事管理工作,对电信人事工作中的主要工作——档案管理和工资管理工作深有感触,既费时又费力,增加或修改一个员工的档案常常需要几个小时的时间,而且把本身一项智力劳动都体现在了体力劳动中,因此,结合我工作中的实际经验,设计本系统的主要功能有档案增加、档案修改、档案删除、工资查询、打印等功能。目前已经在某公司使用,共录入员工信息20余条,运行效果良好。
1.2 本文研究路线
可行性分析(可行性分析)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
一般而言,良好的人事管理,有助于为企业达到以下的目标:一、协助组织达成发展目标与远景。二、有效地运用人员的能力与技术专才。三、促使组织成员的工作士气高昂且激发潜能。四、滿足组织成员的自我实现感与增加成员的工作成就感。五、发起且落实组织变革。六、提高组织成员的工作生活品质。七、协助企业负责人做出正确决策。
数据库是指自描述的完整记录的集合。数据库技术在20世纪60年代中期产生,它的出现使信息系统的研制从以加工数据的程序为中心转变为以共享数据库为中心来进行。数据库开始是在大公司或机构中进行大规模数据处理后来随着计算机的逐渐普及,数据库才应用到计算机上。数据库发展的到今天,已经是相当成熟的阶段,它对大量数据处理能力的不断提高,发展和完善。
根据实际情况,我们使用ADO控件少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。
现代计算机软硬件的发展使得本系统具有良好的操作界面,简单直接的操作界面,具有较强的人机对话能力,支持多种汉字输入方式,其适应性强,显示内容简单明了,使操作者不必具有较高高的计算机专业知识,也不必进行专门培训,稍一接触就可以上手进行所有操作。
本文的研究框架如下图1.2所示,反映了如下的研究思路:
图1.2 本文的研究框架图
本系统采用微软公司的Visual Basic 6.0是进行前台应用程序开发,后台采用微软的Access 进行后台数据库开发。Visual Basic 6.0是Windows应用程序开发工具,是使用广泛、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。Visual Basic 6.0是一个非常优秀的数据库应用工具完全支持面向对象的开发。它拥有多种数据库接口,可以非常方便地连接到各种数据源再加之其专利产品,程序员不需编写任何SQL语句即可轻松地查询和更新后数据库中的数据,这使当时的同类开发工具望尘莫及。
第二章 电信人事管理信息系统研究概述
2.1管理信息系统的发展历史
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。
目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人-机系统”,该系统是70年代初“后工业经济”时代的产物,在企业管理信息系统在其发展的初期,是单一的人—机系统,系统功能简单,效率低,对管理的作用有限。
进入2 0世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。
我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、金桥“工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统 (ES)或决策支持系统 (DSS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。
1.人事管理系统的发展历史可以追溯到20世纪60年代末期。由于当时计算机技术已经进入实用阶段,同时大型企业用手工来计算和发放薪资既费时费力又非常容易出差错,为了解决这个矛盾,第一代的人事管理系统应运而生。当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量也只不过是一种自动计算薪资的工具,既不包含非财务的信息,也不包含薪资的历史信息,几乎没有报表生成功能和薪资数据分析功能。但是,它的出现为人事管理的管理展示了美好的前景,即用计算机的高速度和自动化来替代手工的巨大工量,用计算机的高准确性来避免手工的错误和误差,使大规模集中处理大型企业的薪资成为可能。
2.第二代的人事管理系统出现于20世纪70年代末。由于计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展,都为人事管理系统的阶段性发展提供了可能。第二代人事管理系统基本上解决了第一代系统的主要缺陷,对非财务的人事管理信息和薪资的历史信息都给予了考虑,其报表生成和薪资数据分析功能也都有了较大的改善。但这一代的系统主要是由计算机专业人员开发研制的,未能系统地考虑人事管理的需求和理念,而且其非财务的人事管理信息也不够系统和全面。
3.人事管理系统的革命性变革出现在20世纪90年代末。由于市场竞争的需要,如何吸引和留住人才,激发员工的创造性、工作责任感和工作热情已成为关系企业兴衰的重要因素,人才已经成为企业最重要的资产之一。"公正、公平、合理"的企业管理理念和企业管理水平的提高,使社会对人事管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使得第三代人事管理系统的出现成为必然。第三代人事管理系统的特点是从人事管理的角度出发,用集中的数据库将几乎所有与人事管理相关的数据(如薪资福利、招聘、个人职业生涯的设计、培训、职位管理、绩效管理、岗位描述、个人信息和历史资料)统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得人事管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人事管理规划和政策。
2.2电信人事管理信息系统的作用
随着电信人事管理信息系统在企业中的广泛应用,该系统对企业的影响也会越来越大,它对企业电信人事管理方面的贡献是无可替代的。
2.2.1 能够给企业带来先进的电信人事管理思想及方法
管理的进步主要体现为管理思想和相应管理模式与方法的进步。管理软件本身是管理思想和管理模式的载体,它具有双重核心,即:管理思想、信息技术。软件是具体的,除了带给管理思想外,更多地表现为基于思想的管理模式和方法。电信人事管理软件带给企业操作方便的业绩考核体系和人才度量指标;决策支持软件使决策模型真正走到了企业。
2.2.2促进建立现代电信人事管理模式
当前,企业管理正从实物管理走向资本管理,又走向知识管理,信息和知识成为继人力、资本之后的第三大企业资源。搞好知识管理(KM)已经成为现代企业,特别是以知识增值为主的企业的迫切课题。源于信息处理以软件为核心的IT系统在知识管理领域具有“先天”的优势。
在企业的组织结构改进方面,应用电信人事管理系统可以优化组织内部信息沟通方式,提高沟通效率,减少组织层级;可以增强每个员工的信息处理能力,提高对市场的直接反应能力,增加单个管理者的管理跨度等,从而使企业能够建立扁平结构的组织模式。
2.2.3 促进电信人事管理正规化
管理正规化是管理通向更高层次的台阶。实现管理正规化有多条路径,软件能够有效地促进这一进程。企业电信人事管理规则、标准、程序和制度都可以在软件及其相关系统中体现出来。
更重要的是,软件对管理正规化的促进在很大程度上避免了形式主义。由于软件是一个实时应用系统,管理规范透过软件溶入了企业的业务和管理流程,较之纸质的规章和无形的规范而言,更容易被贯彻执行。
2.2.4 帮助企业提高管理时效
在现代企业社会中,时效性是一个越来越重要的要求。时效包括经营时效和管理时效。提高管理的时效性也是改进管理的重要内容。传统管理手段下,很多管理只能停留在事后延时开展,事中的实时控制和事前的预先控制困难。比如,各种管理报告只能是月报、季报和年报;经营和管理指令的下达和执行被逐级延迟等等。
采用电信人事管理软件使得企业可以改变了以往的报告期概念,各种管理报告可以随时取得,可以按任意日期提取;网络系统使得经营和管理指令可以瞬间传达到全球每一处办事机构。
2.2.5 帮助企业降低管理成本
控制企业的运营成本本身就是管理的一个职能。通过网络HRMIS,大量的常规数据可以实时在总部汇总。基于工作流和群件技术的软件系统,不仅加快了企业内部信息交流的速度,而节约了大量的页面印制和传输成本。
采用软件系统的管理尽管也会因配置电脑系统增加新的管理成本,但相对于传统功能单一的信息处理系统,由于新系统作为一个综合信息处理平台的作用,使得单位管理力成本和综合成本降低。
此外,近年来IT产业界在降低用户总体拥有成本(TCO)的努力也进一步促进了用户管理信息系统的成本降低。如基于B/S(浏览器/服务器)模式的软件系统,不仅给管理者带来管理上的极大突破,而且极大地降低软件安装和更新费用。
2.3国内电信人事管理信息系统发展现状
电信人事管理信息系统的应用在中国呈多元状态,但主要为三元状态:
部分企业或单位在电信人事管理信息系统的应用上在国内处于领先地位,这些企业或单位不仅有先进的设备,而且还有先进的管理思想,并且还有与先进管理思想相适应的员工队伍,他们尝到了使用先进的管理信息系统不仅可以大大地促进管理,而且还可以促进生产、创造效益的甜头,因而在管理信息系统的研究和应用上越搞越起劲,所以使得企业或单位的效益始终走在同类企业或单位的前列。
一些企业或单位并不乏先进的设备,然而却没有先进的管理思想和手段,他们往往仅对研制或者购买管理信息系统有兴趣,一旦研制成功或购买到位,却无法在企业和部门开展应用,最后就只有用系统来发发工资或向上报统计报表,或是仅将先进的计算机设备用来打打字,或者仅是用投资巨大的同INTERNET相连接的局域网系统来获取一些外部信息,根本没有发挥管理信息系统的作用。
一些既没有先进的设备,也没有先进的管理思想的困难企业或单位,面对先进的管理信息系统只有望洋兴叹。
2.4 国内电信人事管理信息系统存在的问题
我国电信人事管理信息系统开发和应用虽然已经有近十年的时间,但电信人事管理信息系统在企业中应用的整体水平还不高。这主要有两方面的原因:一方面,很多企业管理者对电信人事管理的重视程度不够,电信人事管理水平还停留在原先的电信人事管理的层次上,所以不愿意在电信人事管理电子化方面投入更多的财力和精力;另一方面,管理信息系统开发商推出的HRMIS产品还有很多不尽如人意的地方,具体表现如下:
2.4.1 系统功能单一
很多电信人事管理信息系统的功能比较单一,还处于功能应用的初级阶段。比如有些系统仅能满足人事档案管理和日常数据管理,缺乏整体提升电信人事管理水平的功能模块。企业在使用这些系统时并没有明显感觉到工作效率的提升,久而久之就对电信人事管理信息系统缺乏兴趣,也不愿做更多的投入。
2.4.2 操作复杂
企业中很多从事电信人事管理工作的员工并不懂电脑,为了配合管理信息系统的实施,一般都会对操作人员进行计算机知识和系统操作知识的培训。但如果系统不考虑使用者的现实情况,界面不够友好,操作过于复杂,就会让这些刚刚学会电脑的新手们感到操作上的不便。如果这种不便一直持续下去,就会让操作者产生逆反心理,从而影响了整个系统的正常使用。
2.4.3 升级缓慢
近10年以来,计算机硬件、软件及网络设备的升级换代非常快,如果管理信息系统的升级换代无法和支撑平台同步进行,就会使系统的应用产生很多问题,甚至会使整个系统处于瘫痪状态。
2.4.4 忽视系统培训
管理信息系统是否能够在企业得到充分的应用,一方面取决于系统本身的性能,另一方面也取决于系统使用者的自身素质。很多企业在进行管理信息系统建设时,往往重视硬件和技术的投入,而忽视了培训的投入。培训首先应该解决系统使用者的认识问题,很多员工会担心由于管理信息系统的应用,会让自己失去工作,通过培训要让他们明白管理信息系统的应用是企业管理发展的必然趋势。在加强认识培训的同时,还要加强管理知识和系统操作的培训。
第三章 电信人事管理信息系统需求分析
3.1电信人事管理信息系统的用户需求简介
电信人事管理信息系统对企业加强电信人事管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有招聘的功能,网上筛选简历的功能,提醒的功能,而且设计的模块也很多,比如人事规划模块,新员工上岗管理模块,招聘筛选管理模块,绩效考核模块,工资管理模块,在线培训模块等。
但由于人员结构比较简单,学历比较高,基本上都拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以公司目前阶段的电信人事工作主要就是员工档案的收集整理和工资的管理工作,因此,针对该公司而言,经过反复的论证,设计的这套电信人事管理信息系统,定义了以下的功能,见表3.1:
表3.1 电信人事管理信息系统功能需求分析
功能模块 实现功能
系统管理 用户管理
配置管理
数据备份
数据恢复
系统初始化
人事档案管理 增加员工信息
修改员工信息
删除员工信息
查询员工信息
打印员工档案
工资信息管理 计发工资信息
查询工资信息
工资信息打印
员工培训管理 员工培训信息录入
员工培训信息修改
员工培训信息删除
员工培训信息查询
员工履历表打印
3.2电信人事管理信息系统的要求
目标系统应该达到以下要求:
1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。能连续准确的处理业务,有较强的容错能力。
3、可理解性。用户容易理解和使用该系统。
4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
3.3数据流程图
顶层:
图3.1 顶层数据流程图
0层:
图3.2 顶层数据流程图
一层:
图3.3 一层数据流程图
图3.4 一层数据流程图
图3.5 一层数据流程图
图3.6 一层数据流程图
第四章 电信人事管理信息系统设计
4.1电信人事管理信息系统功能描述
4.1.1系统管理功能
系统管理功能包括用户管理、配置管理、数据备份、数据恢复和系统初始化:
(1)用户管理
系统的操作由用户,也就是使用者来完成,用户管理也就是对系统使用者自身的管理,是系统最基本的管理层次。在改管理模块中可以增加、修改、删除用户的帐号及密码,从而来达到控制系统使用的目的。
(2)配置管理
配置管理中主要是对电信中部门和岗位的的配置,可对其进行增加、修改和删除操作。
(3)数据备份
信息系统中,系统数据的安全性尤为重要,为了防止数据被破坏而导致系统出错或无法正确运行,必须对数据库进行备份,以便数据遭到破坏后能恢复。
(4)数据恢复
该功能实现了在数据库得到备份后能把已备份的数据库恢复到备份时的状态。
(5)系统初始化
当系统需要从新开始运行时,可以将系统恢复到初始状态,以便用户可以重新使用。
4.1.2人事档案管理功能
人事档案管理功能包括人事档案信息的增加、修改、删除和查询:
(1)增加功能
该系统按照电信人事管理人员的书写习惯,可对员工的编号、员工的姓名、性别、出生年月、所在部门、职位名称、最高学历、毕业院校、所学专业、身份证号码、家庭住址、到岗时间、电话号码、手机、传呼等基本信息进行记录,为了方便起见,还增加了备注的功能,可以对员工进行评语及特点的描述。信息录入后最终自动生成详细的易于操作的人事档案表, 可以随时的记录了解本公司的员工信息,一目了然。本系统支持任何一种输入方法。
(2)修改功能
该系统提供的档案修改功能可以在员工的基本情况发生变化后,根据修改的项目修改员工原始的各种信息,比如修改学历、所在部门、职务名称等。
(3)删除功能
该系统中删除的功能是为了考虑人员的流动性,当员工提出辞职后,可及时得把员工信息删除,在选择删除某一条信息后,为了防止误操作,系统会再次提示“您是否真的删除”,如果您选择确认后,才能删除。
(4)查询功能
对人事信息,根据查询条件列出查询结果,其中,查询条件可以是单一查询条件,也可以是组合查询条件。
(5)档案打印功能
可根据需要,打印出员工数据库中所有或部分人事档案。
4.1.3工资信息管理功能
工资信息主要包括员工的底薪、补贴、奖金、加班费、房贴、养老金、医疗补助、住房公积金等项目,另外,系统会自动统计该员工的工资的稅前小计、所得税和实发工资等信息。
主要功能模块有:
(1)计发工资
(2)查询工资
(3)打印工资
4.1.4培训信息管理功能
培训信息管理功能主要对员工培训信息进行管理,主要包括:员工姓名、培训起止时间、培训地点、培训费用方式及金额等信心进行管理。
主要功能模块有:
(1)培训信息录入
(2)培训信息修改
(3)培训信息删除
(4)培训信息查询
(5)职工履历表打印
4.2系统功能模块图
系统功能模块图见图4.1。
图4.1 系统功能模块图
4.3系统开发环境简介
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
操作系统:Windows 98或以上版本
数据库:MS Access 2000
开发工具与语言: Visual Basic 6.0英文版
4.4数据库设计
4.4.1数据库介绍
所谓数据库(Database)就是指按一定组织方式存储再一起的,相互有关的若干个数据的结合,数据库管理系统(Database Management System)就是一种操纵和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,于操作系统通信等。DBMS通常由数据字典,数据描述语言及其编译程序,数据操纵(查询)语言及其编译程序,数据库管理例行程序等部分组成。
关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
在Visual Basic中,关系型数据库一般可以分为两类:一类是桌面数据库,例如Access、Paradox、FoxPro、Dbase,另一类就是客户/服务器数据库,例如SQL Server、Oracle和Sybase等。
一般而言,桌面数据库主要应用于小型的、单机的数据库应用程序。也是初学者常用的数据库类型。实现起来比较方便,但同时也只能提供数据的存取功能。它主要用于小型的、单机的、单用户的数据库管理系统。
电信人事管理信息系统的数据库选用Microsoft公司的Access产品作为数据库应用程序。目前的Access 2000是Microsoft强大的桌面数据库平台的第六代产品,是3 2位Access的第三个版本。Access有以下一些基本定义:
·数据库是一个包含各种Access “对象”(表、查询、窗体、报表、宏和模块)的文件,Access中所有工作都是建立在此基础之上的。
·表是存放数据的容器,被设计成行和列的格式,就像电子表中的那样。每一列叫做一个“字段”,包含特定类型的信息,如姓名或学历。每一行称为一个“记录”,包含与单个实体有关的所有信息,如某个员工的姓名、性别、所在部门、学历等。对于像Access这样的关系数据库管理程序,一个数据库通常包含几个存放相关数据的不同表。
·查询是一个Access对象,它询问数据库中有关数据的问题。根据设计方法的不同,查询能够在数据库中检索并组合来自不同表的数据。例如,可以设计一个查询来告知在公司中工作超过1年的职员有多少。查询还可以对一组数据执行操作,如更新或删除某组记录。
·窗体是一个窗口,它提供一种很方便的途径来查看数据库中已有记录或向数据库中增添新记录。在Access中,可以创建一个窗体,用来同时查阅单个表或多个表中的数据,还可以打印和显示窗体。
·报表是一个Access对象,设计来显示数据,其作用类似于窗体,但主要是用于数据打印,不能输入数据。
· 页是一种特殊类型的窗体,它使用户能够利用Web浏览器查看和编辑Access的表。
·宏用来保存Access中的一系列操作。可自动执行一些日常的任务,以便简化在Access中的工作。
· 模块是用Visual Basic for Applications(VBA) 编写的过程,VBA是Access的基础程序设计语言。利用VBA可以编写程序代码来完成Access宏所不能完成的特定任务。
4.4.2使用ADO数据控件访问数据库
ADO(Active Data Objects)是一种新的数据访问方式,具有以下特征:
有一个简化的对象模型
与其他Microsoft和非Microsoft技术更加紧密的集成。
是一个本地和远程数据访问、远程和断开连接的记录集、用户可以访问的数据绑定接口以及层次化的记录集的通用接口。
电信人事管理信息系统通过ADO这个数据控件来访问数据库,首先,安装ADO 控件要在简体中文VISUAL BASIC6.0企业版中注册后才能使用。ADO(ActiveX Data Object)是微软提出的数据访问接口,它实现了RDO的绝大多数功能,另外还增加了一些用户以前没有接触到的特征。Visual Basic 6.0可以很好地支持ADO和OLE DB数据访问模式。
在ADO2.0中包含了数据绑定、可视化设计工具以及OLE DB数据源书写模板等新的内容。在Visual Basic6.0中,ADO的数据环境设计器(Data Environment Designer)取代了Visual Basic 5.0中的RDO的用户连接设计器(User Connection Designer)。User Connection对象只支持ODBC数据源,而Data Environment对象可以连接所有的OLE DB数据源o
ADO对象模型定义了一个可编程的分层的对象集合,它支持部件对象模型(COM)和OLE DB数据源。与其他的数据访问对象相比,包含在ADO的对象少得多,也更加容易使用。
ADO对象模型中包含了3个一般用途的对象:Connection、Command和Recordset。程序开发人员可以创建这些对象并且使用这些对象访问数据库。在ADO对象模型中还有其他几个对象,例如Field、Property、Error和Parameter,它们是作为前面3个对象的子对象进行访问的。
(1)、ADO数据控件的功能
ADO data控件使用ActiveX数据对象(ADO)来快速建立数据约束控件和数据提供者之间的连接,并快速创建记录集,然后将数据通过数据约束控件提供给用户,其中数据约束控件可以是任何具有“数据源”属性的控件,而数据提供者可以是符合OLE DB规范的数据源。使用Visual Basic的类模块也可以很方便的创建子集的数据提供者。在Visual Basic6.0中,可以使用ADO数据控件实现下面一些功能:
连接一个本地数据库或远程数据库。
打开一个指定的数据库表,或定义一个基于结构化查询语言(SQL)的查询、存储过程或者是该数据库中表的视图的记录集合。
将数据字段的数值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。
添加新的记录,或者根据对显示在绑定的控件中的数据的任何更改来更新一个数据库。
(2)、ADO数据控件的属性
ADO数据控件与Visual Basic的内部数据控件(Data)和远程数据控件(RDC)很相似,它允许使用ADO快速地创建与数据库的连接。
与Data控件类似,为了实现对数据库的访问,ADO数据控件提供了几个属性,这些属性定义了怎样连接数据库以及同什么样的数据库相连接。
Connection String属性:是一个字符串,可以包含进行一个连接所需的所有设置值,在该字符串中所传递的参数是与驱动程序相关的。例如,ODBC驱动程序允许该字符串包含驱动程序、提供者、默认的数据库、服务器、用户名称以及密码等。
ADO支持Connection String属性的4个参数,而且这4个参数将不经过ADO的处理直接送到数据源。这四个参数的属性如表3.2所示:
表4.1 Connection String属性的4个参数表
参数 描述
Provider 指定数据源的名称
File Name 指定基于数据源的文件名称
Remote Server 指定在打开一个客户端连接时使用的数据源名称
Remote Server 指定打开客户端连接时使用的服务器的路径与名称
4.5数据词典分析
该软件的数据库名称为mang.mdb,该数据库由四张表组成,它们分别是:
员工基本信息表:mang
部门名称信息表:dep
岗位名称信息表:func
查询数据暂存表:query
查询数据暂存表的数据结构与员工基本信息表的数据结构相同。
4.5.1员工信息查询表
表 4.2 员工信息查询表
4.5.2部门名称信息表
表 4.3 部门名称息查询表
名 称 类 型 长 度 主键
部门名称 文本 20 √
4.5.3岗位名称信息表
表 4.4 岗位名称信息查询表
名 称 类 型 长 度 主键
岗位名称 文本 20 √
4.6打印数据报表设计
Visual Basic6.0有两种方法打印数据报表,一种方法就是预览数据报表时单击“打印”按钮,另一种方法就是在程序中调用Print Report方法打印数据报表,同时,可以在Error事件中捕获打印过程中发生的错误并且做出相应的处理。电信人事管理信息系统采用的是Visual Basic6.0提供的在程序中调用Print Report方法打印数据报表的打印方法。在程序中使用代码打印数据报表,既可以在显示打印对话框后打印数据报表,也可以不显示打印对话框而直接打印数据报表。
第五章 电信人事管理信息系统的功能实现
5.1 系统技术要点
一、时间范围的查询
时间范围的查询和一般字符的查询并不一样。一般字符的查询使用 SQL 语句 “SELECT * FROM jiating where 姓名='" + ss +”即可,对于时间这样的字符使用的SQL必须是这样的格式“SELECT * FROM MANG where 日期 Between "#2/2/2002" And "2/2/2003#”。
因此使用SS定义STRING型变量用SS="#" & Text1.Text & "#"连接中间字符
使用SELECT * FROM MANG where 日期 Between " + ss + " And " + ss2 + "索检记录。
二、打印查询后的记录
对于动态打印,直接使用DataReport是无法实现的。所以首先建立临时数据表 用"INSERT INTO QUERY SELECT* FROM QUERY where ", mycn, adOpenKeyset, adLockOptimistic将要打印的记录存放其中,再使用DataReport时,我通过DataEnvironment连接了一个临时数据表,该数据表中的数据根据查询条件的不同而变化,然后用Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
Unload DataReport2
Unload DataEnvironment1
End Sub
刷新报表即可。
组合查询
实现:将查询的字段也设为变量嵌入到SQL中语句如下:
ss2 = Text2.Text
ss3 = Text3.Text
Adodc1.RecordSource = "SELECT * FROM mang where 字段1='" + ss4 + "' and 字段2='" + ss5 + "'"
Adodc1.Refresh
下面给出系统开发出来的详细界面以阐述电信人事管理信息系统的具体功能。系统完整源代码见附件,首先是进入登陆界面
在工程引用ADO2.0。
在命令按钮单击写下连接数据库USER表的判断语句
Private Sub Command1_Click()
denlu_name = Text1.Text
denlu_pass = Text2.Text
Dim mycn As New ADODB.Connection
Dim myrs As New ADODB.Recordset
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=rsgl.mdb;"
myrs.Open "SELECT * FROM [user] where (user.user)='" + denlu_name + "';", mycn, adOpenKeyset, adLockOptimistic
If myrs.BOF = True And myrs.EOF = True Then
MsgBox "查无此人", , "登陆信息"
Else
If myrs("pass") = denlu_pass Then
''''''''''''''''''''''''''''''''''''''''''
MsgBox "ok", , "登陆信息"
Form2.Show
Unload Me
'''''''''''''''''''''''''''''''''''''''''''''''''''
Else
MsgBox "密码不正确", , "登陆信息"
End If
目的是USER表没有该用户,将无法使用本程序
然后进入主界面,如下图所示:
5.2 主界面设计
图 5.1 主界面
程序部分的代码实现
Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
'声明API函数用于数据备份和恢复
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Private Sub Form_Load()
Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 4000)
Me.Top = GetSetting(App.Title, "Settings", "MainTop", 4000)
Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
'定位界面
End Sub
Private Sub mnudayindangan_Click()
Form5.Show '打开界面
End Sub
Private Sub mnudayinlaozi_Click()
DataReport5.Show '打开报表
End Sub
Private Sub mnulaozijifa_Click()
Form16.Show '打开界面
End Sub
Private Sub mnupeizhi_Click()
Form3.Show '打开界面
End Sub
Private Sub mnutuichu_Click()
End '退出所有程序
End Sub
Private Sub mnudayinwanzheng_Click()
'应做:添加 'mnudayinwanzheng_Click' 代码。
MsgBox "添加 'mnudayinwanzheng_Click' 代码。"
End Sub
Private Sub mnudayinjiandan_Click()
'应做:添加 'mnudayinjiandan_Click' 代码。
MsgBox "添加 'mnudayinjiandan_Click' 代码。"
End Sub
Private Sub mnulaozichaxun_Click()
Form9.Show '打开界面
End Sub
Private Sub mnudanganchaxun_Click()
Form4.Show '打开界面
End Sub
Private Sub mnudanganshanchu_Click()
Form1.Command2.Visible = False
Form1.Command1.Visible = True
Form1.Show '打开界面
End Sub
Private Sub mnudanganxiugai_Click()
Form1.Show '打开界面
Form1.Command2.Visible = True
Form1.Command1.Visible = False
End Sub
Private Sub mnudanganzengjia_Click()
Form2.Show '显示增加窗口
'控件初始化
Form2.Text3.Text = ""
Form2.Text5.Text = ""
Form2.Combo1.Text = ""
Form2.Combo4.Text = ""
End Sub
Private Sub munchushihua_Click()
Response = MsgBox("是否初始化?", vbYesNo)
If Response = vbYes Then
Dim mycn As New ADODB.Connection '初始化
Dim myrs As New ADODB.Recordset
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
myrs.Open "delete FROM mang ;", mycn, adOpenKeyset, adLockOptimistic
myrs.Open "delete FROM zgjl ;", mycn, adOpenKeyset, adLockOptimistic
'通过SQL语言删除表中所有记录
MsgBox "成功"
Else
Exit Sub
End If
End Sub
Private Sub mundayinlvlibiao_Click()
DataReport6.Show '打开报表
End Sub
Private Sub munpeixunchaxun_Click()
Form13.Show '打开界面
End Sub
Private Sub munpeixundel_Click()
Form14.Show '打开界面
Form14.Command2.Visible = False
Form14.Command1.Visible = True
End Sub
Private Sub munpeixunluru_Click()
Form17.Show '显示增加窗口
End Sub
Private Sub munpeixunshanchu_Click()
Form11.Show '打开界面
Form11.Command1.Visible = True
Form11.Command1.Caption = "删除"
End Sub
Private Sub munpeixunxiugai_Click()
Form11.Show '打开界面
'显示command9按键,并将CAPTION属性定义为"修改"
Form11.Command1.Visible = True
Form11.Command1.Caption = "修改"
End Sub
Private Sub munpeixunmodi_Click()
Form14.Show '打开界面
Form14.Command2.Visible = True
Form14.Command1.Visible = False
End Sub
Private Sub munshujubeifen_Click()
ss = App.Path & "\mang.mdb"
ss2 = App.Path & "\mang_bk.mdb"
Response = MsgBox("原数据库:" & ss & "备份的数据库将保存在:" & ss2, vbYesNo)
If Response = vbYes Then
DeleteFile ss2
'定义备份文件的位置,使用了相对目录
CopyFile ss, ss2, 1 '备份文件
MsgBox "成功"
Else
Exit Sub
End If
End Sub
Private Sub munshujuhf_Click()
ss = App.Path & "\mang.mdb"
ss2 = App.Path & "\mang_bk.mdb"
Response = MsgBox("是否删除原数据库?位置 :" & ss, vbYesNo)
If Response = vbYes Then
DeleteFile ss
'定义恢复文件的位置,使用了相对目录
MsgBox "备份的数据库在 :" & ss2 & " 恢复成原数据库位置 :" & ss
CopyFile ss2, ss, 1
'恢复文件
Else
Exit Sub
End If
End Sub
Private Sub munyonghu_Click()
Form10.Show '打开界面
End Sub
5.3 添加功能模块设计
图 5.2 增加员工界面
通过ADO控件连接到数据库的RS表,通过SQL语句
“SELECT rs.编号, rs.姓名, rs.年龄, rs.部门, rs.职级, rs.婚姻状况, rs.文化程度, rs.工作年数, rs.联系电话, rs.家庭住址, rs.身份证号码
FROM rs;“ 筛选出全部记录
用TEXT控件,将它的数据源设为ADO控件,将它的各列显示出数据库的各列。属性设为可写。
Private Sub Command1_Click()
On Error Resume Next
Adodc1.Recordset.AddNew 添加记录
End Sub
Private Sub Command2_Click()
On Error Resume Next
Adodc1.Recordset.Delete 删除记录
End Sub
5.4 信息查询模块设计
图 5.3 “查询员工信息”界面
这里就列出查询源代码进行说明:
Private Sub Command6_Click()
ss= Text2.Text 设定4个变量
Adodc1.RecordSource = "SELECT * FROM RS where " + ss2 + "='" + ss4 + "' and " + ss3 + "='" + ss5 + "'"
Adodc1.Refresh
字段1=变量SS1 值=SS2 字段2=变量SS3 值=SS4
End Sub
5.5计发工资信息模块设计
图 5.4 计发工资信息界面
通过ADO控件连接到数据库的表工资
用控件,将它的数据源设为ADO控件,将它的各列显示出数据库的各列。
Private Sub Command1_Click()
On Error Resume Next
Adodc1.Recordset.AddNew 添加记录
End Sub
Private Sub Command2_Click()
On Error Resume Next
Adodc1.Recordset.Delete 删除记录
End Sub
5.6配置管理界面设计
图 5.5 “配置管理”界面
通过ADO控件连接到数据库的BUMEN表,通过SQL语句
筛选出全部记录。 用DATA GRID控件,将它的数据源设为ADO控件,将它的各列显示出数据库的各列。属性设为可写。
Private Sub Command1_Click()
On Error Resume Next
Adodc1.Recordset.AddNew 添加记录
End Sub
Private Sub Command2_Click()
On Error Resume Next
Adodc1.Recordset.Delete 删除记录
End Sub
5.7发布应用程序
在Visual Basic的集成开发环境中创建好电信人事管理信息系统后,并无意味着全部工作已完成,此时生成的应用程序只能在Visual Basic的集成环境中运行,要想使应用程序能够脱离Visual Basic的集成开发环境,首先要对电信人事管理信息程序进行编译并且生成.exe或其他类型的文件,然后调用打包和展开向导创建安装程序。
5.7.1编译应用程序
编译电信人事管理信息程序就是将创建的应用程序以及它的工程文件合并成一个可执行文件。在发布电信人事管理信息应用程序之前,首先应该使用测试和调试工具对改应用程序进行前面测试,在排除了所有可能的错误后,才可以开始对应用程序进行编译。
编译应用程序的主要目的如下;
使应用程序转入和运行更快。
给发布应用程序做准备。
使用应用程序更安全。
将应用程序进行编译后,Visual Basic将工程中的所有文件进行组织并将这些工程文件转化成一个可执行的文件.exe。
Visual Basic提供APP对象来存储应用程序的有关信息属性,例如,公司名,产品名,版本以及其他相关信息。在设计中,可以通过这些属性来告诉用户一些重要的信息,在应用程序运行时用Visual Basic代码读出这些属性值,也可以在Windows资源管理器中观察应用程序对象的版本信息属性值。右击编译过的.exe文件,然后从快捷菜单中选择“属性”命令打开“属性”对话框的版本标签,就可以看到应用程序的版本信息。
当完成当前工程的APP对象的属性后,就可以编译代码了。Visual Basic6.0支持两种编译格式:P代码和本地代码。选择P代码格式编译的应用程序生成的可执行文件较小,选择本地代码编译的应用程序生成的可执行文件要大的多,但是可执行文件的运行速度比较快。
因此,电信人事管理信息系统采用的视本地代码的编译格式。
5.7.2打包应用程序
创建Visual Basic应用程序后,可以将创建的电信人事管理信息应用程序通过磁盘,关盘,网络等途径自由发布,一般来说,发布应用程序必须经过下面的两个步骤:
(1)、打包
必须将应用程序文件打包为一个或多个可以部署到选定位置的.cab文件(.cab文件是一种压缩文件),对于某些类型的软件包,还必须为其创建安装程序。
(2)、部署
必须将打包的应用程序放置到适当的位置,以便用户来安装应用程序。
可以使用两种工具来打包和发布应用程序。
打包和展开向导(Package and Deployment)
Visual Basic安装软件提供的安装工具包。
打包和展开向导通过提供有关如何配置.cab文件的选项,使发布应用程序所包含的许多步骤得以自动运行,这是用户一般所采用的方法。
使用打包和展开向导进行打包的第一个步骤就是选择一个工程,然后单击打包按钮,开始创建一个可以发布的应用程序。第三步,如果没有编译工程,打包和展开向导会要求编译工程。工程编译完成后,向导询问想制作什么类型的包,我们这里使用向导制作安装程序。当向导完成制作安装包以后,它会自动生成一个带有很多重要信息的报告。
5.7.3发布应用程序的步骤
将电信人事管理信息系统打包后,制作安装程序的过程并没有结束,必须将打包后的应用程序发布到一个媒体上,比如软盘,光盘等,发布电信人事管理信息系统的主要步骤如下:选择“电信人事管理信息系统”这个包,然后指定把这个包发布到rslz这个文件夹中,选择发布的媒体,就可以完成“电信人事管理信息系统”的发布工作了。
第六章 测试与分析
6.1测试环境
本次实例测试是在电信部门的工作现场中完成的。
测试所在硬件环境:
中央处理器 奔腾4处理器
内存:128M
硬盘:40G 转速7200转/分
光驱:CD-ROM 52X
显示器: 彩色 真彩32 分辨率 1024×768
标准键盘、标准光电鼠标
打印机:HP LaserJet 5100 PCL6
测试所在软件环境:
Windows XP Professional SP2
Microsoft office 2003
6.2测试方法
测试是一个为了寻找错误而运行程序的过程,一个好的测试用例是只可能找到迄今为止尚未发现错误的用例,一个成功的测试是揭示了迄今为止尚未发现的错误的测试。
软件测试基本可分为白盒测试和黑盒测试。两种测试方法从不同的角度出发,反映了软件的不同侧面,也适用于不同的开发环境。白盒测试又称结构测试、逻辑驱动测试或基于程序本身的测试,也可称为测试员测试,主要应用于结构化开发环境。黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,也可被称为用户测试,主要应用于快速应用开发(RAD)环境。
本例所用的是黑盒测试。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
6.3测试项目
表 6.1 测试项目表
序号 测试项目 内容和目的 测试结果
1 用户登录 输入正确帐号密码 可以登录
输入错误帐号密码 用户名不正确时显示“查无此人”;密码不正确时显示“密码不正确”。
2 用户管理 添加、删除、修改用户,并用新添加的用户登录。 操作顺利,新添加用户可以登录。
3 配置管理 添加、修改、删除部门名称及岗位名称 操作顺利,结果可以正常保存置数据库。
4 数据备份 备份现有数据库 数据库可以按照制定路径备份并保存。
5 数据恢复 恢复已备份数据库 恢复结果与原数据库相符。
6 系统初始化 进行初始化操作 初始化后数据为原是数据,且初始化后系统可正常运行。
7 增加员工 按照提示输入正确字段增加新员工 增加成功。
增加时输入错误字段 系统提示输入错误,并重新输入。
8 修改员工信息 对所选员工信息进行修改 可以修改并能提交保存
9 删除员工信息 删除指定信息 产出成功并能提交保存
10 查询员工信息 单条件查询,观察查询结果 结果正确,并可以打印到处
组合条件查询,观察查询结果 结果正确,并可以打印到处
11 档案打印 查看打印结果 正常
12 计发工资 随意选择一名员工进行工资计发操作 计发结果与实际相符
13 查询工资信息 单条件查询,观察查询结果 结果正确,并可以打印到处
组合条件查询,观察查询结果 结果正确,并可以打印到处
14 工资信息打印 查看打印结果 正常
15 增加培训信息 按照提示输入正确字段增加新培训信息 增加成功。
增加时输入错误字段 系统提示输入错误,并重新输入。
16 修改培训信息 对所选培训信息进行修改 可以修改并能提交保存
17 删除培训信息 删除指定信息 产出成功并能提交保存
18 查询培训信息 单条件查询,观察查询结果 结果正确,并可以打印到处
组合条件查询,观察查询结果 结果正确,并可以打印到处
19 职工履历打印 查看打印结果 正常
20 退出系统 进行推出系统操作 正常退出
6.4测试结果
从以上测试项目完成情况可以看出,基本达到了设计的要求,对设计中提出的功能都能顺利的实现。
第七章 结论
软件经过测试,运行效果良好。在处理档案增加、档案修改、档案删除、工资查询、打印档案等工作中表现突出,方便快捷,能使电信人事管理者能够更专注于最需要智慧和经验的工作,大大节约了时间,因而提高电信人事管理的质量和效率。达到了预期的目的,即:
1、时间经济性。系统运行效率高,反映速度快。
2、可靠性。能连续准确的处理业务,有较强的容错能力。
3、可理解性。用户容易理解和使用该系统。
4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
在设计上,达到了面向对象的目的,使系统更加人性化,易于操作。
在数据库上,ACCESS 2000数据库能够优秀的承担中小行数据库的运行要求,保证数据库的效率和安全性。
综合考虑整套系统,从底层数据库设计、应用平台设计,到程序的发布,都能符合软件设计规范,并且达到较优化的系统运行过程。
第八章 结束语
在软件的编写过程中,我充分体会了软件编程工作者的辛苦,因为每一个细微的细节都必须十分的注意,如果稍有不慎,就会全盘皆输,而且往往很多的时候,程序我自己觉得非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,是对意志品质的考验。
我的辛勤努力有了汇报,终于做出了一个完整的软件,虽然这个软件的功能并不算得上复杂,但在实际的运用中,已经发挥了他得价值,在人事工作中,已经将我工作得努力转化为生产力。这就像是精心栽培得果实成熟时心中得感受。他毕竟代表了我四个月辛勤的结晶。
相信,有了这次得实践,我会更有信心在将来得工作中做出更大成绩。
在本系统的设计过程和论文编写过程中,很多老师、同事和朋友都给与了我许多无私的帮助,尤其是我的导师给我的论文提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢。
致 谢
电信人事管理系统让给我获得继续深造学习的机会,我是这种教育方式的受益者之一。在匆匆三年的学习时间里,广播电视大学的每一位任课的老师以高度负责的专业态度,认真上好每一堂课的情景,给我留下难忘的印象。我学业的顺利完成,与他们辛勤工作是分不开的。在这次论文写作的规范化方面给了我很大的帮助和指点。借此机会,向他们和所有的任课老师说声谢谢!
特别要感谢的是我的毕业设计指导老师,他从毕业设计的选题、软件的编制与安装调试、毕业论文的写作等方面,逐一给予指导,不断给我信心和鼓励,使我能顺利圆满地完成了毕业设计,万分感谢!
最后,感谢曾给过我帮助的同窗二年的同学和在毕业设计过程中给我帮助的同事,愿他们心想事成。
参考文献
1、李群先,李耀伟,江学锋,乔晓林,国嘉.《Visual Basic 程序设计基础》.
人民邮电出版社. 2004.6
2、童爱红,侯太平.《Visual Basic数据库编程》.清华大学出版社. 2004.6
3、杜修平.《Visual Basic程序设计》.中国电力出版社..2004.5
4、黄明,梁旭.《Visual Basic 6.0信息系统设计与开发实例》.机械工业出版社.2004.4
5、朱顺泉,姜灵敏.《管理信息系统理论与实务(修订版)》.人民邮电出版社.2004.4
6、王兴晶.《Visual Basic 6.0应用编程150例》.电子工业出版社.2004.3
7、林卓然.《Visual Basic 程序设计教程》. 电子工业出版社.2004.2
8、郭琦.《Visual Basic数据库系统开发技术》.人民邮电出版社.2003.12
9、张晋连.《数据库原理及应用》.电子工业出版社.2004.7
10、苏选良.《数据库与管理信息系统实验教程》.电子工业出版社.2004.2
11、Charles PetZold, Programming Windows[M] 北京:机械工业出版社. 2004
附录:源代码
登陆界面 form12
Private Sub Form_Load()
Dim mname As String ‘ 定义变量 用于存放姓名变量
Dim pass As String ‘ 定义变量 用于存放存放变量
End Sub
Private Sub Command1_Click()
mname = Text1.Text ‘将界面的文本框的值赋给给姓名和密码变量
pass = Text2.Text
Dim mycn As New ADODB.Connection 定义ADO连接
Dim myrs As New ADODB.Recordset 定义ADO记录集
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
打开当前目录下的mang.mdb数据库
myrs.Open "SELECT * FROM [user] where (user.user)='" + mname + "';", mycn, adOpenKeyset, adLockOptimistic
通过SQL 语句打开符合姓名变量记录
If myrs.BOF = True And myrs.EOF = True Then 如果没找到
MsgBox "查无此人", , "登陆信息" 返回
Else
If myrs("pass") = pass Then 如果找到了则检查密码是否正确
''''''''''''''''''''''''''''''''''''''''''
FrmMain.Show 如果正确则打开主界面
Unload Me
'''''''''''''''''''''''''''''''''''''''''''''''''''
Else
MsgBox "密码不正确", , "登陆信息" 否则返回
End If
End If
End Sub
Private Sub Form_DblClick()
MsgBox "hello"
End Sub
主界面
Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
'声明API函数用于数据备份和恢复
Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Private Sub Form_Load()
Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 4000)
Me.Top = GetSetting(App.Title, "Settings", "MainTop", 4000)
Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
'定位界面
End Sub
Private Sub mnudayindangan_Click()
Form5.Show '打开界面
End Sub
Private Sub mnudayinlaozi_Click()
DataReport5.Show '打开报表
End Sub
Private Sub mnulaozijifa_Click()
Form7.Show '打开界面
End Sub
Private Sub mnupeizhi_Click()
Form3.Show '打开界面
End Sub
Private Sub mnutuichu_Click()
End '退出所有程序
End Sub
Private Sub mnudayinwanzheng_Click()
'应做:添加 'mnudayinwanzheng_Click' 代码。
MsgBox "添加 'mnudayinwanzheng_Click' 代码。"
End Sub
Private Sub mnudayinjiandan_Click()
'应做:添加 'mnudayinjiandan_Click' 代码。
MsgBox "添加 'mnudayinjiandan_Click' 代码。"
End Sub
Private Sub mnulaozichaxun_Click()
Form9.Show '打开界面
End Sub
Private Sub mnudanganchaxun_Click()
Form4.Show '打开界面
End Sub
Private Sub mnudanganshanchu_Click()
Form1.Command9.Visible = False
Form1.Command1.Visible = True
Form1.Show '打开界面
End Sub
Private Sub mnudanganxiugai_Click()
Form1.Show '打开界面
Form1.Command9.Visible = True
Form1.Command1.Visible = False
End Sub
Private Sub mnudanganzengjia_Click()
Form2.Show '显示增加窗口
End Sub
Private Sub munchushihua_Click()
Dim mycn As New ADODB.Connection '初始化
Dim myrs As New ADODB.Recordset
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
myrs.Open "delete FROM mang ;", mycn, adOpenKeyset, adLockOptimistic
myrs.Open "delete FROM zgjl ;", mycn, adOpenKeyset, adLockOptimistic
'通过SQL语言删除表中所有记录
End Sub
Private Sub mundayinlvlibiao_Click()
DataReport6.Show '打开报表
End Sub
Private Sub munpeixunchaxun_Click()
Form13.Show '打开界面
End Sub
Private Sub munpeixundel_Click()
Form14.Show '打开界面
Form14.Command9.Visible = False
Form14.Command1.Visible = True
End Sub
Private Sub munpeixunluru_Click()
Form11.Show '显示增加窗口
End Sub
Private Sub munpeixunshanchu_Click()
Form11.Show '打开界面
Form11.Command1.Visible = True
Form11.Command1.Caption = "删除"
End Sub
Private Sub munpeixunxiugai_Click()
Form11.Show '打开界面
'显示command9按键,并将CAPTION属性定义为"修改"
Form11.Command1.Visible = True
Form11.Command1.Caption = "修改"
End Sub
Private Sub munpeixunmodi_Click()
Form14.Show '打开界面
Form14.Command9.Visible = True
Form14.Command1.Visible = False
End Sub
Private Sub munshujubeifen_Click()
ss = App.Path & "\mang.mdb"
ss2 = App.Path & "\mang_bk.mdb"
DeleteFile ss2
'定义备份文件的位置,使用了相对目录
MsgBox "原数据库:" & ss & "备份的数据库将保存在:" & ss2
CopyFile ss, ss2, 1 '备份文件
End Sub
Private Sub munshujuhf_Click()
ss = App.Path & "\mang.mdb"
ss2 = App.Path & "\mang_bk.mdb"
DeleteFile ss
'定义恢复文件的位置,使用了相对目录
MsgBox "将删除原数据库,位置 :" & ss
MsgBox "备份的数据库在 :" & ss2 & " 恢复成原数据库位置 :" & ss
CopyFile ss2, ss, 1
'恢复文件
End Sub
Private Sub munyonghu_Click()
Form10.Show '打开界面
End Sub
1、form2.frm 添加员工清单
Private Sub Command1_Click()
Unload Form2 '关闭增加窗口
End Sub
Private Sub Command2_Click()
On Error Resume Next
Adodc1.Recordset.AddNew '添加
End Sub
Private Sub Command3_Click()
On Error Resume Next
Adodc1.Recordset.Delete '删除
End Sub
Private Sub Command4_Click()
'对第一个栏目(员工编号)进行判断
On Error Resume Next
Dim m
m = 0
If Len(Text1.Text) = 0 Then '判断第一个栏目框是否为空
MsgBox "员工编号不能为空!", vbOKOnly, "提示"
Text1.SetFocus '将焦点放在第一个栏目框中
Else '判断第一个栏目中是否有非字母和数字
For i = 1 To Len(Text1.Text) '从第一个字符开始,将每个字符依次取出判断
letter$ = Mid(Text1.Text, i, 1)
If Asc(letter) < 48 Or (Asc(letter) > 57 And _
Asc(letter) < 65) Or Asc(letter) > 122 Then
m = m + 1
End If
Next i
If m <> 0 Then
MsgBox "员工编号只允许包含字母和数字!", vbOKOnly, "提示"
Text1.SetFocus '将焦点放在第一个栏目框中
Else
On Error Resume Next
Adodc1.Recordset.Update '添加数据
Adodc1.Refresh '刷新数据库,以便在DBGRID1中显示最新数据
Unload Form2 '关闭窗体
End If
End If
End Sub
Private Sub Form_Activate()
If Text3.Text = "" Then
Text3.Text = "1990-01-01" '控件初始化
End If
If Text5.Text = "" Then
Text5.Text = "1990-01-01"
End If
If Combo1.Text = "" Then
Combo1.Text = "男"
End If
If Combo4.Text = "" Then
Combo4.Text = "大专"
End If
End Sub
Private Sub Form_Load()
Combo1.AddItem "男", 0 'Combo1控件初始化
Combo1.AddItem "女", 1
Combo4.AddItem "小学", 0
Combo4.AddItem "初中", 1
Combo4.AddItem "高中", 2
Combo4.AddItem "大专", 3
Combo4.AddItem "本科", 4
Combo4.AddItem "硕士", 5
Combo4.AddItem "博士", 6
Combo4.AddItem "博士后", 7
End Sub
2、form1.frm 删除和修改员工信息
Private Sub Command1_Click()
On Error Resume Next
Adodc1.Recordset.Delete '删除记录
End Sub
Private Sub Command10_Click()
Unload Form1
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.Update '添加记录
DataGrid1.AllowUpdate = False '锁定
End Sub
Private Sub Command9_Click()
On Error Resume Next
DataGrid1.AllowUpdate = True '解除锁定
End Sub
3、form3.frm 查询员工信息
Private Sub Command1_Click()
mycx = Text2.Text '定义变量
Form8.Show '打开详细信息界面
Form8.Adodc1.RecordSource = "select * from mang where 员工编号='" + mycx + "'"
'在详细信息界面通过SQL语句查询获得符合条件的记录
Form8.Adodc1.Refresh
'刷新记录并显示
End Sub
Private Sub Command10_Click()
ss5 = DataCombo1.Text '定义变量
ss6 = DataCombo2.Text
Adodc1.RecordSource = "SELECT * FROM mang where 所在部门 = '" + ss5 + "' And 岗位名称='" + ss6 + "' "
'通过SQL语句查询
Adodc1.Refresh '刷新记录并显示
End Sub
Private Sub Command11_Click()
ss7 = Text8.Text
ss8 = Text4.Text '定义变量
Adodc1.RecordSource = "SELECT * FROM mang where 所学专业 = '" + ss7 + "' And 毕业学校='" + ss8 + "' "
Adodc1.Refresh '刷新记录并显示
End Sub
Private Sub Command12_Click()
ss = "#" & Text3.Text & "#" '定义变量
ss2 = "#" & Text6.Text & "#"
Adodc1.RecordSource = "SELECT * FROM mang where 出生日期 Between " + ss + " And " + ss2 + " "
'通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command13_Click()
ss3 = "#" & Text5.Text & "#" '定义变量
ss4 = "#" & Text7.Text & "#"
Adodc1.RecordSource = "SELECT * FROM mang where 到岗时间 Between " + ss3 + " And " + ss4 + " "
'通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command14_Click()
Adodc1.RecordSource = "select * From mang " '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Dim mycn As New ADODB.Connection '定义连接
Dim myrs As New ADODB.Recordset '定义记录集
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
myrs.Open "delete from query", mycn '删除原查询表的记录
myrs.Open "INSERT INTO query " & Adodc1.RecordSource, mycn, adOpenKeyset, adLockOptimistic
'将查询过的记录放在query表
Form6.Show
End Sub
Private Sub Command5_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 员工编号='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command6_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 所在部门='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command7_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 岗位名称='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command8_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 最高学历='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command9_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 性别='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
4、form3.frm 配置表
Private Sub Command1_Click()
Adodc1.Recordset.AddNew ' 添加
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.Delete ' 删除
End Sub
Private Sub Command3_Click()
Adodc1.Refresh ' 刷新
End Sub
Private Sub Command4_Click()
Adodc1.Refresh ' 刷新
End Sub
Private Sub Command5_Click()
Adodc1.Recordset.AddNew ' 添加
End Sub
Private Sub Command6_Click()
Adodc1.Recordset.Delete ' 删除
End Sub
5、form7.frm 记发工资
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click()
On Error Resume Next
Adodc1.Recordset.Update '添加数据
Adodc1.Refresh
Unload Form7 '关闭窗体
End Sub
Private Sub Command3_Click()
'计算稅前小计
Text15 = Val(Text12) + Val(Text4) + Val(Text5) + Val(Text11) + Val(Text7) - Val(Text13) - Val(Text6) - Val(Text14)
'计算所得税
Text15 = Val(Text15) - 800
If Val(Text15) <= 0 Then
Text8 = 0
ElseIf Val(Text15) > 0 And Val(Text15) <= 500 Then
Text8 = Val(Text15) * 0.05
ElseIf Val(Text15) > 500 And Val(Text15) <= 2000 Then
Text8 = Val(Text15) * 0.1 - 25
ElseIf Val(Text15) > 2000 And Val(Text15) <= 5000 Then
Text8 = Val(Text15) * 0.15 - 125
ElseIf Val(Text15) > 5000 And Val(Text15) <= 20000 Then
Text8 = Val(Text15) * 0.2 - 375
End If
'计算实得工资
Text10 = Val(Text15) + 800 - Val(Text8)
End Sub
6、form5.frm 查询工资信息
Private Sub Command1_Click()
mycx = Text2.Text '定义变量
Form8.Show '打开详细信息界面
Form8.Adodc1.RecordSource = "select * from mang where 员工编号='" + mycx + "'"
'在详细信息界面通过SQL语句查询获得符合条件的记录
Form8.Adodc1.Refresh
'刷新记录并显示
End Sub
Private Sub Command10_Click()
ss5 = DataCombo1.Text '定义变量
ss6 = DataCombo2.Text
Adodc1.RecordSource = "SELECT * FROM mang where 所在部门 = '" + ss5 + "' And 岗位名称='" + ss6 + "' "
'通过SQL语句查询
Adodc1.Refresh '刷新记录并显示
End Sub
Private Sub Command11_Click()
ss7 = Text8.Text
ss8 = Text4.Text '定义变量
Adodc1.RecordSource = "SELECT * FROM mang where 所学专业 = '" + ss7 + "' And 毕业学校='" + ss8 + "' "
Adodc1.Refresh '刷新记录并显示
End Sub
Private Sub Command12_Click()
ss = "#" & Text3.Text & "#" '定义变量
ss2 = "#" & Text6.Text & "#"
Adodc1.RecordSource = "SELECT * FROM mang where 出生日期 Between " + ss + " And " + ss2 + " "
'通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command13_Click()
ss3 = "#" & Text5.Text & "#" '定义变量
ss4 = "#" & Text7.Text & "#"
Adodc1.RecordSource = "SELECT * FROM mang where 到岗时间 Between " + ss3 + " And " + ss4 + " "
'通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command14_Click()
Adodc1.RecordSource = "select * From mang " '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Dim mycn As New ADODB.Connection '定义连接
Dim myrs As New ADODB.Recordset '定义记录集
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
myrs.Open "delete from query", mycn '删除原查询表的记录
myrs.Open "INSERT INTO query " & Adodc1.RecordSource, mycn, adOpenKeyset, adLockOptimistic
'将查询过的记录放在query表
Form6.Show
End Sub
Private Sub Command5_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 员工编号='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command6_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 所在部门='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command7_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 岗位名称='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command8_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 最高学历='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command9_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 性别='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
7、form5.frm 打印人事信息
Private Sub Command1_Click()
DataReport1.Show
End Sub
Private Sub Command2_Click()
DataReport2.Show
End Sub
Private Sub Command3_Click()
Unload Form5
End Sub
8、form6.frm 打印查询信息
Private Sub Command1_Click()
DataReport3.Show
End Sub
Private Sub Command2_Click()
DataReport4.Show
End Sub
Private Sub Command3_Click()
Unload Form6
End Sub
9、form11.frm 培训信息
Private Sub Command1_Click()
On Error Resume Next
Adodc1.Recordset.Save '保存记录
Unload Me
End Sub
Private Sub Command3_Click()
End Sub
Private Sub Form_Load()
Adodc1.Recordset.AddNew '添加记录
End Sub
10、form14.frm 修改,删除培训信息
Private Sub Command1_Click()
On Error Resume Next
Adodc1.Recordset.Delete '删除记录
End Sub
Private Sub Command10_Click()
Unload Form1
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.Update '添加记录
DataGrid1.AllowUpdate = False '锁定
End Sub
Private Sub Command9_Click()
On Error Resume Next
DataGrid1.AllowUpdate = True '解除锁定
End Sub
11、form13.frm 查询培训信息
Private Sub Command1_Click()
mycx = Text2.Text '定义变量
Form8.Show '打开详细信息界面
Form8.Adodc1.RecordSource = "select * from mang where 员工编号='" + mycx + "'"
'在详细信息界面通过SQL语句查询获得符合条件的记录
Form8.Adodc1.Refresh
'刷新记录并显示
End Sub
Private Sub Command10_Click()
ss5 = DataCombo1.Text '定义变量
ss6 = DataCombo2.Text
Adodc1.RecordSource = "SELECT * FROM mang where 所在部门 = '" + ss5 + "' And 岗位名称='" + ss6 + "' "
'通过SQL语句查询
Adodc1.Refresh '刷新记录并显示
End Sub
Private Sub Command11_Click()
ss7 = Text8.Text
ss8 = Text4.Text '定义变量
Adodc1.RecordSource = "SELECT * FROM mang where 所学专业 = '" + ss7 + "' And 毕业学校='" + ss8 + "' "
Adodc1.Refresh '刷新记录并显示
End Sub
Private Sub Command12_Click()
ss = "#" & Text3.Text & "#" '定义变量
ss2 = "#" & Text6.Text & "#"
Adodc1.RecordSource = "SELECT * FROM mang where 出生日期 Between " + ss + " And " + ss2 + " "
'通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command13_Click()
ss3 = "#" & Text5.Text & "#" '定义变量
ss4 = "#" & Text7.Text & "#"
Adodc1.RecordSource = "SELECT * FROM mang where 到岗时间 Between " + ss3 + " And " + ss4 + " "
'通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command14_Click()
Adodc1.RecordSource = "select * From mang " '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Dim mycn As New ADODB.Connection '定义连接
Dim myrs As New ADODB.Recordset '定义记录集
Set myrs = New ADODB.Recordset
mycn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mang.mdb;"
myrs.Open "delete from query", mycn '删除原查询表的记录
myrs.Open "INSERT INTO query " & Adodc1.RecordSource, mycn, adOpenKeyset, adLockOptimistic
'将查询过的记录放在query表
Form6.Show
End Sub
Private Sub Command5_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 员工编号='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command6_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 所在部门='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command7_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 岗位名称='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command8_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 最高学历='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
Private Sub Command9_Click()
mystr = Text1.Text '定义变量
Adodc1.RecordSource = "select * From mang where 性别='" + mystr + "'" '通过SQL语句查询
Adodc1.Refresh
End Sub
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
