考勤管理系统实验报告_第1页
考勤管理系统实验报告_第2页
考勤管理系统实验报告_第3页
考勤管理系统实验报告_第4页
考勤管理系统实验报告_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、目录第一章信息系统概况31.1 选题介绍31.2 课程设计小组基本情况介绍错误!未定义书签。1.2.1 课程设计小组成员的基本情况介绍错误!未定义书签。1.2.2 课程设计小组前期的准备情况错误!未定义书签。1.2.3 课程设计小组各成员所承担的课程设计的任务.错误!未定义书签。第二章信息系统分析42.1 可行性分析42.1.1 技术可行性分析42.1.3 社会因素可行性分析52.1.4 可行性分析结论52.2 客户需求分析52.3 系统分析部分72.3.1 业务流程图72.3.2 数据流程图72.3.3 E-R图92.3.4 数据字典10第三章信息系统设计123.1 功能结构图设计123.2

2、 输入输出设计123.3 数据库结构设计133.3.1 概念设计133.3.2 逻辑结构设计设计143.4 代码设计16第四章信息系统实施174.1 源程序174.1.1 添加用户174.1.2 修改密码174.1.3 出差情况174.1.4 添加部门194.1.5 部门管理204.1.6 更新部门224.1.7 员工考勤登记234.1.8 请假情况354.1.9 上班时间设置374.1.10 上班情况384.1.11 用户登入394.1.12 添加员工404.1.13 员工管理424.1.14 修改员工464.1.15 主界面484.3 模拟运行数据514.4 系统使用说明书54第五章参考书

3、籍56第一章信息系统概况1.1选题介绍当今社会,计算机已经十分普及,性能也日趋完善。它已经被应用于许多领域。比如说,小到图书馆的图书管理,超市或网吧的收费管理,KTV的点歌系统,大到航空、铁路的售票,全国人口户籍的管理等等。随着现代科技的进步,用计算机来进行考勤的管理也成为现代化企业运作必不可少的一部分。在过去我们的考勤工作都是人工完成的,不仅浪费了很多的人力跟物力,而且无法保证其准确性和透明度,给企业的管理带来了许多的不便。现在利用计算机来管理我们的考勤工作,大大降低了工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松了,而且也实用、安全。计算机技术特别是数据库技术的

4、发展为企业建立管理信息系统,甚至对改变管理思想起着不可估量的作用。实践证明信息技术已在企业的管理层面扮演越来越重要的角色。通过考勤系统我们能很容易地对公司员工的信息有一个基本的了解,可以很方便地知道员工的出勤情况,通过对员工出勤信息的了解,就能计算出员工的实际工资。一切的统计和计算都由计算机代为管理了,考勤信息管理系统对企业的合理化管理起到了很大的作用,它为企业信息化的建设打响了头炮,而企业的信息化建设已成为现代各个企业发展的需要。所以说,考勤管理系统的开发具有非常重要的意义。第二章信息系统分析2.1 可行性分析目前,计算机在我国的考勤管理工作中,主要可用来进行报表处理,档案管理,文书编辑,信

5、息查询,综合分析。查询统计作为考勤管理的一个重要组成部分,是通过对考勤情况的调查,整理和分析,了解考勤情况的发展趋势,为各级领导机关制定考出勤的方针,政策,加强干部管理,改革干部制度提供准确数字的依据。其工作除涉及到干部的基本情况统计之外,还包括职工的工资统计,职工的考勤情况统计,职工的奖惩情况统计,职工的出差情况统计,职工的请假情况统计等方面,其涉及的面之广,数据量之大可想而知,若利用手工进行考勤的统计工作,大致要经过考勤统计查询,考勤的统计资料的整理,考勤统计分析三个过程,但这种手工统计过程,存在着几个明显的问题,比如说统计资料缺乏准确性,及时性,需要花费大量的人力,物力,财力等。手工方法

