员工工资管理系统(VBSQL)[1].docx

上传人:小飞机 文档编号:1905174 上传时间:2022-12-25 格式:DOCX 页数:39 大小:157.53KB
返回 下载 相关 举报
员工工资管理系统(VBSQL)[1].docx_第1页
第1页 / 共39页
员工工资管理系统(VBSQL)[1].docx_第2页
第2页 / 共39页
员工工资管理系统(VBSQL)[1].docx_第3页
第3页 / 共39页
员工工资管理系统(VBSQL)[1].docx_第4页
第4页 / 共39页
员工工资管理系统(VBSQL)[1].docx_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《员工工资管理系统(VBSQL)[1].docx》由会员分享,可在线阅读,更多相关《员工工资管理系统(VBSQL)[1].docx(39页珍藏版)》请在三一办公上搜索。

1、VB+SQLserve2000课程设计报告员工工资管理系统姓 名: _班 级: _学 号: _指导教师: _成 绩:_完成时间:2009-12-28 完成地点:蚌埠学院 摘 要1第一章 绪论21.1数据库管理系统21.2员工工资管理系统21.3开发工具3第二章 员工工资管理系统设计分析32.1应用需求与分析32.2系统模块划分32.3系统数据库设计4第三章:企业工资管理系统应用程序设计531操作流程图532 “登录模块”详细设计633 “主窗体”模块详细设计1034 各项子模块详细设计133.41添加用户与删除133.42 修改用户153.4.3数据库备份和恢复173.4.4退出203.4.5

2、基本工资203.4.6岗位工资223.4.7部门管理243.4.8员工管理263.4.9 发放工资273.4.10 按员工查询323.4.11 按部门查询33模块一:35模块二:35第五章:结 束 语36谢辞37参考文献:37摘 要企业的工资管理是公司管理的一个重要内容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工

3、的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用微软的VB6,后台数据库采用sqlserve2000数据库。VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。sqlserve2000数据库具有与VB6无缝连接、操

4、作简单、易于使用的优点。运行结果证明,本企业工资管理系统极大提高了工作效率,节省了人力和物力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。 第一章 绪论1.1数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MSsqlserve2000就是一种关系型数据库管理系统。关系模型主

5、要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。SQL语言是关系型数据库的标准化语言,已得到了广泛的应用。1.2员工工资管理系统 企业工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。最初的工资统计和发放都是使用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费财务人员大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现工资发放错误的

6、现象。同时工资的发放具有较强的时间限制,必须严格按照单位规定的时间完成计算和发放工作。正是企业工资管理的这种重复性、规律性、时间性,使得企业工资管理计算机化成为可能。企业工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多企业工资信息的处理,同时使用电脑还可以安全地、完整地保存大量的企业工资记录。1.3开发工具微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效

7、率和可靠性。因此,本系统使用MS Visual Basic 6.0开发。第二章 员工工资管理系统设计分析2.1应用需求与分析基本信息的添加、修改、删除和查询。基本信息包括项目类型信息,项目状态信息,模块状态信息和缺陷级别信息等。 此功能为项目组管理和软件项目管理模块提供数据。项目组信息的添加、修改、删除和查询。项目组信息包括收员工信息和角色信息。软件项目管理模块包括项目基本信息管理、软件模块管理和软件缺陷管理等功能2.2系统模块划分开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科

8、学、现代化的员工管理。系统最终实现的主要功能如下。企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。企业工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表。系统部分:包括添加用户和修改密码。2.3系统数据库设计数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:基本工资信息:包括工资级别和工资金额。岗位工资信

9、息:包括工资级别和工资金额。工资信息:包括员工编号、基本工资、岗位工资、水电费、实发金额。部门信息:包括部门编号、部门名称、部门负责人、部门人数。工资统计信息:包括员工编号、姓名、出生年月、所属部门、文化程度、职称。用户信息:包括用户名、密码和权限。员工信息表员工编号char (8)主键,不允许重复姓名char (8)性别char (2)出生年月datetime所属部门char (4)外键文化程度char (4)职称char (12)部门信息部门编号char (4)主键,不允许重复部门名称char (20)部门负责人char (8)部门人数int基本工资工资级别char (2)主键,不允许重复

