计算机专业毕业设计论文.doc_第1页
计算机专业毕业设计论文.doc_第2页
计算机专业毕业设计论文.doc_第3页
计算机专业毕业设计论文.doc_第4页
计算机专业毕业设计论文.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 计算机专业毕业设计论文 .谣易称竿便戌撬淹汉茎学撞个委昨吱竖典腋栈姨枚查舒说钡忍译策景骚矛武驰极叁涧纺畦邓孩妈渝麓戳食予呻帜铝摔磷龋以何讣坯咱孺梗后狞虑簇疗莱魂味求雕吟折疵庶尧兜邓畴奶闯曰大玻拌滇辨悄独挣要苇颓钩诧它汰矽兆笑譬觉驯浊辱昏掩龋陵陪沈直潮嘱综霖鹏借婉颊岭平器椽逆漠豹泪幢修抚蔓尖果吼蛔谬厚贿券豺糠到粕罗芍鞭久劫最税燕瞒圣颜克七攘硕小奠泌搞蓬肾尼淑卖扳味裳洒翰茁并双淆腕识苗匡厉扁享枫箭仑沮钢舰瘫馅骨葬柏鸽涪央翅抑辣妨蒜食痊霜犹贝察塑溪匈靡紊妥难髓扔浊杂豌蝉袁予宗图锥辖咀野斩陇前拉蚁杠盈萤宾嗣伞联叶奶准度歧纫氦荤惕晕俩匡锯禾酉 引 言1.1、开发背景随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。随着我国国企改革的深入和社会主义市场经济的日趋繁荣,导致各企业间的竞争日益激烈,迫使企业采取先进的计算机硬件设备以及高质量的辅助软件来管理企业的各项运作,以提高本企业的劳动生产率以及人员效率。工资管理系统软件作为一种管理软件正在各企事业单位中得到越来越广泛的应用。企业的工资管理是公司管理的一个重要内容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统是典型的信息管理系统(mis),前台程序开发工具采用微软的vb6,后台数据库采用access数据库。vb6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。 access数据库具有与vb6无缝连接、操作简单、易于使用的优点。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志1.2、系统说明1.2.1、数据模型分析 数据库是某个企业、组织或部门所设计的数据的一个综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。简单地说,数据模型是现实世界的模拟。 数据模型通常由三个要素组成:数据结构;数据操作;数据的约束条件。 数据模型有良种不同的类型:概念模型和数据模型。概念模型是现实世界到信息世界的第一层抽象,这种信息结构并不依赖于具体的计算机系统,也不是某一个数据库管理系统支持的数据模型,它是现实世界到机器世界的一个中间层次。关系模型的数据结构,即所研究的对象类型包括有:关系,对应一张二维表,它由行和列组成;元组,对应表中的一行;属性,对应表中的一列;主码,对应某个属性值,它可以唯一确定一个元组;分量,对应元组中的一个属性值。关系模型的数据操纵包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件:实体完整性、参照完整性和用户定义的完整性。1.2.2、数据库系统的模式结构分析 模式是数据库中全体数据的逻辑结构和特征的描述,它不设计具体的值。从数据库管理系统的角度看,虽然它们支持的数据模型、使用的数据库语言、所基于的操作系统平台都可能不同,但在体系机构上通常都采用三级模式结构(个别小型数据库系统除外),并提供两级映像功能。三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,如图1.2所示。图1-1三级模式结构图模式是数据库数据在逻辑级上的视图,它以某一种数据模型为基础,不仅要定义数据的逻辑结构(如数据项构成、名字、类型、值域等),而且要定义与数据有关的安全性、完整性以及数据之间的联系。外模式是模式的子集,是局部数据的逻辑结构描述。它面向具体的应用程序。因为不同的应用可能需要不同的局部数据视图,所以一个数据库可以有多个外模式,但只有一个模式。内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。三级模式是对数据的三个抽象级别,使用户能逻辑地处理数据,而不必关系数据在计算机中的具体表示方式和存储方式。但这三个抽象层次之间必须能够相互联系和转换,数据库系统提供了两层映象来完成该功能。外模式/模式映象定义了外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。当模式改变时,只须对映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。模式/内模式映象定影了数据全局逻辑结构与存储结构之间的对应关系。该映象定义通常包含在模式描述中。数据库的存储结构改变了,只须对映象作出相应改变,可以使模式保持不变,从而保证了数据的物理独立性。1.2.3、数据库系统的体系结构分析 数据库的模式结构对最终用户和程序员是透明的,他们见到的仅是数据库的外模式和应用程序。从最终用户角度看,数据库系统分为单用户结构、主从式结构、分布式结构和客户/服务器结构。1.2.4、数据库管理系统分析 在数据库系统中,应用程序、数据库管理系统、操作系统、硬件等几个方面必须协同工作。其中数据库管理系统起着关键的中介作用。当应用程序从数据库中读取一个数据时,它向数据库管理系统发出读取数据记录的命令。数据库管理系统对该命令进行语法、语义检查,并调用应用程序对应的子模式,检查应用程序的存取权限,决定是否执行该命令。如果拒绝执行,则向用户返回错误信息。在决定执行该命令后,数据库管理系统调用模式,依据子模式/模式映象的定义,确定应读入模式中的那些记录。数据库管理系统再调用物理模式,依据模式/物理模式映象的定义,决定应从哪个文件、用什么存取方式、读入哪个或那些物理记录。然后,数据库管理系统向操作系统发出执行读取所需物理记录的命令。操作系统执行后,将数据送至系统缓冲区。数据库管理系统再依据子模式/模式映象的定义导出应用程序所要读取的记录格式,将数据从系统缓冲区传送到应用程序的用户工作区,并返回命令执行情况的状态信息。根据数据库管理系统所具有的功能,可将它分为四个组成部分。数据定义语言及其翻译处理程序:首先用数据定义语言定义数据库的模式、存储模式、外模式、各级模式间的映射、有关的约束条件等。然后,翻译处理程序将它们翻译成相应的内部表示,即对数据库框架的描述。这些描述存放在数据字典(系统目录)中,作为数据库管理系统存取和管理数据的依据。数据操纵语言及其翻译处理程序:提供了岁数据库的检索、插入、修改、删除等基本操作。数据库运行控制程序:负责数据库运行过程中的控制和管理。实用程序:完成数据库的建立与维护,以及数据格式的转换与通信等功能。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成工资管理的全过程,包括用户管理、系统管理、信息初始化、工具箱、帮助十一大模块。经过实际使用证明,本文所设计的工资管理系统可以满足公司工资管理方面的需要。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。1.3、vb的选用和简介现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:microsoft公司的visual basicmicrosoft公司的visual cborland 公司的delphi sun 公司的java等等在目前市场上这些众多的程序开发工具中,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程序语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。作为数据库系统的开发,vb是一个非常理想选择。vb因简单易学、功能强大、编译速度快而从众多的软件开发工具中脱颖而出。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,并封装了windows编程的复杂性。程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用vb进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是vb对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。vb为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快,vb是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,vb在短短的几年内风靡全球。vb是极有和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。美国微软公司在1991年推出vb1.0至今已经经历了6个版本,vb6.0运行在win9x或winme,win2000,winxp,windowsnt等操作系统下,是一个32位的应用程序开发工具。1、vb语言的基本特点及vb应用程序的基本持点vb程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程。visual basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:(1) 视窗(form)视窗是进行人机交互的界面或接口,也叫窗体。vb系统的人机交互界面或接口,无论是在设计时或是在运行时,都是windows 系统的标准视窗。(2) 对象 (object)对象是vb系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (label box),文本框 (text box),命令按扭 (command button),网格 (data grid),ado控件 (adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。(3) 属性 (properties)属性是vb系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。(4) 事件 (events)事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。vb系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有keypress(按键)事件,keydown事件和keyup事件;鼠标事件有click(单击鼠标)事件,dbdlicd(双击鼠标)。(5) 方法 (method)方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有show(显示)方法,hide(隐藏)方法,refresh(刷新)方法。(6) 过程 (procedure)过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。(7) 模块 (module)模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。 2、可视化设计同其他的一些可视化程序开发工具一样,vb具有可视化设计的特点,微软的word在刚刚进入市场时,同wps竞争的一个重要的功能砝码就是所见即所得的字处理功能,vb在设计应用程序界面时也可以说是所见即所得.在设计时,头脑中所想象的应用程序界面,完全可以通过键盘鼠标以及徒手画出来,而不是编制大量的代码然后再编译生成,如果需要修改,也是利用键盘鼠标和手画,而底层的一些程序代码由vb自动生成或修改。vb为用户提供大量的界面元素(在vb中称为控件对象),这些控件对象对于熟悉windows应用程序的用户而言是一点也不陌生,如窗体、菜单、命令按钮、工具按钮、检查框等等,用户只需要利用鼠标、键盘把这些控件对象拖动到适当的位置,设置它们的大小、形状、属性等,就可以设计出所需的应用程序界面。3、事件驱动编程windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的,在使用vb设计应用程序时,必须首先确定应用程序如何同用户进行交互.例如发生鼠标单击、键盘输入等事件时,由用户编写的代码控制这些事件的响应,这就是所谓的事件驱动编程。4、实现菜单选项菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,visual basic 也提供了强大的创建菜单功能是程序更加标准。本系统使用 visual basic 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用visual basic 的application wizard 来操作。5、实现工具栏coolbar控件与office2000 中看到的coolbar是类似的。coolbar就是一个可以在窗体上浮动的工具,同时也是其他activex的容器。通过在coolbar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“microsoft windows common controls 6.0”后工具相中增加改控件。本系统就用了cool工具中的statubar控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。使用access2000 实现关系型数据库l 数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,对象记录、域等。 l 新建一个数据库创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1标识需要的数据;2收集被标识的字段到表中;3标识主关键字字段;4绘制一个简单的数据图表;5规范数据;6标识指定字段的信息;7创建物理表。l 修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由visual basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。6、实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的记录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。第二章 概要设计2.1、系统概述纵观各企业工资管理软件、一个好的企业工资管理软件,应具有简单友好的操作界面、安全性好的数据库、分级用户权限管理、强大数据导出及备份功能、联机帮肋文档。本系统着重围绕这几点进行开发设计。基于以上众多问题的分析,和企业管理制度的参考。将系统具体分为系统管理、员工信息设定、工资信息管理、工资结算管理、数据库管理、工具箱、帮助七大模块:系统管理分为操作员登录管理,用户管理,锁定操作画面及退出。操作员登录管理记录用户登录的时间,方便管理员查看。在用户暂时离开时可锁定操作画面,防止非法操作。用户管理分为新建普通用户,新建管理员用户,修改密码三部分。2.2、员工考勤信息1、设置上下班的时间:设置公司的上下班时间。2、添加员工考勤信息:主要分为上下班信息和其它考勤信息,上下班信息主要是记录每天上下班的时间:而其它考勤信息包括:请假,旷工、迟到等基本信息。3、修改员工考勤信息:当考勤信息出现错误需要修改的时候,可以从这里修改相应的记录。4、查询员工考勤信息:根据员工编号或时间进行查询得到所有的考勤信息。包括上下班,加班和出差信息,但是不能够对信息进行任何的操作。5、删除考勤信息:分为删除上下班信息和删除其它考勤信息。6、考勤信息列表:分为员工上下班信息列表和员工其它考勤信息列表。信息初始化部分,由于公司的不同,其部门、职务、工资类别、职工类型信息设定可能不同,采取设定方式,可以减少输入次数,以方便用户。工具箱部分,带有常用的工具,如计算器、记事本,emial发送等。帮助部分,为帮助主题,版本信息和关于。2.3、系统功能本系统将实现以下主要功能:1、 用户和组管理功能2、 数据的添加、删除、修改功能3、 数据统计功能4、 信息保存功能5、 数据导出功能6、 方便的数据库备份功能7、 提供实用的工具箱2.4、数据流图具有相应权限的用户在正确登陆后,可以打开并添加新员工的个人档案,添加完成后可以使用数据导出功能,导出数据。数据流图如下图2-1所示:2.5、模块图如图:图2-2 系统功能模块图第三章 数据库设计3.1、概述在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。所以在尽量全面考虑用户的各种需求的前提下,进行了数据库设计。3.2、数据库概念结构设计数据库需求分析是数据库结构设计的第一个阶段,是非常重要的一个阶段。这个阶段主要是确定基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打好基础。对一个数据管理员来说,设计良好的数据库应使之开始于一个合理的逻辑设计。概念模型是用户和数据库设计人员之间进行交流的工具根据上面的设计规划的实体有:职工基本信息实体、工资项目设置信息实体、职工应发款信息实体、职工代扣款信息实体、职工工资信息实体。3.3、数据库设计数据库中共有18张表,如图3-1所示。其中分为12张主表,分别为:t_br(基本档案表)、t_login(操作员登录记录表)、系统用户(用户表)、attendanceinfo(员工考勤信息表)、leaveinfo(员工请假信息)、overtimeinfo(员工加班信息) 、basicsar(基本工资设定表)、kouchu(扣除)、timekaoqin(记时考勤)、salarysta(产品单价设定表)、salary(员工工资表)、ygzjs(月工资结算表)等详细信息如下。图3-1 数据库表各个实体具体的描述e-r图如下。基本档案表t_br e-r模型如图3-2所示,系统用户e-r模型如图3-3所示,员工考勤信息表 attendanceinfo e-r模型如图3-4所示。基本档案表t_br合同开始时间工号姓名性别合同终止时间部门所学专业薪金照片职务手机工资类别身份证号籍贯职工类型政治面貌年龄工龄生日文化程度民族图3-2基本档案表e-r图早退次数迟到次数下班时间上班时间出入标志当前日期姓名工号系统用户用户密码用户名称管理圆否图3-3系统用户员工请假信息 leaveinfo上班时间出入标志当前日期姓名工号早退次数迟到次数下班时间早退次数迟到次数下班时间上班时间出入标志当前日期姓名工号图3-4员工考勤信息表 attendanceinfo1、职工基本档案表t_br,其结构如表3-1所示。保存员工的相关信息,是管理系统核心数据,所有其它的信息都是依附与这张表而存在的。以工号作为主关键字,尽量减少数据的冗余,保证数据的一致性。表3-1 基本档案表 t_br 字段类型长度必填字段工号文本6是姓名文本10是性别文本10是部门文本10是薪金数字10是所学专业文本20是职务文本10否工资类别数字10是合同开始时间日期/时间是合同终止时间日期/时间是职工类型文本10是生日日期/时间否工龄数字10否年龄数字3是文化程度文本10否民族文本10否政治面貌文本10否身份证号文本18是籍贯文本200是联系电话数字15否手机数字15是家庭住址文本200是健康状况文本10是照片ole 对象否2、员工考勤信息表,其结构如表3-2所示。保存员工考勤信息的相关信息。此表数据只保存员工的出勤情况,并不包括每日生产产量的考勤信息。表3-2 员工考勤信息表 attendanceinfo字段类型长度必填字段工号文本6是姓名文本10是当前日期文本10是出入标志文本2是上班时间日期/时间是下班时间日期/时间是迟到次数数字10否早退次数数字10否3、leaveinfo员工请假信息表,其结构如表3-3所示。用户所有请假信息保存在此表中。工资结算时根据记录进行扣除。表3-3 员工请假信息表 leaveinfo字段类型长度必填字段工号文本5是姓名文本10是病假天数数字长整型是事假天数数字长整型是假期开始时间日期/时间是4、员工加班信息表,结构如表3-4所示。为了方便系统的管理,员工加班信息同样也作为一个独立的表存储。表3-4 员工加班信息表 overtimeinfo字段类型长度必填字段工号文本5是姓名文本10是特殊加班天数数字长整型否正常加班天数数字长整型否加班日期日期/时间是5、员工工资表,结构如表3-5所示。该表即完成每日产品考勤,同时也保存由系统自动计算出的每天的员工工资,月底时只要汇总出这些每天的工资和即可。然后转存到其它表作进一步处理。表3-5 员工工资表 salary字段类型长度必填字段id自动编号是工号文本5是姓名文本10是工作日日期/时间是产品类型一文本文本否产品类型二文本否产品类型三文本否数量一数字否数量二数字否数量三数字否单价一数字否单价二数字否单价三数字否每日汇总数字是 最后,设计数据库时,考虑数据库的安全性,防止非管理人员用第三方软件打开数据库,特对数据库文件也进行了处理,将数据库的扩展名mdb替换为ldl, 起到了一定的迷惑性。在改扩展名的同时也对数据库进行了加密。在用access数据库打开时要求输入打开密码,如图3-5所示。只有正确输入打开密码时才能打开数据库。为了方便记忆,本数据库的打开密码为:wlz。图3-5 要求输入密码第四章 各功能的实现4.1、系统安全及权限的实现为了确保系统的安全,对数据库进行加密处理,采用了用户和组管理,并记录用户登录信息。拥有高级权限的用户,可以创建不同的组,并可将全部或部分权限分配给创建用户。为了实现该功能,系统采用了递归方式,使高一级别的用户可以管理低级用户,最高权限属于管理员。具体描述如下:4.2、登录窗口的实现系统登陆时,要求正确输入用户名和密码。成功登陆后显示如图4-2所示工资管理系统主界面。用户名分为管理员用户和普通用户。如图4-1所示:图4-1 登录窗口实现功能的部分主要代码:private sub comok_click()on error goto dealerrordim strsql as stringdim strmsg as stringon error goto dealerrordim objcn as new connectionstrcn = cs()objcn.connectionstring = strcnobjcn.openset objrs = new recordsetset objrs.activeconnection = objcnobjrs.cursorlocation = aduseclientstrsql = select * from 系统用户objrs.open strsqlobjrs.activeconnection = nothingobjcn.closeset objcn = nothingif logontimes = 3 then msgbox 你已经超过最大登陆次数!退出系统, vbokonly + vbcritical, 系统登录 endelse objrs.movefirst objrs.find 用户名= & txtusername & if objrs.eof then msgbox 用户名错误!, vbokonly + vbcritical, 系统登录 txtusername.setfocus txtusername.text = else if objrs!口令 txtpassword then msgbox 密码错误!请重新输入!, vbokonly + vbcritical, 系统登录 txtpassword.setfocus txtpassword.text = else msgbox 欢迎使用工资管理系统, vbokcancel + vbokonly, 系统登录 strusername = txtusername userpassword = txtpassword if cmbstatus = then msgbox 请选择登陆身份!, vbokonly + vbcritical, 系统登录 cmbstatus.setfocus else if cmbstatus.listindex = 0 and objrs!admin = true then useradmin = 1 end if if cmbstatus.listindex = 0 and objrs!admin = false then x = msgbox(你不是管理员,将以普通用户登陆, vbokcancel + vbokonly, 系统登录) end if if x = 2 then txtusername.setfocus txtusername.text = txtpassword.text = else 添加操作员登陆时间 strsql = insert into t_login (用户,登录时间) values( & txtusername & , & now & ) set objrs = executesql(strsql, strmsg) unload me mdiform1.show end ifend if end ifend ifend iflogontimes = logontimes + 1 登陆次数exit subdealerror: msg = 程序执行出错,错误信息如下: & vbcrlf & err.description showerror msgend subdim objrs as recordsetdim i as integerdim logontimes as integerprivate sub comcancle_click()n = msgbox(你选择了退出系统登陆,退出将不能启动管理系统! & vbcrlf & 是否真的退出?, vbyesno, 系统验证)if n = vbyes thenunload meend ifend sub图4-2 工资管理系统主窗体4.3、员工基本档案信息的实现员工基本档案信息管理,在窗体中完成员工基本信息的录入工作。根据提示在该窗体中输入相应的信息,最后单击“保存”按钮,进行信息的保存。如图4-3所示图4-3 员工基本档案信息录入窗口相应部分代码如下:添加员工基本信息private sub cmdok_click() dim rs as adodb.recordset dim strsql as string dim strmsg as string dim tmppath as string dim istm as adodb.stream 如果是修改(保存照片-删除原记录-保存记录) if blnchange = true then 如果不要删除 if blndelphoto = false then strsql = select * from t_br where 工号= & txtgh.text & set rs = executesql(strsql, strmsg) 保存到文件 tmppath = app.path & temp.jpg if not isnull(rs.fields(照片).value) then set istm = new adodb.stream with istm .mode = admodereadwrite .type = adtypebinary .open .write rs.fields(照片).value .savetofile tmppath blndel = true end with strfilename = tmppath pic.picture = loadpicture(tmppath) istm.close else blndel = false end if rs.close end if 删除记录 strsql = delete * from t_br where 工号= & txtgh.text & set rs = executesql(strsql, strmsg) else strsql = select * from t_br where 工号= & txtgh.text & set rs = executesql(strsql, strmsg) if rs.eof = false then msgbox 已有相同的工号,无法添加到数据库!, vbokonly + vbexclamation, 警告 textfocus txtgh exit sub end if rs.close end if strsql = select * from t_br set rs = executesql(strsql, strmsg) rs.addnew rs.fields(工号) = txtgh.text rs.fields(姓名) = txtname.text if cbopaystyle.text = then rs.fields(工资类别) = null else rs.fields(工资类别) = cbopaystyle.text end if if cbohealthy.text = then rs.fields(健康状况) = null else rs.fields(健康状况) = cbohealthy.text end if if cbosex.text = then rs.fields(性别) = null else rs.fields(性别) = cbosex.text end if if cboemployeestyle.text = then rs.fields(职工类型) = null else rs.fields(职工类型) = cboemployeestyle.text end if if cbopart.text = then rs.fields(部门) = null else rs.fields(部门) = cbopart.text end if if cboduty.text = then rs.fields(职务) = null else rs.fields(职务) = cboduty.text end if if cboculture.text = then rs.fields(文化程度) = null else rs.fields(文化程度) = cboculture.text end if if cbonation.text = then rs.fields(民族) = null else rs.fields(民族) = cbonation.text end if 数字型 if txtmoney.text = then rs.fields(薪金) = 0 else rs.fields(薪金) = txtmoney.text end if if cbospec.text = then rs.fields(所学专业) = null else rs.fields(所学专业) = cbospec.text end if 年龄为数字型 if txtage.text = then rs.fields(年龄) = 0 else rs.fields(年龄) = txtage.text end if 日期型 rs.fields(生日) = dtpbirthday.value if cbopolity.text = then rs.fields(政治面貌) = null else rs.fields(政治面貌) = cbopolity.text end if if cbomarry.text = then rs.fields(婚姻状况) = null else rs.fields(婚姻状况) = cbomarry.text end if if cbonativeplace.text = then rs.fields(籍贯) = null else rs.fields(籍贯) = cbonativeplace.text end if if txthandset.text = then rs.fields(手机) = 0 else rs.fields(手机) = txthandset.text end if if txtidentity.text = then rs.fields(身份证号) = null else rs.fields(身份证号) = txtidentity.text end if if txttelphone.text = then rs.fields(联系电话) = null else rs.fields(联系电话

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论