6、所表现出来的种种劣势,使人们慢慢意识到管理现代化已成为当代社会发展的一股不可抗拒的洪流。在管理现代化的浪潮中,考勤管理现代化也势在必行。实现考勤管理现代化是一个复杂的系统工程,需要采取科学的管理方法和先进的科技手段。科学的管理方法在管理中一般是指数学方法、系统方法、信息方法、控制论方法、社会学方法、心理学方法等科学方法,而先进的科技手段主要是运用当代最新科学技术之一的电子计算机来为考勤管理现代化服务。而且一个完善的考勤系统应做到以下几点:?提高了考勤管理效率,减轻劳动强度;?提高信息处理速度和准确性;?为考勤负责人提供更方便、科学的服务项目2.1.1 技术可行性分析系统开发环境:Windows

7、xpsp3+vs2005+sqlserver2000技术已经比较成熟,和其他应用开发语言比起来有很大的优势,所以利用这些技术是完全可以完成这些功能的。同时由于逻辑不是太复杂,估计可以按时完成此项目。考勤管理系统是工作主要是在职工和管理都有之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建议提供了技术条件。2.1.2 经济可行性分析(1) 支出A、在基建投资上,只需要配置一台DELL服务器,大概2万左右;B、软件设计和开发费用:2.5万元C、经常性指出:(主要

8、是指软件的维护费用)(2) 收益进一步实现办公自动化,减少人力投资和办公费用,极大提高办公效率,同时更好地控制考勤制度,降低成本。(3) 投资回收周期根据经验算法,收益的累计数开始超过支出的累计数的时间为1年。2.1.3 社会因素可行性分析对所建议系统的社会因素方面的可行性分析:(1) 法律可行性新系统的研制和开发,所有软件都选用正版,将不会侵犯他、集体和国家的利益,不会违反国家政策和法律。(2) 使用方面的可行性由于新系统的客户端只要求用浏览器,管理者与人员完全有能力使用此系统,并且新系统的研制和开发是充分考虑工作人员对考勤的易于管理,提高工作效率,界面友好,操作简单方便,能完全满足职工的使

9、用要求。对传统管理理念的冲击,可能引起管理层的变动和人员调整。对于企业管理人员的要求提高,使企业在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽企业在市场竞争环境下的生存空间。对于企业的管理者与职工之间管理方式的转变和扩充。2.1.4 可行性分析结论结论意见:经上述可行性分析,系统研制和开发可以立即开始进行2.2 客户需求分析考勤系统应该便于管理者的查询、修改、更新、统计以及高层管理人员的查询等操作。能从整体上体现去每个员工每日,每月的出勤情况。基本信息管理包括节假日日期设置、部门信息管理和员工信息管理。(1) 主要功能a. 员工考勤签到:员工每天上班时需要登陆系统进行签到,如果当

10、天已经签到了,则不执行重复操作!考勤签退:员工每天下班时需要登陆系统进行签退,如果当天还没有签过到,则不执行签退操作,如果当天还没有到下班时间,也不执行签退操作!节假日查看:员工可以登录查看节假日加班安排系统管理:修改自己的密码,查看系统简介.b. 管理员员工信息管理:管理员登陆系统后可以添加新的员工信息,可以对现有员工的信息进行修改和查询!可以删除某些员工信息,当删除员工信息时同时将删除他们的考勤信息职位类别及上下班时间管理:不同的职位类别拥有不同的上下班时间,管理员可以添加新的职位类别,修改已经存在的职位类别的名称和上下班时间,部门信息管理:管理员可以添加和删除部门信息,当部门下面存在员工

11、信息时不执行删除操作.系统管理:修改自己的登陆密码,查看系统简介。节假日管理:节假日的设置和查看;(2) 特点实现了管理员和员工登陆信息的自动判断!根据不同的身份显示不同的功能菜单。程序使用三层架构思想,采用完全面向对象的思想方法设计。系统在进行相关操作如删除员工信息时使用了存储过程。(3) 数据输入:通过登录系统输入职工上班下班,以及请假、出差等信息。输出:职工考勤情况。(用户对相关职工的查询结果和报表)(4) 安全保密系统对不同权限的用户提供不同的功能模块,对历史数据的更改和新数据的添加只有一定权限的用户才能操作,一般用户只能进行查询操作。对数据库的关键数据应要求保密。系统默认管理员登陆信