10、工资金额numeric (8, 2)岗位工资工资级别char (2)主键,不允许重复工资金额numeric (8, 2)工资信息员工编号char (8)主键,不允许重复; 外键基本工资numeric (8, 2)岗位工资numeric (8, 2)水电费numeric (8, 2)实发金额numeric (8, 2)用户表用户名char (8)主键,不允许重复密码char (20)权限char (20)E-R图: 第三章:企业工资管理系统应用程序设计31操作流程图初始登入用户:admin 密码为:admin用户登入录入口令是否正确?进入工资管理主界面职员管理工资项目/工资数据录入/工资报表用户

11、管理数据备份/恢复结束当月工资32 “登录模块”详细设计 登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。 登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。 窗体及核心代码:Private Sub cmd_cancel_Click() txt_key.Text = cmo_user.Text = 请选择 Unload MeEnd SubPrivate Sub cmd_ok_Click() Dim try_times As Strin

12、g Dim sql As String Dim rst As ADODB.Recordset try_times = 0If (Trim(txt_key.Text) = ) Then MsgBox 请输入密码, vbOKOnly + vbExclamation, 提示Else sql = select * from 用户表 where 用户名= & Trim(cmo_user.Text) & Set rst = ExecuteSQL(sql, ) If Trim(rst.Fields(1) = Trim(txt_key.Text) Then If Trim(rst.Fields(2) 管理员

13、Then frm_main.xitong.Enabled = False 在这里设计非管理员用户的权限,这里我假设让非管理员用户不能用菜单中的系统 frm_main.shezhi.Enabled = False frm_main.xinxiweihu.Enabled = False End If rst.Close UserName = Trim(cmo_user.Text) frm_main.Show Unload Me Else MsgBox 密码不正确,请重新输入, vbOKOnly + vbExclamation, 警告 txt_key.SetFocus txt_key.Text =

14、try_times = try_times + 1 Exit Sub 在这里若密码错了应该跳出该过程,否则下面的语句还会执行,这不是你想要的 End If try_times = try_times + 1 个人认为密码输入错了才加一,你这样的话,用户名错了也会加一,当然你这里用户名不会错是吧,改得多余了 If try_times = 3 Then Unload Me End IfEnd IfEnd SubPrivate Sub Form_Load() Dim i As Integer Dim sql As String Dim rst As ADODB.Recordset sql = sel

15、ect 用户名 from 用户表 Set rst = ExecuteSQL(sql, ) For i = 1 To rst.RecordCount cmo_user.AddItem (rst.Fields(0) rst.MoveNext Next iEnd Sub主窗体:Private Sub bumenxinxi_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )power = rst.Fields(2)If Trim(power)

16、管理员 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_bumenxinxi.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub gangweigongzi_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )power = rst.Fields(2)If Trim(power) 管理员

17、 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_gangweigongzi.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub jiben_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )power = rst.Fields(2)If Trim(power) 管理员 ThenMsg

18、Box 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_jiben.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub yonghushanchu_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )power = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您无权进

19、行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_tianjiayushanchu.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub yonghutianjia_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )power = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您

20、无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_tianjiayushanchu.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub Form_Load() Dim i As Integer Dim sql As String Dim rst As ADODB.Recordset sql = select 权限 from 用户表 Set rst = ExecuteSQL(sql, ) For i = 1 To rst.RecordCount rst.MoveNext

21、 Next i33 “主窗体”模块详细设计在这个项目中,选择使用多文档界面。使用这个窗体的好处是可以使程序更加有条理。对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。主窗体是进行相关操作的主界面。在这几个里,管理员有所有的权利进行各种操作。主窗体及核心代码:Private Sub bumenxinxi_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = Ex

22、ecuteSQL(sql, )power = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_bumenxinxi.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub gangweigongzi_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = Execu

23、teSQL(sql, )power = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_gangweigongzi.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub jiben_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sq

24、l, )power = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_jiben.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub yonghushanchu_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )powe

