JSJ06-348@VB银行代扣代发工资系统(源代码+系统+开题报告)
收藏
资源目录
压缩包内文档预览:
编号:507670
类型:共享资源
大小:530.96KB
格式:ZIP
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
12
积分
- 关 键 词:
-
毕业设计论文
- 资源描述:
-
JSJ06-348@VB银行代扣代发工资系统(源代码+系统+开题报告),毕业设计论文
- 内容简介:
-
第一章 银行工资代发代扣系统概述第一章 银行工资代发代扣系统概述1.1 背景在计算机诞生之前,人们对帐目的管理一直采用的是纸质材料记录,人工统计和计算。例如,古时候所谓的“大户人家”,或是商号等等,都需要有专门的帐房先生来针对每个月的支出、收入等加以统计,并记录于帐册上。其中,对于“仆人”的月俸等管理便是其中相当重要的一个部分,常年累月地便积累了一大摞一大摞的帐册。这样的管理不但费时费力,也容易产生计算上的错误和各种疏漏;随着时代的变迁,这种混乱的情形有所改善,但采取的依然是人工操作,工作量大的时候,出现错误的机率也随之升高。当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。如果能够实现工资管理的自动化,无疑将给企业管理部门带来很大的方便。传统的纸介材料的数据信息管理方式已经不适合现代企业公司的发展了,实现工资管理的系统化、规范化、自动化,将成为现代公司管理工资的首选。随着计算机的诞生和普及以及计算机网络的发展,我们就可以开发一个工资管理系统,用电脑代替大量的人工统计和计算,完成许多工资信息的处理,同时,使用电脑还可以安全地、完整地保存大量的工作记录。1.2 系统介绍银行工资代发代扣管理系统为与合作企业提供了工资计算,工资统计等服务;而且系统使用表格保存相关的工资信息,方便查询、浏览、修改等操作,基本上能够满足现代工资管理的需求。本系统主要实现了以下的功能:(1) 用户密码修改功能;(2) 员工和部门的基本信息的浏览、添加、删除、修改功能;(3) 员工代发代扣工资的设置和调整功能;(4) 员工的考勤信息统计功能;(5) 员工工资的结算功能;(6) 员工工资和打印功能。10第二章 工资管理系统分析第二章 代发代扣工资系统分析2.1 企业工资管理的应用现状随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统来进行管理,那么势必会给管理人员带来种种麻烦,因此类似工资管理系统之类的财务软件的开发势在必行。2.2 系统可行性分析研究可行性研究的目的使用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面两个方面考虑。(1) 技术上的可行性。由于对企业工资管理系统这一类的企业财务系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。(2) 经济上的可行性。由于企业工资管理系统是一个比较小型的系统,是由我一个人进行开发的,所以从人力、物力、财力方面来说都是可行的。2.3 需求分析对用户需求的分析应该全面、深入、发展,全面是指考查由MIS管理的信息是否有纰漏,必须保证各静态、动态信息的完全;深入是指对信息的内容、结构、含义、变换、生存周期的分析和认识;发展是指对信息未来发展变化的预测,因为信息在某个系统、机构内的变化往往存在着自身特有的发展规律,需求分析应该预见这种规律,否则就会缩短MIS的使用寿命。为了保证需求分析的完备性,就必须保证需求分析的时间。2.4 功能分析开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。系统最终应主要实现如下功能:(1) 系统:包括修改用户密码和退出系统。(2) 工资档案管理部分:包括员工信息的管理和部门信息的管理。(3) 代发代扣工资部分:包括员工基本工资的设置、员工考勤信息的统计、员工工资的结算和固定工资的调整。(4) 信息查询部分:包括查询员工工资信息和查询部门工资总汇。(5) 打印报表部分:包括打印员工工资单和打印部门工资总汇。(6) 帮助:对于系统版权的声明。2.5 模块分析本系统主要设计有以下几个模块:(1) 系统系统启动的时候有一个用户登录界面,登录后,可以修改密码。(2) 档案管理 职工信息:按照员工卡号对员工的基本信息,包括其个人信息和所属部门信息进行浏览、添加、删除和修改。 部门信息:按照部门编号对部门的信息进行浏览、添加、删除和修改。(3) 工资管理 基本工资设置:对员工的基本工资信息进行添加、删除和修改。 考勤信息统计:对员工的考勤信息进行添加、删除和修改。 工资结算:根据员工的基本工资信息和考勤信息,以及本月奖金和补助等的输入金额,结算员工该月的工资。 固定工资调整:对于企业员工的固定工资,进行统一的调整。(4) 信息查询 查询员工工资信息:按照员工卡号或员工姓名,或是二者组合查询员工的工资信息。 查询部门工资信息:按照部门编号或部门名称,或是二者组合查询部门员工的工资信息。(5) 打印报表 打印预览:打印预览员工的工资单、部门的工资汇总工资单。 打印:打印员工的工资单、部门的工资汇总工资单。(6) 帮助关于本系统的版权声明。2.6 数据库需求分析针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容和数据流程分析,为本系统的工资数据库设计如下的数据项和数据结构:(1) 职工信息:包括员工编号、员工姓名、性别、籍贯、出生日期、学历、住址、邮编、联系电话、所属部门编号、所属部门名称、职务、参加工作时间、进入公司时间、备注。(2) 部门信息:包括部门编号和部门名称。(3) 基本工资信息:包括员工编号、员工姓名、所属部门、职务、基本工资、职务津贴、工龄津贴/年、加班工资/天、事假扣款/天、病假扣款/天、迟到扣款/天、备注。(4) 员工考勤信息:包括员工编号、员工姓名、所属部门、年份、月份、迟到天数、事假天数、病假天数、加班天数、备注。(5) 员工工资结算信息:包括员工编号、员工姓名、所属部门编号、所属部门名称、职务、职务津贴、基本工资、工龄工资、基本工资额、加班工资、奖金、其他补助、本月补助、迟到扣款、事假扣款、病假扣款、考勤扣款、违纪罚款、其他扣款、个人所得税、实发金额、年份、月份、操作时间、备注。2.7 系统分析对项目进行系统分析是极其重要的。系统分析是能体现整个系统的灵魂的文档,将客户的需求从具体到抽象的一个过程,并制定编码人员可实施的规范和标准。(1) 根据对公司的调查确定公司的组织机构如下:会计组出纳组档 案组考勤组业务组办公组总经理财务部人事部公关部出纳组财务组档案管理组考勤管理组业务组办公组 图2-1 工资管理系统组织机构图(2) 数据流程图数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流程图具有抽象性和概括性。数据流程图分为四个部分: 外部实体:外部实体指系统以外又和系统有联系的人或事物,它说明了数据的外部来源和去处,属于系统的外部和系统的界面。外部实体支持系统数据输入的实体称为源点,支持系统数据输出的实体称为终点。 通常外部实体在数据流程图中用正方形框表示,框中写上外部实体名称,为了区分不同的外部实体,可以在正方形的左上角用一个字符表示,同一外部实体可在一张数据流程图中出现多次,这时在该外部实体符号的右下角画上小斜线表示重复。 处理过程:处理指对数据逻辑处理,也就是数据变换,它用来改变数据值。而每一种处理又包括数据输入、数据处理和数据输出等部分。在数据流程图中处理过程用带圆角的长方形表示处理,长方形分三个部分,标识部分用来标识一个功能,功能描述部门是必不可少的,功能执行部门表示功能由谁来完成。 数据流:数据流是指处理功能的输入或输出,它用来表示一中间数据流值,但不能用来改变数据值。数据流是模拟系统数据在系统中传递过程的工具。在数据流图中用一个水平箭头或垂直箭头表示,箭头指出数据的流动方向,箭线旁注明数据流名。 数据存储:数据存储表示数据保存的地方,它用来存储数据。系统处理从数据存储中提取数据,也将处理的数据返回数据存储。与数据流不同的是数据存储本身不产生任何操作,它仅仅响应存储和访问数据的要求。在数据流程图中数据存储用右边开口的长方条表示。在长方条内写上数据存储名字。为了区别和引用方便,左端加一小格,再标上一个标识,用字母D和数字组成。根据以上概念,将系统的数据流图设计如下:各部门E001汇总部门信息表考勤职工信息表D001 考勤信息表E002计算工资E003发放工资D002 职工工资结算表职工职工工资明细表财务系统D002填制考勤信息表图2-2 代发代扣工资管理系统数据流程图(3) 数据字典数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据字典包括以下六部分内容: 数据流l 数据流名称及其称号;l 数据流的来源:可能是一个外部实体、处理逻辑、数据存储; l 数据流的去处; l 数据流的组成:一个数据流可能包括若干个数据结构,若只有一个数据结构,就不需要专门定义; l 数据流的流通量:单位时间的传输次数; l 高峰时期的流通量:业务的频繁程度和时间有关 数据项数据项也称数据元素,是“不可再分”的数据单位,是数据的最小组成单位。主要内容有:l 数据项名称及编号:数据项名称必须唯一地标识这个数据项,以区别于其他数据项;给数据项取名时,要反映该数据项的含义,易于他人理解、记忆。 l 别名:同一数据项的名称可能不止一个,称为别名。 l 取值的范围和取值的含义 。l 数据项的长度:指数据项所包含的字符或数字的位数。 数据结构l 数据结构的名称及其编号 ;l 数据结构的组成:如果是一个简单的数据结构,只要列出它所包含的数据项即可。如果是一个嵌套的数据结构,只需列出它所包含的数据结构名称,因为这些数据结构同样在数据字典中有定义。 数据存储数据存储是数据结构停留或保存的场所。主要内容:l 数据存储的名称及其编号:在数据流程图中对数据存储给以命名,并编上一个唯一的编号; l 流入、流出的数据流:流入的数据流指出其来源,流出的数据流指出其去向; l 数据存储的组成:指它所包含的数据项或数据结构。 处理逻辑其包含的主要内容:l 处理逻辑的名称及编号 ;l 简述:对处理逻辑的简明描述,其目的是使人了解这个处理逻辑是做什么用的; l 处理逻辑的输入和输出; l 处理逻辑的主要功能 ;l 处理逻辑的小说明(文档之一)。 外部实体外部实体是系统的“人-机”界面,也就是系统的数据流由外部实体流入,或者系统的数据向外部流出。主要内容:l 外部实体的名称及编号;l 与外部实体有关的数据流。 根据以上概念,将系统设计如下:表2.1 数据流条目示例数据流系统名:银行代发代扣工资系统 编号:条目名:考勤表 别名:来源: 各部门 去处:填制考勤信息表组成:迟到天数+事假天数+病假天数+加班天数简要说明:修改记录:编写: 日期:审核: 日期:表2.2 基本数据项条目示例基本数据项系统名:银行代发代扣工资系统 编号:条目名:员工卡号 别名:来源: 职工信息表 去处:扣款单、工资单 数据元素属性:类型:字符型长度:4取值范围:顺序编号简要说明:每一位员工的员工卡号都是唯一的,是员工的唯一识别码。修改记录:编写: 日期:审核: 日期:表2.3 数据存储条目示例数据存储系统名:银行代发代扣工资系统 编号:条目名:员工工资结算表 别名:来源: 考勤信息表 去处:财务部 简要说明:职工工资结算表记载当月各职工工资额的构成,是下月工资汇总的基础。流入数据流:考勤信息表/计算工资流出数据流:财务系统/发放工资简要说明: 修改记录:编写: 日期:审核: 日期:(4) 系统流程图系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序的逻辑过程。包括四个基本元素符号:输出单处理磁盘文件输入单据本系统系统流程图如下:考勤表数据录入处理程序工资文件计算工资职工工资结算表职工工资明细表图2-3 工资管理系统流程图第三章 工资管理系统设计第三章 工资管理系统设计系统设计的基础是由系统分析提供的,系统设计的任务就是充分利用和发挥系统分析的成果,并把这些成果具体化和结构化。所谓系统设计就是在系统分析的基础上,用系统思想综合运用各有关学科的知识、技术和经验,通过总体研究和详细设计等环节,落实到具体工作上,以创造满足设计目标的人造系统。根据系统需要实现的主要功能,可以得到如下图所示的企业工资管理系统的功能模块图。系统档案管理信息查询统打印报表统退出系统员工信息部门信息部门信息查询员工查询部门打印预览工资管理基本工资工资结算固资调整打印银行代发代扣工资系统修改密码图3-1 企业工资管理系统功能模块图3.1 概念设计概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、容易理解的数据模型,其独立于计算机数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的概念性数据在用户和设计者之间建立了桥梁,是设计数据库结构的基础。概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。E-R模型是建立概念性数据模型的有力工具。 本系统中工人信息的实体集及有关属性的图例:员工员工编号员工姓名性别联系电话邮编职务住址学历 备注籍贯出生日期进入公司时间参加工作时间所属部门名称所属部门编号 图3-2 员工实体属性E-R图 工资管理系统实体和实体之间关系E-R图:员工具有有工资明细属于部门具有考勤信息N11N1N图3-3 企业工资管理系统E-R图3.2 数据库设计选用Access 2000作为后台数据库。启动Access 2000,创建一个空数据库,命名为“企业工资管理系统.mdb”,保存在要存放这个系统的所有工程文件的文件夹中。数据库以表的形式存放相关的数据,点击“使用设计器创建表”,为本系统创建表格如下: 表3.1 员工基本信息表字段名称数据类型说明员工卡号文本员工姓名文本性别文本籍贯文本出生日期日期学历文本住址文本邮编文本联系电话文本所属部门编号文本所属部门名称文本职务文本参加工作时间日期进入公司时间日期备注文本设置“员工卡号”为主键,并将其命名为:员工基本信息表。表3.2 部门信息表字段名称字段类型说明部门编号文本部门名称文本设置“部门编号”为主键,并将其命名为:部门信息表表3.3 员工基本工资明细表字段名称字段类型说明员工卡号文本员工姓名文本所属部门文本职务文本基本工资货币职务津贴货币工龄津贴/年货币加班代发工资/天货币事假代扣款/天货币病假代扣款/天货币迟到代扣款/天货币备注文本设置“员工编号”为主键,并将其命名为:员工基本工资明细表。表3.4 员工考勤信息表字段名称字段类型说明员工卡号文本员工姓名文本所属部门文本年份数字月份数字迟到天数数字事假天数数字病假天数数字加班天数数字备注文本设置“员工卡号”为主键,并将其命名为:员工考勤信息表。表3.5 员工工资结算表字段名称字段类型说明员工卡号文本员工姓名文本所属部门编号文本所属部门名称文本职务文本职务津贴货币基本代发工资货币工龄工资货币基本工资额货币包括职务津贴、基本工资、工龄工资加班代发工资货币代发奖金货币其他补助货币本月补助货币包括加班工资、奖金、其他补助迟到代扣款货币事假代扣款货币病假代扣款货币考勤代扣款货币包括迟到扣款、事假扣款、病假扣款违纪代扣款货币其他代扣款货币包括违纪罚款、个人所得税个人所得税货币实发金额货币年份 数字月份数字操作时间日期备注文本设置“员工卡号”为主键,并将其命名为:员工工资结算表3.3 建立公共模块运行Visual Basic后,选择“文件”“新建工程”菜单,然后从工程模块中选择“标准EXE”项,单击“确定”按钮。Visual Basic就会自动生成一个Form窗体,这个窗体的属性采用的都是默认设置。在本系统中,先删除这个窗体,然后选择“文件”“保存工程”菜单,在出现的“文件另存为”对话框中输入这个工程项目的名称(采用默认的工程名),并且选择要保存的这个工程的目录,单击“保存”按钮,保存工程。为了提高代码的效率方便维护,在Visual Basic中可以用公用模块来存放工程中经常使用的函数、过程和全局变量等。在本系统中,只添加一个SUB MAIN过程。在项目资源管理器中为这个工程添加一个模块,添加的方法和添加窗体的方法一样,只不过选择的不是MDI窗体,而是模块。代码如下:Public Sub Main()Frmlogin.ShowEnd Sub3.4 窗体设计由于各窗体的添加、以及实现的功能类似,故只选取其中典型的几例加以介绍。3.4.1 添加主窗体(1) 主窗体设计在这个系统中,选择使用多文档界面。使用这个窗体的好处是可以使程序更加有条理,对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。单击工具栏中的添加MDI窗体或者选择“工程”-“添加MDI窗体”菜单,选择MDI窗体,单击“打开”按钮,为这个工程添加一个多文档窗体作为主窗体。添加主窗体后,更改下列主窗体的属性: 名称属性值改为“frmMain” Caption属性值改为“企业工资管理系统” StartUpPosition属性值改为“2-屏幕中心” WindowsState属性值改为“2-Maxinized”(2) 菜单设计在添加好的窗体中,单击鼠标右键,从弹出的快捷菜单中选择“菜单编辑器”命令,在弹出的菜单编辑器对话框中添加需要的菜单,并且使用方向键为菜单分级,系统的菜单结构如图3-4所示。图3-4系统菜单结构图 (3) 添加代码主窗体中添加的代码不多,基本上都是实现单击某个菜单选项即弹出相应窗体的语句,这里仅举一例:选择“系统”-“修改密码”菜单,出现修改密码窗体,代码如下:选择“文件”-“保存frmMain.frm”菜单,保存设好的窗体。3.4.2 建立登录窗体(1) 添加窗体为工程添加一个窗体,在工具栏中选择“添加窗体命令”。更改窗体的属性如下(仅列出修改的属性): 名称属性值改为“frmLogin” Caption属性值改为“用户登录” StartUpPosition属性值改为“2-屏幕中心”(2) 添加控件 为登录窗体添加2个标签(Label),用来标示窗体中的信息;2个文本框(TextBox),用来输入用户名称和用户密码;2个按钮(CommandButton),用来确定或返回。 为登录窗体中添加Ado Data控件,用来与数据库进行连接。l Ado Data控件简介Ado Data控件使用Microsoft ActiveX数据对象(ADO)来快速建立数据库绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合OLE DB规范的数据源。使用Visual Basic的类模块也可以很方便地创建子集的数据提供者。尽管可以在应用程序中直接使用ActiveX数据对象,但如图3-5所示的Ado Data控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使可以用最少的代码创建数据库应用程序。 图3-5 Ado Data控件l 引入 Ado Data控件到VB项目在VB开发环境中选择主菜单“工程”中的“部件”子菜单,弹出如图3-6所示的部件属性框,在控件标签页中选择“Microsoft ADO Data Control 6.0(OLEDB)”控件。然后单击“确定”按钮,这样Ado Data控件就引入到当前的VB项目中。在如图3-7所示的VB开发环境中的工具箱中,就能够看到 Ado Data控件的图标。然后单击该图标,就可以在窗体中的任意位置添加Ado Data控件。图3-73-73-7图3-8 图3-6 Ado Data控件n 主要属性 ConnectionString属性Ado Data控件的ConnectionString属性是一个字符串,可以包含进行一个连接所需的所有设置值。在该字符串中所传递的参数是与驱动程序相关的。例如,ODBC驱动程序允许该字符串包含驱动程序、提供者 、缺省的数据库、服务器、用户蜜柑年成以及密码等。 UserName属性当数据库受密码保护时,需要指定该属性。这个属性可以在ConnectionString中指定。如果同时提供了一个ConnectionString属性以及一个UserName属性,则ConnectionString中的值将覆盖UserName属性的值。 PassWord属性在访问一个受保护的数据库时该属性也是必需的。和UserName属性类似,如果在ConnectionString属性中指定了密码,则将覆盖在这个属性中指定的值。 RecordSource属性Ado Data控件的RecordSource属性通常包含一条语句,用于决定从数据库检索什么信息。 CommandType属性Ado Data控件的CommandType属性告诉数据库提供者Source属性是一条SQL语句、一个表的名称、一个存储过程还是一个未知的类型。使用CommandType属性可优化CommandText属性的计算。如果CommandType属性的值等于adCmdUnknown(默认值),系统的性能将会降低,因为ADO必须调用提供者以确定CommandText属性是SQL语句、还是存储过程或表格名称。如果知道正在使用的命令的类型,可通过设置CommandType属性指令ADO直接转到相关代码。如果CommandType属性与CommandText属性中的命令类型不匹配,调用Execute方法时将产生错误。 LockType属性LockType属性决定当其他人试图更改正在编辑的数据时,如何锁定该数据。如何设置这个LockType属性是一个复杂的决策,取决欲多个因素。 Mode属性Mode属性决定想用记录集进行什么操作。使用Mode属性可设置或返回当前连接上提供者正在使用的访问权限。Mode属性只能在关闭Connection对象时方可设置。例如,如果只是想要创建一个报告,可以将该属性设为只读来获得性能的改善。 ConnectionTimeout属性ConnectionTimeout属性设置等待建立一个连接的时间,以秒为单位。如果连接超时,则返回一个错误。 如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用Connection对象的ConnectionTimeout属性。如果打开连接前所经过的时间超过ConnectionTimeout属性上设置的时间,将产生在错误,并且ADO将取消该连接尝试。如果将该属性设置为零,ADO将无限等待直到连接打开。请确认正在对其编写代码的提供者会支持ConnectionTimeout功能。 Recordset属性返回或设置对下一级ADO Recordset对象的引用。利用Recordset属性,可以使用ADO的ADODB.Recordset对象的方法、属性和事件。必须在Set语句中使用Recordset属性,如下例所示:Dim rsNwind As New ADODB.RecordsetSet ADODC1.Recordset=rsNwind BOFAction、EOFAction属性 这两个属性决定当该控件位于光标的开始和末尾时的行为。提供的选择包括停留在开始或末尾、移动到第一个或最后一个记录或添加一个新记录(只能在末尾)。 BOFAction属性有以下两个值:adDoMoveFirst和adStayBOF,分别代表如果当前记录到达了数据的第一条记录的前面时,采取移动到第一条记录的动作或者继续停留在原来位置两种操作。 EOFAction属性值有以下3个值:adDoAddNew、adDoMoveLast和adStayEOF,它们分别代表如果当前记录到达了最后一条数据记录的后面,采取增加一条新记录、移动到最后一条记录或者继续停留在原位置的3种操作。n 主要事件 Error事件一般地,在开发应用程序时通常要在代码中为代码运行错误时提供错误处理的功能,但有时在没有代码运行时也会发生数据存取的错误,此时才会发生这个事件。该事件的语法为:object Error(Index As Integer, ErrorNumber As Long,Description As String,Scode As Long,Source As String,HelpFile As String,HelpContext As Long,fCancelDisplay As Boolean)其中object为控件对象名:Index为可选参数,如果控件在一个控件数组中,此值可以标识该控件; ErrorNumber为本地错误号码; Description为对错误的描述;Scode为服务器返回的错误代码; Source为错误的来源;;HelpFile为包含该错误详细信息的帮助文件的路径; HelpContext为帮助主题的上下文号码;fCancelDisplay为一个布尔值,可以设置这个值来取消对错误消息的显示。 EndOfRecordset事件 移动行时如果超过记录集结尾,则调用EndOfRecordset方法。该事件的语法为:Adodc1_EndofRecordset(fMoreData As Boolean,adStatus As ADODB.EventStatusEnum,ByVal pRecordset As ADODB.Recordset)当用户可能因调用MoveNext而移过Recordset结尾时,将调用该事件的处理程序。使用该方法用户可以从数据库中检索到更多记录并将其追加到pRecordset的结尾。在这种情况下,用户要将pfMoreData设置为VARIANT_TRUE,并从EndOfRecordset返回。在此之后用户可以再次调用MoveNext以访问新检索到的记录。n 主要方法 UpdateControls方法使用UpdateControls方法将绑定控件的内容恢复为其初始值,如同用户更改了数据,然后又决定取消了这些更改。除了不会导致任何事件的发生之外,这个方法产生的效果与使当前行再次成为当前行一样。由于此方法不会调用任何事件,可以使用这个方法来简化一个更新操作,因为它不会触发任何多余的验证和更改世间过程。 Refresh方法Refresh方法用来重新建立或显示与Ado Data控件相连的数据库记录集。如果在程序代码中改变了ConnectionString、RecordSource、CommandType的属性值,就必须用Refresh方法来刷新记录集。Refresh方法的语法为:Adodc1.Refresh 修改控件的属性设置值:l 将控件Texbox1的Name属性属性值改为“UserName”l 将控件Texbox2的Name属性属性值改为PassWord;PassWord属性属性值改为“*”l 将控件CommandButton1的Name属性属性值改为CmdOK;Caption属性属性值改为“确定”l 将控件CommandButton2的Name属性属性值改为CmdCancel;Caption属性属性值改为“取消”l 将控件Label1的Caption属性属性值改为“用户名称”l 将控件Label2的Caption属性属性值改为“用户密码”3.4.3 建立部门信息窗体(1) 添加窗体为工程添加一个普通窗体,属性设置如下: 将名称属性值改为“frmBMInfo” 将Caption属性值改为“部门信息”(2) 添加控件根据前面的介绍可以知道,Ado Data控件必须通过绑定数据感知控件才能提供一个访问数据库的界面,用来对数据库数据的浏览、添加、删除、修改等操作。为了体现用Ado Data控件直接进行记录的移动,这里就要引入DataGrid控件来进行数据的显示。具体的操作步骤如下: 在前面创建的项目中,按照3.3.2节介绍的引入Ado Data控件的方法,在部件属性框的控件标签页中选择“Microsoft Data Grid Control 6.0(OLEDB)”控件,然后引入该控件。 在工具箱中单击DataGrid控件的图标,在前面创建的窗体中添加该控件。为这个窗体添加的控件及其更改的属性设置如下:将控件Frame1的Caption属性属性值改为“部门列表”l 将DataGrid1的DataSource属性属性值改为“Adodc1”l 将DataGrid2的DataSource属性属性值改为“Adodc2”l 将Adodc1的ConnectionString属性属性值改为“连接企业工资管理系统.mdb”;RecordSource属性属性值改为“部门信息表”l 将Adodc2的ConnectionString属性属性值改为“连接企业工资管理系统.mdb”;RecordSource属性属性值改为“职工信息表”l 将Frame2的Caption属性属性值改为“操作”l 将Command1的Caption属性属性值改为“首记录”l 将Command2的Caption属性属性值改为“新增部门”l 将Command3的Caption属性属性值改为“后翻”l 将Command4的Caption属性属性值改为“删除部门”l 将Command5的Caption属性属性值改为“末记录”l 将Command6的Caption属性属性值改为“保存”l 将Command7的Caption属性属性值改为“前翻”l 将Command8的Caption属性属性值改为“取消”l 将Command9的Caption属性属性值改为“返回”l 将Frame3的Caption属性属性值改为“当前部门”l 将Label1的Caption属性属性值改为“部门编号”l 将Label2的Caption属性属性值改为“部门名称” 3.4.4 建立查询员工工资窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“查询职工工资”,Name属性设为“frmSearch1”。(2) 添加控件l 添加一个Label1控件,并将其Caption属性属性值改为“所有职工:”l 添加一个Adodc1控件,并将其RecordSource属性属性值改为“职工信息表”l 添加一个Adodc2控件,并将其RecordSource属性属性值改为“select * from职工工资结算表”l 添加一个DataGrid1控件,并将其DataSource属性属性值改为“Adodc1”l 添加一个DataGrid2控件,并将其DataSource属性属性值改为“Adodc2”l 添加一个Label2控件,并将其Caption属性属性值改为“请输入查询的条件:”l 添加一个Label3控件,并将其Caption属性属性值改为“员工编号:”l 添加一个TexBox1控件,并将其Text属性属性值删除l 添加一个Label4控件,并将其Caption属性属性值改为“员工姓名:”l 添加一个TexBox2控件,并将其Text属性属性值删除l 添加一个CommendButton1控件,并将其Caption属性属性值改为“开始查询”l 添加一个CommendButton2控件,并将其Caption属性属性值改为“重新查询”l 添加一个CommendButton3控件,并将其Caption属性属性值改为“退出”3.4.5 建立查询部门工资情况窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“查询部门工资情况”,Name属性设为“frmSearch2”。(2) 添加控件l 添加一个Label1控件,并将其Caption属性属性值改为“所有职工:”l 添加一个Adodc1控件,并将其RecordSource属性属性值改为“职工信息表”l 添加一个Adodc2控件,并将其RecordSource属性属性值改为“select * from 职工工资结算表”l 添加一个DataGrid1控件,并将其DataSource属性属性值改为“Adodc1”l 添加一个DataGrid2控件,并将其DataSource属性属性值改为“Adodc2”l 添加一个Label2控件,并将其Caption属性属性值改为“请输入查询的条件:”l 添加一个Label3控件,并将其Caption属性属性值改为“部门编号:”l 添加一个TexBox1控件,并将其Text属性属性值删除l 添加一个Label4控件,并将其Caption属性属性值改为“部门名称:”l 添加一个TexBox2控件,并将其Text属性属性值删除l 添加一个CommendButton1控件,并将其Caption属性属性值改为“开始查询”l 添加一个CommendButton2控件,并将其Caption属性属性值改为“重新查询”l 添加一个CommendButton3控件,并将其Caption属性属性值改为“退出”3.4.6 建立职工信息窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“职工信息”,Name属性设为“frmZGInfo”。(2) 添加控件l 添加一个Frame1控件,并将其Caption属性属性值改为“个人信息”l 在Fram1控件中添加九个Label控件,并将其Caption属性属性值分别改为:“员工编号:”、“员工姓名:”、“性别:”、“籍贯:”、“出生年月:”、“学历:”、“住址:”、“邮编:”、“联系电话:”l 在Frame1控件中添加九个TexBox控件l 添加一个Frame2控件,并将其Caption属性属性值改为“所属部门信息”l 在Fram2控件中添加五个Label控件,并将其Caption属性属性值分别改为:“部门编号:”、“部门名称:”、“职务:”、“参加工作时间:”、“进入公司时间:”l 在Frame2控件中添加九个TexBox控件l 添加一个Frame3控件,并将其Caption属性属性值改为“操作”l 在Fram3控件中添加九个CommandButton控件,并将其Caption属性属性值分别改为:“首记录”、“后翻”、“末记录”、“前翻”、“新增职工”、“删除职工”、“修改信息”、“保存信息”、“取消”l 添加一个Label控件,并将其Caption属性属性值改为“备注:”;在其下方添加一个TexBox控件l 添加一个Adodc1控件,并将其RecordSource属性属性值改为“职工信息表”3.4.7 添加考勤信息统计窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“考勤信息统计”,Name属性设为“frmAttInfo”。(2) 添加控件l 添加一个Frame1控件,并将其Caption属性属性值改为“时间”l 添加两个Label控件,并分别将其Caption属性属性值改为“年份:”、“月份:”l 添加一个TextBox控件,将其DataFried属性属性值改为“年份”;添加一个ComboBox控件,并将其Text属性属性值删除l 添加一个Frame2控件,并将其Caption属性属性值改为“考勤信息浏览”l 添加一个DataGrid1控件,并将其DataSource属性属性值改为“Adodc1”l 添加一个Fram3控件,并将其Caption属性属性值删除l 在Fram3控件中添加八个CommandButton控件,并将其Caption属性属性值分别改为:“首记录”、“下一条”、“末记录”、“上一条”、“增加”、“删除”、“保存”、“返回”l 添加一个Adodc1控件,并将其RecordSource属性属性值改为“考勤信息表”3.4.8 添加员工基本工资设置窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“员工基本工资设置”,Name属性设为“frmBSalary”。(2) 添加控件l 添加一个Frame1控件,并将其Caption属性属性值改为“工资信息输入框”l 在Fram1控件中添加十二个Label控件,并将其Caption属性属性值分别改为:“员工编号:”、“基本工资:”、“迟到扣款/天:”、“员工姓名:”、“职务津贴:”、“事假扣款/天:”、“所属部门:”、“工龄津贴/年:”、“病假扣款/天:”、“职务:”、“加班工资/天:”、“备注:”l 在Frame1控件中添加十二个TexBox控件l 添加一个Frame2控件,并将其Caption属性属性值删除l 在Fram2控件中添加九个CommandButton控件,并将其Caption属性属性值分别改为:“首记录”、“下一条”、“末记录”、“上一条”、“增加”、“删除”、“保存”、“返回”l 添加一个Frame3控件,并将其Caption属性属性值改为“固定工资浏览”l 添加一个DataGrid1控件,并将其DataSource属性属性值改为“Adodc1”l 添加一个Adodc1控件,并将其RecordSource属性属性值改为“职工工资明细表”3.4.9 添加工资结算窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“工资结算”,Name属性设为“frmJSalary”。(2) 添加控件l 添加一个Frame1控件,并将其Caption属性属性值改为“职工信息”l 在Fram1控件中添加六个Label控件,并将其Caption属性属性值分别改为:“员工编号:”、“所属部门编号:”、“职务:”、“员工姓名:”、“所属部门名称:”、“就业时间:”l 添加两个TextBox控件,并将其DataField属性属性值分别改为“员工编号”、“员工姓名”l 在Fram1控件中添加四个Label控件,并将其DataField属性属性值分别改为: “所属部门编号:”、“职务:”、 “所属部门名称:”、“参加工作时间:”;并将四个Label控件的DataSource属性改为“Adodc1”l 添加一个Frame2控件,并将其Caption属性属性值改为“固定工资信息”l 在Fram1控件中添加八个Label控件,并将其Caption属性属性值分别改为: “工龄工资:”、“工龄津贴/年:”、“病假扣款/天:”、“基本工资:”、“加班工资/天:”、“事假扣款/天:”、“职务津贴:”、“迟到扣款/天:”l 在Fram1控件中再添加八个Label控件,并将其DataField属性属性值分别改为: “工龄工资:”、“工龄津贴/年:”、“病假扣款/天:”、“基本工资:”、“加班工资/天:”、“事假扣款/天:”、“职务津贴:”、“迟到扣款/天:”;并将第一个Label控件的DataSource属性属性值改为“Adodc4”, 其它七个Label控件DataSource属性属性值改为“Adodc3”l 添加一个Frame3件,并将其Caption属性属性值改为“考勤统计”l 在Fram3件中添加六个Label控件,并将其Caption属性属性值分别改为: “年份:”、“月份”:、“事假天数”、“病假天数:”、“加班天数:”、“迟到天数:”l 在Fram3件中添加两个ComboBox控件,并将其Text属性属性值删除l 在Fram3控件中添加四个TextBox控件,并将其DataField属性属性值分别改为:“事假天数”、“病假天数:”、“加班天数:”、“迟到天数:”;DataSource属性属性值改为“Adodc2”l 添加一个Frame4控件,并将其Caption属性属性值改为“动态工资信息”l 在Fram1控件中添加十二个Label控件,并将其Caption属性属性值分别改为:“加班工资:”、“迟到扣款:”、“个人所得税:”、“奖金:”、“病假扣款:”、“实发金额:”、“其它补助:”、“事假扣款:”、“备注:”、“违纪罚款:”、“考勤扣款:”、“操作时间:”l 在Fram1控件中添加十二个TextBox控件,并将其DataField属性属性值分别改为:“加班工资:”、“奖金:”、“其它补助:”、“迟到扣款:”、“病假扣款:”、“事假扣款:”、“违纪罚款:”、“个人所得税:”、 “实发金额:”、 “备注:”、 “考勤扣款:”、“操作时间:”;DataSource属性属性值改为“Adodc4”l 添加一个Frame5控件,并将其Caption属性属性值改为“操作”l 添加四个CommandButton控件,并将其Caption属性属性值改为“更新”、“计算”、“保存”、“返回”l 添加四个Adodc控件,并将其RecordSource属性属性值改为“select * from 职工信息表”、“select * from 考勤信息表”、“select * from 职工工资明细表”、“职工工资结算表”3.4.10 添加职工固定工资调整窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“职工固定工资调整”,Name属性设为“frmChangeGZ。(2) 添加控件l 添加一个Label1控件,并将其Caption属性属性值改为“工资项目:”l 添加一个ComboBox1控件,并将其Text属性属性值删除l 添加一个Label2控件,并将其Caption属性属性值改为“条件:”l 添加一个ComboBox2控件,并将其Text属性属性值删除l 添加四个Label控件,并将第一个Caption属性属性值改为“由:”;第二个l Caption属性属性值删除;第三个Caption属性属性值改为“调整为:”;第四个Caption属性属性值改为“元”l 添加一个TextBox控件,并将其Text属性属性值删除l 添加两个CommandButton控件,并将其Caption属性属性值改为“确定”、“返回”l 添加一个Adodc控件,并将其RecordSource属性属性值改为“select * from 职工工资明细表”3.4.11 添加修改密码窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“修改密码”,Name属性设为“frmChangePWD。(2) 添加控件l 添加三个Label1控件,并将其Caption属性属性值改为“请输入旧密码:”、“请输入新密码”、“请确认新密码:”l 添加三个TextBox控件,并将其PasswordChar属性属性值改为“*”;DataSource属性属性值改为“Adodc1”l 添加两个CommandButton控件,并将其Caption属性属性值改为“确定”、“取消”l 添加一个Adodc控件,并将其RecordSource属性属性值改为“用户信息表”3.4.12 添加打印报表窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“打印报表”,Name属性设为“frmPrintBB”。(2) 添加控件l 添加两个Label控件,并将其Caption属性属性值改为“版权所有”、“cj”3.4.13 添加关于窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“关于”,Name属性设为“frmAbout”。(2) 添加控件l 添加五个Label控件,并将其Caption属性属性值改为“企业工资管理系统”、“version 1.4.0”、“版权所有(C)”、“2005-2010”、“天津大学 cj”l 添加一个Line控件l 添加两个Label控件,并将其Caption属性属性值改为“本软件使用权属于”、“cj”l 添加Frame控件,并将其Caption属性属性值改为“警告”l 添加一个Label控件,并将其Caption属性属性值改为“本系统由天津大学cj开发, 版权所有, 如擅自复制、传播本应用程序,将追究其法律责任。”l 添加一个CommandButton控件,并将其Caption属性属性值改为“确定”3.4.14 添加谢谢使用窗体(1) 添加窗体添加一个普通窗体,Caption属性设为“谢谢使用”,Name属性设为“frmExit”。(2) 添加控件l 添加一个Timer控件l 添加一个Label控件,并将其Caption属性属性值改为“谢谢使用本系统”40第四章 工资管理实施第四章 工资管理系统实施系统实施作为系统生命周期的后期阶段,是把系统设计转化为可实际运行的物理系统的必然步骤,再好的系统设计,不通过系统实施也只能是不能带来效益的空中楼阁。系统实施作为系统的最后物理实现阶段,对于系统的质量、可靠性和可维护性等有着十分重要的影响。4.1 Ado Data控件直接操纵数据库使用Ado Data控件访问数据库,可以完全不用编写代码,只需通过简单设置和操纵其属性就可以实现与数据库的连接,通过绑定数据感知控件就能提供一个访问数据库的界面,用来对数据库数据的浏览、添加、删除、修改等操作。4.1.1 连接数据库使用Ado Data控件连接到数据源要相对简单得多,基本上可以用鼠标的操作来完成。具体的操作步骤如下:(1) 打开frmLogin窗体。(2) 在Ado Data控件上单击鼠标右键,在快捷菜单上选择“属性”命令,打开Ado Data控件的属性对话框,如图2-4所示。Ado Data控件的属性对话框共有5个选项卡,常用的是“通用”选项卡、“身份验证”选项卡和“记录源”选项卡。在“通用”选项卡中设置Ado Data控件的数据源属性,在“身份验证”选项卡中,设置访问数据源时有关的安全信息,在“记录”选项卡中,设置Ado Data控件返回记录的记录源。(3) 在“通用”选项卡中,选择“使用连接字符串”单选按钮,并单击“生成”按钮,打开“数据链接属性”对话框,如图2-5所示。使用该对话框可以方便地建立和数据源的连接,而在应用程序的开发过程中,使用连接字符串有许多优点(例如客户端不用配置ODBC数据源名称等)。图4-2 “数据链接属性”对话框图4-1 Ado Data控件的属性对话框(4) 在“数据链接属性”对话框中,第一步要做的工作是选择数据源提供者程序。使用哪一种数据源,就选择哪一种提供者程序。例如,使用本例的数据库。就选择Microsoft Jet4.0 OLE DB Provider,然后单击“下一步”按钮。设计器切换到“连接”选项卡,如图2-6所示,让用户设置使用的数据源。(5) 选择或输入数据库的名称。数据库可以在本机硬盘上,也可以在网络上。单击数据库名称文本框旁边的命令按钮,然后在Windows标准对话框中选择作为数据源的Microsoft Jet数据库。(6) 单击“测试连接”命令按钮,测试刚才的设置是否正确及数据库是否可用。如果当前设置的数据源可用,则Visual Basic给出一个连接成功的对话框。否则,警告连接失败并给出失败的原因。(7) 在“属性”对话框中,切换到“身份验证”选项卡,如图2-7所示。因为在设置连接字符串时,已经向Ado Data控件提供了身份验证信息,所以当前不用再进行设置。如果连接不是用“数据连接属性”对话框创建的,或者输入的字符串中没有包含身份验证信息,则必须设置本选项卡,以便让数据源的数据库管理系统确定用户权限。图4-4 Ado Data控件的属性对话框图4-3 “数据链接属性”对话框(8) 属性对话框中,切换到“记录源”选项卡。在“记录源”选项卡中,可以在“命令类型”下拉列表框中选择用于记录源的命令类型。可用的选择,如下表所示:表4.1 记录源命令列表属性值含义8-adCmdUnknow未知类型,用户在“命令文本”框中输入创建命令对象所使用的SQL语句1-adCmdText文本类型,用户在“命令文本”框中输入创建命令对所使用的SQL语句2-adCmdTable表类型,在“表或存储过程名称”下拉列表框中选择一个表的名称,Visual Basic用该表创建一个命令对象,相当于输入了“Select * from Table”语句4-adCmdStoreProc存储过程,在“表或存储过程名称”下拉列表框中选择一个查询的名称 (9) 把该属性设定为2-adCmdTable,把“表或存储过程名称”属性设置为需要用的表。(10) 单击“确定”按钮,关闭属性对话框,完成所有的设置。4.1.2 建立DataGrid控件与Adodc控件的连接根据前面的介绍可以知道,Ado Data控件必须通过绑定数据感知控件才能提供一个访问数据库的界面,用来对数据库数据的浏览、添加、删除、修改等操作。为了体现用Ado Data控件直接进行记录的移动,这里就要引入DataGrid控件来进行数据的显示。具体的操作步骤如下(仅举一例):(1) 打开frmAttInfo窗体(2) 设置DataGrid控件的DataSource属性为Adodc1。这样就完成了DataGrid控件同Adodc1控件的绑定。(3) 然后保存该项目,接着运行该窗体。(4) 在该运行窗口中直接单击Adodc1控件中的箭头图标即可实现DataGrid控件中选定数据的上下移动。(5) 在上节完成的基础上,只要设置DataGrid控件的属性即可实现对记录的增、删、改操作。右键单击DataGrid控件,在弹出的快捷菜单中选择“属性”,便会弹出“属性页”对话框。(6) 选中“允许添加”、“允许删除”、“允许更新”复选框,代表DataGrid控件可以进行记录的添加、删除、更新。(7) 保存设置,运行程序,如图2-9所示,最后一行是空白行,用来添加新的数据,选
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。