12、息:帐号admin密码admin2.3系统分析部分2.3.1业务流程图2.3.2数据流程图图2-2顶层数据流程图用户信息.上班时间.工作状态普通用户图2-3一层数据流程图上班时间上班时间设置2.3.3 E-R 图图2-5E-R图PM管理属于查询NNN1登记11NiiN出差单员工上班单请假单管理员部门名字:上班时间数据描述:关于每日上班时间的信息,用于员工对上班时间的确认定义:上班时间数据二上午工作开始时间+上午工作离开时间+下午工作开始时间+下午工作离开时间位置:输入到上班时间表名字:部门数据描述:部门的信息,用于对部门的确认定义:部门资料数据二部门代号+部门名称位置:输入到部门表名字:上班类

13、型数据描述:上班类型的信息,用于对员工上班时间类型的确认定义:上班类型数据二类型代号+类型名称位置:输入到上班类型表名字:个人资料数据描述:职工的个人信息,用于对职工的确认定义:个人资料数据=员工ID+员工姓名+员工性别+出生日期+职务+个人工作资料档案位置:输入到员工表名字:职工列表数据描述:职工的部门信息,用于对职工部门的确认定义:职工列表数据二员工ID+员工姓名+部门代码+部门名称+员工类别+员工职位+查询密码位置:输入到部门表、用户表名字:考勤数据描述:职工的考勤信息定义:考勤数据=员工ID+年月+迟到+早退+请假+旷工位置:输入到请假表、上班表、出差表名字:操作用户表别名:操作用户信

14、息描述:是对使用本系统的用户进行 身份和权限验证用的定义:用户名+密码+所属单位+权 限一 +权5M二十操作员位置:所后表单名字:权限一别名: 描述:标识本系统的用户对本系统定义:管理权使用权限权限一 二5字符5位置:用户表名字:用户名别名:描述:惟一标识本系统的用户身份定义:用户名=5字符5名字:密码别名:描述:验证本系统的用户身份定义:密码=5字符5位置:用户表名字:权限二别名:描述:标识本系统的用户对本系统登记权的使用权限定义:权限二二5字符5位置:用户表第三章信息系统设计3.1功能结构图设计图3-1功能结构图3.2输入输出设计表3-3员工下班名称、标识符下班输入输入部门、姓名,点击上班

15、输出提示卜班成功信息表3-4修改密码名称、标识符修改密码输入管理员输入用户名、原始密码、新设定的密码输出提示修改密码成功信息表3-5申请请假名称、标识符胸皿假输入输入请假人姓名、所属部门、请假时间、请假时长、请假原因输出提示请假申请已经提交信息表3-6申请出差名称、标识符叱出差输入申请人姓名、所属部门、出差的开始时间、出差地点、出差原因输出提示出差申请已经提交信息表3-7员工添加名称、标识符添加员工输入输入部门、姓名、性别、年龄、进公司时间、个人密码输出提示添加已完成表3-8部门添加名称、标识符音B门添力口输入输入部门名称输出提示添加已完成表3-9上下班时间设定名称、标识符上、下班时间设定输入

16、上、下班时间输出提示设置成功3.3数据库结构设计3.3.1 概念设计数据库一般分为三级模式:外模式、概念模式和内模式在这里我们将要设计的是数据库的概念模式。通过对职工出勤管理系统的内容和数据流程分析及E-R图,设计如下数据项和数据结构:1 .部门信息。包括部门编号、部门名称、部门人数等。2 .超级用户信息。包括用户名、密码、姓名、性别、出生日期、籍贯等。3 .普通用户信息。包括编号、部门名称、姓名、性别、出生日期、籍贯等信息。4 .考勤信息。包括序列号、编号、签到时间、签离时间等信息。5 .员工状态。包括员工请假、出差、早退、迟到、上班。6 .考勤历史信息。包括记录号、编号、日期、签到时间、签