25、r = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_tianjiayushanchu.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub yonghutianjia_Click()Dim sql As StringDim rst As New ADODB.Recordsetsql = select * from 用户表 Set rst = ExecuteSQL(sql, )p

26、ower = rst.Fields(2)If Trim(power) 管理员 ThenMsgBox 您无权进行该操作!, vbOKOnly + vbExclamation, 警告ElseIf Trim(power) = 管理员 Thenfrm_tianjiayushanchu.ShowUnload MeEnd IfEnd IfEnd SubPrivate Sub Form_Load() Dim i As Integer Dim sql As String Dim rst As ADODB.Recordset sql = select 权限 from 用户表 Set rst = ExecuteS

27、QL(sql, ) For i = 1 To rst.RecordCount rst.MoveNext Next iEnd Sub34 各项子模块详细设计3.41添加用户与删除选择“系统”“添加用户与删除”菜单,在添加用户的窗体里,输入新的用户名称和密码后,单击“添加”按钮,系统将会添加新的用户。在窗体里输入用户名称和密码,单击“删除”按钮,系统将会删除原来用户。Private Sub cmd_adduser_Click()Dim newrst As ADODB.RecordsetDim sql As Stringsql = insert into 用户表 values( & & Trim(t

28、xt_username.Text) & , _ & & Trim(txt_password.Text) & , _ & & Trim(txt_power) & & )Set newrst = execute_sql(sql)sql = select * from 用户表Set newrst = select_sql(sql)Set DataGrid1.DataSource = newrstEnd SubPrivate Sub cmd_cancel_Click()Unload MeEnd SubPrivate Sub cmd_delete_Click()Dim sql As Stringsql

29、= select * from 用户表If txt_username Then Set objrs = ExecuteSQL(sql, ) Set DataGrid1.DataSource = objrs 刷新网格,显示操作后的结果 End If If objrs.RecordCount = 0 Then MsgBox 库中没有记录! Exit Sub End If If objrs.RecordCount 0 Then If MsgBox(真的要删除该级用户信息吗?, vbYesNo + vbQuestion, 警告) = vbYes Then objrs.Delete MsgBox 删除成

30、功!, vbInformation, 提示 End If End IfEnd SubPrivate Sub Form_Load()Dim newrst As ADODB.RecordsetDim sql As Stringsql = select * from 用户表Set newrst = select_sql(sql)Set DataGrid1.DataSource = newrstEnd Sub3.42 修改用户选择“系统”-“修改用户”菜单,在窗体里输入新的用户名称和用户权限,单击“修改”按钮,系统将会修改原来用户信息。Private Sub cmd_adduser_Click()Di

31、m newrst As ADODB.RecordsetDim sql As Stringsql = insert into 用户表 values( & & Trim(txt_username.Text) & , _ & & Trim(txt_password.Text) & , _ & & Trim(txt_power) & & )Set newrst = execute_sql(sql)sql = select * from 用户表Set newrst = select_sql(sql)Set DataGrid1.DataSource = newrstEnd SubPrivate Sub c

32、md_cancel_Click()Unload MeEnd SubPrivate Sub cmd_delete_Click()Dim sql As Stringsql = select * from 用户表If txt_username Then Set objrs = ExecuteSQL(sql, ) Set DataGrid1.DataSource = objrs 刷新网格,显示操作后的结果 End If If objrs.RecordCount = 0 Then MsgBox 库中没有记录! Exit Sub End If If objrs.RecordCount 0 Then If

33、MsgBox(真的要删除该级用户信息吗?, vbYesNo + vbQuestion, 警告) = vbYes Then objrs.Delete MsgBox 删除成功!, vbInformation, 提示 End If End IfEnd SubPrivate Sub Form_Load()Dim newrst As ADODB.RecordsetDim sql As Stringsql = select * from 用户表Set newrst = select_sql(sql)Set DataGrid1.DataSource = newrstEnd Sub3.4.3数据库备份和恢复选