17、离时间、迟到、缺勤、早退等信息。7 .用户信息。包括用户名称、密码、所在单位、用户权限信息、操作员、最后修改时间。3.3.1逻辑结构设计设计根据职工考勤管理系统的功能要求,选取SQLServer2000作为后台数据库。在上面的实体和实体之间的E-R图设计基础上,将ER图转化为关系模型,形成数据库中的表格及表格之间的关系。该数据库由5个表组成,部门表、超级用户表、用户表、考勤表、考勤历史表。分别如下表所示:表3-10出差表名称字段为空性备注部门代号departmentId数字否员工IDworkerld数字否出差时间ccTime日期/时间否出差地点ccArea文本是出差天数ccLength数字是登

18、记时间dcTime日期/时间是销差时间xcTime日期/时间是出差备注ccContent文本是表3-11部门表名称字段为空性备注部门代号departmentId数字否唯一表示部门部门名称departmentName文本否部门名称表3-12请假表名称字段封为空性备注部门代号departmentId数字否员工IDworkerld数字否请假时间qjTime日期/时间否请假天数qjLength数字是登记时间djTime日期/时间是请假原因qjReason文本是销假时间nxjTime日期/时间是是否旷工ynKg是/否是表3-13上班表名称字段为空性备注部门代号departmentId数字否员工IDwor

19、kerId数字否工作日期workday日期/时间:否上午上班时间mstartTime日期/时间是下午上班时间astartTime日期/时间是上午卜班时间mleaveTime日期/时间是下午卜班时间aleaveTime日期/时间是上班类型1workmsType数字是存放工作类型表中的typeId0:正常上班1:请假2:出差3:早退4:迟到上班类型2workmlType数字是默认彳1为0,作为是否已经登记的标记上班类型3workasType数字是默认彳1为0,作为是否已经登记的标记上班类型4workalType数字是默认彳1为0,作为是否已经登记的标记表3-14用户表名称字段为空性备注用户名use

20、rname文本否密码password文本否真实姓名realname文本否注册时间regtime日期/时间否权限permission数字否0:管理员1:普通用户表3-15员工表名称字段为空性备注部门代号departmentId数字否员工IDworkerId数字否员工姓名workerName文本是员工性别workerSex文本是员工年龄workerAge数字是进入公司时间intoCompanyTime日期/时间否员工密码workerPsw文本否进行出勤输入的最后验证表3-16上班时间表名称字段为空性备注上午工作开始时间mstartTime日期/时间否上午工作离开时间mleaveTime日期/时间否

21、下午工作开始时间astartTime日期/时间否下午工作离开时间aleaveTime日期/时间否表3-17上班类型表名称字段为空性备注代号typeId数字否名称typeName文本是3.4代码设计部门代号为两位数,按照创建时间早晚排行。例如:生产部为第七个创建的部门,所以他的编号为07。员工ID一共分成6位,前两位表示部门代号,中间两位表示进入部门年份,后两位表示员工编号。例如:娄京兆是2013年生产部招收的第一位员工,那么他的ID就是071301。上班类型代号为一位数,按照上班类型分为五类,0:正常上班1:请假2:出差3:早退4:迟到第四章信息系统实施4.1源程序4.1.1添加用户Dimm_

22、clsUserAsclsUserPrivateSubcmdReg_Click()Setm_clsUser=NewclsUserm_clsUser.DoAddUsertxtUserName,txtPassword,txtPasswordConfirm,txtRealName,comboPermission,txtRegTime,frmAddUserEndSubPrivateSubForm_Load()comboPermission.AddItem管理员,0comboPermission.AddItem普通用户,1comboPermission.ListIndex=0EndSubPrivateSu

23、bcmdClose_Click()UnloadMeEndSub4.1.2修改密码Dimm_clsUserAsclsUserPrivateSubcmdChPwdOk_Click()Setm_clsUser=NewclsUserm_clsUser.DoChPwdtxtChUser,txtOldPwd,txtNewPwd,txtNewPwdagain,frmChPwdEndSubPrivateSubForm_Load()EndSubPrivateSubcmdChPwdCancel_Click()UnloadMeEndSub4.1.3出差情况DimstrSqlAsStringDimrsAsNewRec

24、ordsetPrivateSubcboDept_Click()cboName.ClearstrSql=Select*fromTWorkerwheredepartmentId=&cboDept.ItemData(cboDept.ListIndex)&orderbyworkerIdSetrs=TransactSQL(strSql)DoWhileNotrs.EOFcboName.AddItem(rs.Fields(2).Value)cboName.ItemData(cboName.NewIndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboName.L

25、istIndex=0cboName.RefreshEndSubPrivateSubcmdPrint_Click()SetdrChuChai.DataSource=adodcChuChai.RecordsetdrChuChai.Sections(1).Controls(1).Caption=drChuChai.Sections(2).Controls(1).Caption=drChuChai.Sections(2).Controls(2).Caption=drChuChai.Sections(2).Controls(3).Caption=drChuChai.Sections(2).Control

26、s(4).Caption=drChuChai.Sections(2).Controls(5).Caption=drChuChai.Sections(2).Controls(6).Caption=drChuChai.Sections(2).Controls(7).Caption=drChuChai.Sections(2).Controls(8).Caption=drChuChai.Sections(3).Controls(1).DataField=drChuChai.Sections(3).Controls(2).DataField=drChuChai.Sections(3).Controls(

27、3).DataField=drChuChai.Sections(3).Controls(4).DataField=drChuChai.Sections(3).Controls(5).DataField=drChuChai.Sections(3).Controls(6).DataField=drChuChai.Sections(3).Controls(7).DataField=drChuChai.Sections(3).Controls(8).DataField=drChuChai.Show请假情况统计表部门名称员工名称出差时间出差地点出差天数登记时间销差时间出差备注部门名称员工名称出差时间出差

28、地点出差天数登记时间销差时间出差备注EndSubPrivateSubcmdQuery_Click()strSql=selecta.departmentNameas部门名称,b.workerNameas员工名称,c.ccTimeas出差时间,c.ccAreaas出差地点,c.ccLengthas出差天数,c.dcTimeas登记时间,c.xcTimeas销差时间,c.ccContentas出差备注fromTDepartmenta,TWorkerb,TChuChaicwhereb.departmentId=&cboDept.ItemData(cboDept.ListIndex)&andb.work

29、erId=&cboName.ItemData(cboName.ListIndex)&anda.departmentId=b.departmentIdandb.departmentId=c.departmentIdandb.workerId=c.workerIdandc.ccTimebetween#&dtpStartDate&#and#&dtpEndDate&#ConnectToDBRefushDataGridadodcChuChai,dgChuChai,strSqlDisConnectEndSubPrivateSubForm_Load()strSql=Select*fromTDepartmen

30、torderbydepartmentIdSetrs=TransactSQL(strSql)DoWhileNotrs.EOFcboDept.AddItem(rs.Fields(1).Value)cboDept.ItemData(cboDept.NewIndex)=rs.Fields(0).Valuers.MoveNextLooprs.ClosecboDept.ListIndex=0cboDept.RefreshEndSub4.1.4 添加部门DimdepartIdAsIntegerDimdepartNameAsStringIftxtbmName.Text=ThenMsgBox部门名称不能有空值E

31、xitSubElsedepartId=Trim(txtaddbmId.Text)departName=Trim(txtbmName.Text)strSql=insertintoTDepartment(departmentId,departmentName)values(_&departId&,&departName&)TransactSQL(strSql)MsgBox添加成功EndIfEndSubPublicSubinit()txtbmName.Text=num=0strSql=select*fromTDepartmentorderbydepartmentIdSetrs=TransactSQL

32、(strSql)IfNotrs.EOFAndNotrs.BOFThenrs.MoveLastnum=rs(0)num=num+1Me.txtaddbmId.Text=CStr(num)ElseMe.txtaddbmId.Text=1EndIfEndSubPrivateSubcmdreadd_Click()CallinitEndSubPrivateSubForm_Load()num=0strSql=select*fromTDepartmentorderbydepartmentIdSetrs=TransactSQL(strSql)IfNotrs.EOFAndNotrs.BOFThenrs.Move

33、Lastnum=rs(0)num=num+1Me.txtaddbmId.Text=CStr(num)ElseMe.txtaddbmId.Text=1EndIfEndSub4.1.5 部门管理DimstrSqlAsStringDimRowNumberAsIntegerPrivateSubcmdadd_Click()frmDepAdd.ShowvbModalEndSubPrivateSubcmddel_Click()IfConnectToDB()=FalseThenMsgBox数据库连接失败!ExitSubEndIfIfMsgBox(你真的要删除吗,vbInformation+vbYesNo,Ap

34、p.Title)=vbYesThenstrSql=deletefromTDepartmentwheredepartmentId=&RowNumberTransactSQL(strSql)DisConnectMsgBox删除成功,vbInformation,App.TitlestrSql=selectdepartmentIdas部门编号,departmentNameas部门名称fromTDepartmentRefreshDataadodcDepManage,dgDepManage,strSqlExitSubEndIfEndSubPrivateSubcmdUpdate_Click()IfRowNu

35、mber=-1ThenMsgBox请先选择要修改的数据!ExitSubEndIffrmDepUpdate.ShowvbModalEndSubPrivateSubComselect_Click()Dimm_txtdepartIDAsStringDimm_txtdepartNameAsStringm_txtdepartID=Trim(txtDepartId.Text)m_txtdepartName=Trim(txtDepartName.Text)If(m_txtdepartID=Andm_txtdepartName=)ThenstrSql=selectdepartmentIdas部门编号,depa

36、rtmentNameas部门名称fromTDepartmentElseIf(m_txtdepartIDAndm_txtdepartName)ThenstrSql=selectdepartmentIdas部门编号,departmentNameas部门名称_&fromTDepartmentwheredepartmentId=&m_txtdepartID&anddepartmentNamelike%&m_txtdepartName&%ElseIf(m_txtdepartID)ThenstrSql=selectdepartmentIdas部门编号,departmentNameas部门名称fromTDe

37、partmentwheredepartmentId=&m_txtdepartIDElseIfm_txtdepartNameThenstrSql=selectdepartmentIdas部门编号,departmentNameas部门名称_&fromTDepartmentwheredepartmentNamelike%&m_txtdepartName&%EndIfRefreshDataadodcDepManage,dgDepManage,strSqlEndSubPrivateSubdgDepManage_Click()OnErrorGoToShowErr:IfIsNull(dgDepManage.

38、Bookmark)ThenRowNumber=-1ExitSubElseRowNumber=dgDepManage.Columns(0).CellValue(dgDepManage.Bookmark)EndIffrmDepUpdate.SetRowNumberRowNumberShowErr:ExitSubEndSubPrivateSubdgDepManage_DblClick()OnErrorGoToShowErr:IfIsNull(dgDepManage.Bookmark)ThenRowNumber=-1ExitSubElseRowNumber=dgDepManage.Columns(0)

39、.CellValue(dgDepManage.Bookmark)EndIffrmDepUpdate.SetRowNumberRowNumberfrmDepUpdate.ShowvbModalShowErr:ExitSubEndSubPrivateSubForm_Load()RowNumber=-1EndSub4.1.6 更新部门OptionExplicitDimstrSqlAsStringDimrsDepAsNewADODB.RecordsetDimm_irownumberAsIntegerDimm_iDepartIdAsIntegerDimm_strDepartNameAsStringPri

40、vateSubcmdOk_Click()IftxtDepartName.Text=ThenMsgBox登记项目不能有空值ExitSubElsem_iDepartId=CInt(txtDepartId.Text)m_strDepartName=Trim(txtDepartName.Text)strSql=updateTDepartmentsetdepartmentName=&m_strDepartName&wheredepartmentId=&m_iDepartIdIfConnectToDB()=FalseThenMsgBox数据库连接失败!ExitSubEndIfTransactSQL(str

41、Sql)MsgBox修改成功cmdok.Enabled=FalseDisConnectstrSql=selectdepartmentIdas部门编号,departmentNameas部门名称fromTDepartmentRefreshDatafrmDepManage.adodcDepManage,frmDepManage.dgDepManage,strSqlEndIfEndSubPrivateSubForm_Load()m_iDepartId=GetRowNumberIfConnectToDB()=FalseThenMsgBox数据库连接失败!ExitSubEndIfstrSql=select

42、*fromTDepartmentwheredepartmentId=&m_iDepartIdSetrsDep=TransactSQL(strSql)txtDepartId.Text=rsDep.Fields(0)txtDepartId.RefreshtxtDepartName.Text=rsDep.Fields(1)txtDepartName.RefreshtxtDepartId.Enabled=FalseDisConnectEndSubPublicFunctionSetRowNumber(ByValp_irownumberAsInteger)m_irownumber=p_irownumber

43、EndFunctionPublicFunctionGetRowNumber()AsIntegerGetRowNumber=m_irownumberEndFunction4.1.7员工考勤登记DimstrSqlAsStringDimrsAsNewADODB.RecordsetDimtodayAsStringDimqjLengthAsDoubleDimqjTimeAsStringDimdjTimeAsStringDimqjReasonAsStringDimccLengthAsDoubleDimccTimeAsStringDimdcTimeAsStringDimccAreaAsStringDimcc

44、ContentAsStringDimnowtimeAsStringPrivateSubcboDept_Click()cboName.ClearstrSql=Select*fromTWorkerwheredepartmentId=&cboDept.ItemData(cboDept.ListIndex)&orderbyworkerIdSetrs=TransactSQL(strSql)DoWhileNotrs.EOFcboName.AddItem(rs.Fields(2).Value)cboName.ItemData(cboName.NewIndex)=rs.Fields(1).Valuers.Mo

45、veNextLooprs.ClosecboName.ListIndex=0cboName.RefreshEndSubPrivateSubcboYourDepCC_Click()cboYourNameCC.ClearstrSql=Select*fromTWorkerwheredepartmentId=&cboYourDepCC.ItemData(cboYourDepCC.ListIndex)&orderbyworkerIdSetrs=TransactSQL(strSql)DoWhileNotrs.EOFcboYourNameCC.AddItem(rs.Fields(2).Value)cboYou

46、rNameCC.ItemData(cboYourNameCC.NewIndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboYourNameCC.ListIndex=0cboYourNameCC.RefreshEndSubPrivateSubcboYourDepQJ_Click()cboYourNameQJ.ClearstrSql=Select*fromTWorkerwheredepartmentId=&cboYourDepQJ.ItemData(cboYourDepQJ.ListIndex)&orderbyworkerIdSetrs=Transa

47、ctSQL(strSql)DoWhileNotrs.EOFcboYourNameQJ.AddItem(rs.Fields(2).Value)cboYourNameQJ.ItemData(cboYourNameQJ.NewIndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboYourNameQJ.ListIndex=0cboYourNameQJ.RefreshEndSubPrivateSubcmdOk_Click()DimpswAsStringDimworktypeAsIntegerDimworkerPswAsStringDimpwdCountAs

48、IntegerpwdCount=0DimdepartIdAsIntegerDimworkerIdAsIntegerdepartId=cboDept.ItemData(cboDept.ListIndex)workerId=cboName.ItemData(cboName.ListIndex)strSql=selectworkerPswfromTWorkerwheredepartmentId=&departId&andworkerId=&workerIdSetrs=TransactSQL(strSql)Ifrs.EOF=FalseThenworkerPsw=rs.Fields(0)EndIfIfF

49、rame1.Visible=TrueThenIfoptmstart.Value=TrueThenIfMsgBox(确定要&optmstart.Caption&么?,vbOKCancel)=vbOKThenpsw=InputBox(请输入员工密码:,输入密码)IfyanzhengPWD(labwelcome,psw,workerPsw)=FalseThenExitSublabwelcome.Visible=FalseElseCallgetTimeIfDateDiff(s,nowtime,mstart)=0Thenworktype=6Elseworktype=4EndIfIfyanzheng(departId,workerId,today)ThenMsgBox你已经上班,不必再登记!ElsestrSql=insertintoTShangBan(departmentId,workerId,workday,mstartTime,workmsType)&_valu

温馨提示

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

评论

0/150

提交评论