34、择“系统”-“数据库备份和恢复”菜单,在位置文本框中输入备份或恢复的文件所在位置,单击“备份”或“恢复”按钮,数据库将备份或恢复。Option ExplicitPrivate Sub cmd_recovery_Click()If cnMod.State = adStateOpen Then cnMod.Close 如果已连接,关掉宽End If cnMod.Open driver=sql server;server=HZ;uid=sa;pwd=heweiling;database=master 建一个连接用来获得要还原数据库的进程标识符(spid)Dim rs As New ADODB.Rec

35、ordset 该记录集保存进程ID以备操作 rs.Open select spid from sysprocesses where dbid=db_id(工资管理系统), cnMod, adOpenDynamic, adLockPessimistic解释一下,这句话是为了将有关“工资管理系统”所有服务进程ID查询出来db_id是SQL中的一个函数具体语法你自己看它的帮助文件哦,这里就不赘述了If rs.EOF = False Then rs.MoveFirst Do While rs.EOF = True 扫描并关闭有关“工资管理系统”的服务进程 cnMod.Execute (kill & r

36、s.Fields(0) kill 也是SQL的方法“杀”与dos下的kill类似啊,是吧,呵呵自己看看帮助文件很详尽的 rs.MoveNext LoopEnd If CD.Filter = 所有文件(*.*)|*.*|备份文件(*.bak)|*.bak CD.InitDir = App.Path Text1.Text = CD.FileName CD.ShowOpenDim Mstr As String Mstr = 恢复主要数据库?数据恢复操作将会覆盖以前的所有数据并且覆盖后无法恢复,您确定要进行恢复操作吗?If MsgBox(Mstr, vbYesNo + vbQuestion, 操作提示

37、) = vbYes ThenOn Error GoTo re Label1.Caption = 正在恢复,请稍候 cnMod.BeginTrans 开始一个事件 cnMod.Execute (restore database 工资管理系统 from disk= & CD.FileName & with replace) SQL语句要是不会用,查看帮助文件 cnMod.CommitTrans 执行 Label1.Caption = 恢复成功 MsgBox 恢复成功, vbOKOnly + vbInformation, 提示 Exit Subre: cnMod.RollbackTrans 回滚(不

38、执行) Label1.Caption = 恢复失败 MsgBox 恢复失败, vbOKOnly + vbInformation, 提示End IfEnd SubPrivate Sub cmd_back_Click()下面是备份的代码,处理的比较粗糙,你自己优化了,呵呵,相信你能看懂的,我就不注释了If cnMod.State = adStateOpen Then cnMod.CloseEnd If CD.Filter = 所有文件(*.*)|*.*|备份文件(*.bak)|*.bak CD.InitDir = App.Path CD.ShowSave txt_weizhi = CD.FileN

39、ame cnMod.Open driver=sql server;server=HZ;uid=sa;pwd=heweiling;database=工资管理系统On Error GoTo back cnMod.BeginTrans cnMod.Execute (backup database 工资管理系统 to disk= & CD.FileName & ) cnMod.CommitTrans MsgBox 成功地备份到 & CD.FileName & 下, vbOKOnly + vbInformation, 操作提示 cnMod.Close Exit Subback: cnMod.Rollba

40、ckTrans MsgBox 备份失败, vbOKOnly + vbInformation, 提示 cnMod.CloseEnd Sub到这里就告一段落了,是不是很简单呢,当然这里有很多不足,你自己完善吧Private Sub Form_Load()End Sub3.4.4退出选择“系统”-“退出”菜单,单击则推出主菜单界面。3.4.5基本工资选择“设置”-“基本工资”菜单,可以单击“添加”,“删除”,“修改”,“取消”按钮来实现相应功能。Dim objrs As ADODB.RecordsetDim msg_sql As StringPrivate Sub cmd_add_Click()If Combo_level.Text Then Set objrs = ExecuteSQL(insert into 基本工资 values( + Str(Combo_level.Text) + , + (Text_pay.Text) + ), msg_sql) 插入符合条件的工资信息 Set objrs = ExecuteSQL(select * from 基本工资, msg_sql) Set DataGrid1.DataSource = objrs 刷新网格,显示操作后的结果 Combo_level.SetFo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号