资源目录
压缩包内文档预览:(预览前20页/共33页)
编号:149910740
类型:共享资源
大小:1.29MB
格式:RAR
上传时间:2021-10-10
上传人:好资料QQ****51605
认证信息
个人认证
孙**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
VB
人事管理系统
源代码
论文
- 资源描述:
-
VB人事管理系统(源代码+论文),VB,人事管理系统,源代码,论文
- 内容简介:
-
附录: 毕业设计程序清单设计题目 人事管理系统 教 学 班: 学生姓名: 学 号: 指导教师: 完成日期: Option ExplicitDim Bupdata As BooleanDim i As IntegerPrivate Sub Cmbdegree_Click() If Cmbdegree.Text = 定制 Then FrmTable.Show Cmbdegree.ListIndex = 0 End If End SubPrivate Sub Cmbdepart_Click() If Cmbdepart.Text = 定制 Then FrmTable.Show Cmbdepart.ListIndex = 0 End If End SubPrivate Sub CmdAddNew_Click() If CmdAddNew.Caption = 添加 Then CmdAddNew.Caption = 确认 CmdDel.Enabled = False CmdOK.Enabled = False DataA.ReadOnly = False For i = 1 To 12 If Txt(i).Text = Then Txt(i).Text = 0 DataA.Recordset.Fields(i) = 0 Next i DataA.Recordset.AddNew Txt(0).Locked = False If FrmMain.cutable = employee Then DataA.Recordset.Fields(13) = frmLogin.EmploID DataA.Recordset.Fields(14) = Now If Opsex(0) Then DataA.Recordset.Fields(4) = 男 Else DataA.Recordset.Fields(4) = 女 End If DataA.Recordset.Fields(7) = Cmbdegree.Text DataA.Recordset.Fields(8) = Cmbdepart.Text ElseIf FrmMain.cutable = leave Then DataA.Recordset.Fields(8) = frmLogin.EmploID DataA.Recordset.Fields(9) = Now Else DataA.Recordset.Fields(13) = frmLogin.EmploID DataA.Recordset.Fields(14) = Now End If Txt(0).SetFocus Else OK If Txt(0).Text = Then MsgBox 不可以为空 Txt(0).SetFocus Exit Sub End If For i = 1 To 12 If Txt(i).Text = Then Txt(i).Text = 0 DataA.Recordset.Fields(i) = 0 Next i If FrmMain.cutable = employee Then DataB.Recordset.FindFirst 职工编号= + Txt(0).Text If Not DataB.Recordset.NoMatch Then MsgBox 职员编号重复 Txt(0).Text = Txt(0).SetFocus Exit Sub End If ElseIf FrmMain.cutable = leave Then DataB.Recordset.FindFirst 假条编号= + Txt(0).Text If Not DataB.Recordset.NoMatch Then MsgBox 假条编号重复 Txt(0).Text = Txt(0).SetFocus Exit Sub End If Else For i = 4 To 10 If Not IsNumeric(Txt(i).Text) Then MsgBox not a number Txt(i).SetFocus Exit Sub End If Next i DataB.Recordset.FindFirst 工资编号= + Txt(0).Text If Not DataB.Recordset.NoMatch Then MsgBox 工资编号重复 Txt(0).Text = Txt(0).SetFocus Exit Sub End If End If DataA.Recordset.Update DataA.Recordset.MoveLast FrmMain.DataA.Refresh FrmMain.DataB.Refresh DataB.Refresh CmdAddNew.Caption = 添加 CmdDel.Enabled = True CmdOK.Enabled = True End If End SubPrivate Sub CmdCacel_Click() If CmdAddNew.Caption = 确认 Then DataA.Recordset.CancelUpdate End If FrmMain.Enabled = True FrmMain.SetFocus Unload Me FrmMain.DataA.Refresh If FrmMain.cutable = employee Then FrmMain.DBGA.Columns(性别).Button = True FrmMain.DBGA.Columns(学历).Button = True FrmMain.DBGA.Columns(部门).Button = TrueEnd IfEnd SubPrivate Sub CmdDel_Click() DataA.ReadOnly = False DataA.Recordset.Delete DataA.Recordset.MoveNext If DataA.Recordset.EOF Then DataA.Recordset.MoveLast End If FrmMain.DataA.RefreshEnd SubPrivate Sub cmdOK_Click() If Txt(0).Text = Then MsgBox 不可以为空 Txt(0).SetFocus Exit Sub End If Bupdata = False DataA.Recordset.Edit If FrmMain.cutable = leave Then DataA.Recordset.Fields(8) = frmLogin.EmploID DataA.Recordset.Fields(9) = Now ElseIf FrmMain.cutable = employee Then DataA.Recordset.Fields(13) = frmLogin.EmploID DataA.Recordset.Fields(14) = Now If Opsex(0) Then DataA.Recordset.Fields(4) = 男 Else DataA.Recordset.Fields(4) = 女 End If DataA.Recordset.Fields(7) = Cmbdegree.Text DataA.Recordset.Fields(8) = Cmbdepart.Text DataA.Recordset.Fields(13) = frmLogin.EmploID DataA.Recordset.Fields(14) = Now Else For i = 4 To 10 If Not IsNumeric(Txt(i).Text) Then MsgBox not a number Txt(i).SetFocus Exit Sub End If Next i DataA.Recordset.Fields(13) = frmLogin.EmploID DataA.Recordset.Fields(14) = Now End If For i = 1 To 12 If Txt(i).Text = Then Txt(i).Text = 0 DataA.Recordset.Fields(i) = 0 Next i DataA.Recordset.Update FrmMain.DataA.Refresh DataB.Refresh End SubPrivate Sub DataA_Validate(Action As Integer, Save As Integer) If Action = 11 And Bupdata Then Save = 0 End If End SubPrivate Sub Lab_Click(Index As Integer)End SubPrivate Sub Txt_KeyPress(Index As Integer, KeyAscii As Integer) If (KeyAscii 57) And KeyAscii vbKeyBack And Index = 0 Then KeyAscii = 0 Exit Sub End If If FrmMain.cutable = leave And Index = 1 Then If (KeyAscii 57) And KeyAscii vbKeyBack Then KeyAscii = 0 Exit Sub End If End If If FrmMain.cutable = salary Then If Index = 3 Then If (KeyAscii 57) And KeyAscii vbKeyBack Then KeyAscii = 0 Exit Sub End If End If If Index = 13 Then Exit Sub If (KeyAscii 57) And KeyAscii vbKeyBack And KeyAscii 46 Then KeyAscii = 0 Exit Sub End If End If End SubPrivate Sub Txt_change(Index As Integer) If Bupdata = False Then Bupdata = True If FrmMain.cutable = salary Then If Txt(Index).Text = Then Exit Sub If Index = 4 And Index = 8 And Index -1 Then DataA.Recordset.Move (FrmMain.cuAp) Else DataA.Recordset.MoveFirst End If If DataA.Recordset.Fields(4) = 男 Then Opsex(0).Value = True Else Opsex(1).Value = True End If 设置lsdegree的显示项 For i = 0 To FrmMain.LsDegree.ListCount - 2 Cmbdegree.AddItem FrmMain.LsDegree.List(i) If FrmMain.LsDegree.List(i) = DataA.Recordset.Fields(7) Then Cmbdegree.ListIndex = i End If Next i If Cmbdegree.ListIndex = -1 Then Cmbdegree.AddItem DataA.Recordset.Fields(7) Cmbdegree.ListIndex = Cmbdegree.ListCount - 1 End If Cmbdegree.AddItem 定制 设置lsdepart的显示项 For i = 0 To FrmMain.LsDepart.ListCount - 2 Cmbdepart.AddItem FrmMain.LsDepart.List(i) If FrmMain.LsDepart.List(i) = DataA.Recordset.Fields(8) Then Cmbdepart.ListIndex = i End If Next i If Cmbdepart.ListIndex = -1 Then Cmbdepart.AddItem DataA.Recordset.Fields(8) Cmbdepart.ListIndex = Cmbdepart.ListCount - 1 End If Cmbdepart.AddItem 定制 设置完毕 ElseIf FrmMain.cutable = leave Then leave Txt(7).Visible = True Cmbdegree.Visible = False Cmbdepart.Visible = False Frame1.Visible = False For i = 8 To 12 Lab(i).Visible = False Txt(i).Visible = False Next i For i = 0 To 7 Lab(i).Caption = DataA.Recordset.Fields(i).Name Txt(i).DataField = DataA.Recordset.Fields(i).Name Next i Txt(13).DataField = DataA.Recordset.Fields(10).Name If FrmMain.cuAp -1 Then DataA.Recordset.Move (FrmMain.cuAp) Else DataA.Recordset.MoveFirst End If Else salary Frame1.Visible = False Cmbdegree.Visible = False Cmbdepart.Visible = False For i = 0 To 12 Lab(i).Caption = DataA.Recordset.Fields(i).Name Txt(i).DataField = DataA.Recordset.Fields(i).Name Next i Txt(13).DataField = DataA.Recordset.Fields(15).Name Txt(7).Locked = True Txt(11).Locked = True Txt(12).Locked = True If FrmMain.cuAp -1 Then DataA.Recordset.Move (FrmMain.cuAp) Else DataA.Recordset.MoveFirst End If End If End SubPrivate Sub Form_Unload(Cancel As Integer) FrmMain.Enabled = True FrmMain.SetFocus Unload Me FrmMain.DataB.RefreshEnd SubOption ExplicitConst MxUser = 100Public EmploID As IntegerPublic CurUser As StringPublic CurId As StringPublic CurPsw As StringDim user(MxUser), pws(MxUser), state(MxUser), Emplo(MxUser) As StringPrivate Sub Form_Load()Dim i As Integer If App.PrevInstance Then MsgBox (程序已经运行,不能再次装载。), vbExclamation Unload Me End If 本段代码用于判定本程序是否已经装载于内存中,以避免程序的多重启动 i = 0 Open App.Path + user.ini For Input As #1 Do While Not EOF(1) Input #1, user(i), pws(i), state(i), Emplo(i) If state(i) = A Then Combo1.AddItem user(i) End If i = i + 1 Loop Close #1 Combo1.ListIndex = 1 在窗口装载阶段读取用户设置文件获取用户信息 并装载于用户列表框中End SubPrivate Sub CmdCancel_Click() Unload Me End End SubPrivate Sub cmdOK_Click() If txtPassword = pws(Combo1.ListIndex) Then CurId = Combo1.ListIndex EmploID = Emplo(CurId) CurUser = user(CurId) CurPsw = pws(CurId) Me.Hide Load FrmMain FrmMain.Show Else MsgBox Invalid Password, try again!, , Login txtPassword.SetFocus SendKeys Home+End End If End SubPrivate Sub Form_Unload(Cancel As Integer) Unload Me EndEnd SubOption ExplicitPublic cuTabCh As BooleanPublic cutable As StringPublic cuAp As Integer 当前指针位置Dim i As IntegerPublic Pwin As StringPublic Sub showemployee() DataA.RecordSource = select * from employee DataA.Refresh DBGA.Columns(性别).Button = True DBGA.Columns(学历).Button = True DBGA.Columns(部门).Button = True For i = 0 To 2 Mtab(i).Checked = False Next i Mtab(0).Checked = True cutable = employee cuTabCh = True End SubPublic Sub showleave() DataA.RecordSource = select * from leave DataA.Refresh For i = 0 To 2 Mtab(i).Checked = False Next i Mtab(1).Checked = True cutable = leave cuTabCh = True End SubPublic Sub showsalary() DataA.RecordSource = select * from salary DataA.Refresh For i = 0 To 2 Mtab(i).Checked = False Next i Mtab(2).Checked = True cutable = salary cuTabCh = TrueEnd SubPrivate Sub Form_Load() Dim fil, tbcount, i As Integer Dim Tbstr(50), Tbnam(50) As String DataA.DatabaseName = App.Path + sm.mdb DataB.DatabaseName = App.Path + sm.mdb DataB.RecordSource = select * from employee Call showemployee If Dir(App.Path + table.ini) = Then LsDegree.AddItem 定制 LsDepart.AddItem 定制 Else fil = FreeFile() Open App.Path + table.ini For Input As #fil Do While Not EOF(fil) Input #fil, Tbnam(i), Tbstr(i) i = i + 1 Loop Close #fil tbcount = i For i = 0 To tbcount If Tbnam(i) = lsdegree Then LsDegree.AddItem Tbstr(i) ElseIf Tbnam(i) = lsdepart Then LsDepart.AddItem Tbstr(i) End If Next i LsDegree.AddItem 定制 LsDepart.AddItem 定制 End If End SubPrivate Sub Form_Unload(Cancel As Integer) EndEnd SubPrivate Sub DBGA_ButtonClick(ByVal ColIndex As Integer)Dim Co As Column Set Co = DBGA.Columns(ColIndex) Select Case ColIndex Case 4 Lssex.Left = DBGA.Left + Co.Left + Co.Width Lssex.Top = DBGA.Top + DBGA.RowTop(DBGA.Row) Lssex.Visible = True Lssex.ZOrder 0 Lssex.SetFocus Case 7 degree LsDegree.Left = DBGA.Left + Co.Left + Co.Width LsDegree.Top = DBGA.Top + DBGA.RowTop(DBGA.Row) LsDegree.Visible = True LsDegree.ZOrder 0 LsDegree.SetFocus Case 8 department LsDepart.Left = DBGA.Left + Co.Left + Co.Width LsDepart.Top = DBGA.Top + DBGA.RowTop(DBGA.Row) LsDepart.Visible = True LsDepart.ZOrder 0 LsDepart.SetFocus End SelectEnd SubPrivate Sub DBGA_HeadClick(ByVal ColIndex As Integer) DBGA.ClearSelColsEnd SubPrivate Sub DBGA_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then FrmMain.PopupMenu Mp End IfEnd SubPrivate Sub DBGA_RowColChange(LastRow As Variant, ByVal LastCol As Integer) cuAp = DataA.Recordset.AbsolutePosition If cuAp -1 Then DataB.Recordset.FindFirst 职工编号= + CStr(DataA.Recordset.Fields(职工编号) If DataB.Recordset.NoMatch Then Lab.Caption = 没有此职员 Else With DataB.Recordset Lab.Caption = 工号: + CStr(.Fields(0) + 姓名: + CStr(.Fields(1) + 性别: + CStr(.Fields(4) + 部门: + CStr(.Fields(8) + 职位: + CStr(.Fields(9) + 电话: + CStr(.Fields(11) End With End If End If End SubPrivate Sub LsDegree_Click() If LsDegree.Text = 定制 Then FrmTable.Show Else DataA.Recordset.Edit DataA.Recordset.Fields(7) = LsDegree.Text DataA.Recordset.Fields(13) = CStr(frmLogin.CurId) DataA.Recordset.Fields(14) = CStr(Now) DataA.Recordset.Update DataB.Refresh End If End SubPrivate Sub LsDepart_Click() If LsDepart.Text = 定制 Then FrmTable.Show Else DataA.Recordset.Edit DataA.Recordset.Fields(8) = LsDepart.Text DataA.Recordset.Fields(13) = CStr(frmLogin.CurId) DataA.Recordset.Fields(14) = CStr(Now) DataA.Recordset.Update DataB.Refresh End If End SubPrivate Sub Lssex_Click() DataA.Recordset.Edit DataA.Recordset.Fields(4) = Lssex.Text DataA.Recordset.Fields(13) = CStr(frmLogin.CurId) DataA.Recordset.Fields(14) = CStr(Now) DataA.Recordset.Update DataB.RefreshEnd Sub#Private Sub Lssex_LostFocus() Lssex.Visible = FalseEnd SubPrivate Sub Lsdegree_LostFocus() LsDegree.Visible = FalseEnd SubPrivate Sub Lsdepart_LostFocus() LsDepart.Visible = FalseEnd SubPrivate Sub DBGA_Scroll(Cancel As Integer) Lssex.Visible = False LsDegree.Visible = False LsDepart.Visible = FalseEnd Sub#Private Sub MAbout_Click() frmAbout.Show End SubPrivate Sub Mhelp_Click() FrmHelp.ShowEnd SubPrivate Sub Moption_Click(Index As Integer) If Index = 0 Then If frmLogin.CurUser = root Then FrmSys.Show Else FrmPsw.Show Pwin = Frmmain FrmMain.Enabled = False End If Else End End IfEnd SubPrivate Sub Mpop_Click(Index As Integer) Select Case Index Case 1 FrmEdit.Show FrmMain.Enabled = False Case 2 If DBGA.SelBookmarks.Count = 1 Then If MsgBox(确定要删除吗?, vbOKCancel, 确定) = vbOK Then DataA.Recordset.Delete cuAp = 0 Else MsgBox 请选择要删除的条目! End If Case 3 FrmSearch.Show End SelectEnd SubPrivate Sub Mtab_Click(Index As Integer)Dim i As Integer For i = 0 To 2 Mtab(i).Checked = False Next i Mtab(Index).Checked = True Select Case Index Case 0 Call showemployee Case 1 Call showleave Case 2 Call showsalary End Select End SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 edit FrmEdit.Show FrmMain.Enabled = False Case 2 del If DBGA.SelBookmarks.Count = 1 Then If MsgBox(确定要删除吗?, vbOKCancel, 确定) = vbOK Then DataA.Recordset.Delete cuAp = 0 Else MsgBox 请选择要删除的条目! End If Case 3 seek FrmSearch.Show Case 4 setup FrmSetup.Show End SelectEnd SubPrivate Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 Call showemployee Case 2 Call showleave Case 3 Call showsalary Case 4 If frmLogin.CurUser = root Then FrmSys.Show Else FrmPsw.Show Pwin = Frmmain FrmMain.Enabled = False End If End Select End SubOption ExplicitConst MxUser = 100Dim user(MxUser), pws(MxUser), state(MxUser), Emplo(MxUser) As StringPrivate Sub CmdCancel_Click() Me.Hide If FrmMain.Pwin = Frmmain Then FrmMain.Enabled = True FrmMain.SetFocus Else Call FrmSys.ActiveAll FrmSys.SetFocus End If End SubPrivate Sub cmdOK_Click() Dim fil, i, Usercount As Integer If TxtNew1.Text TxtNew2.Text Then MsgBox two times no yizhi TxtNew1.SetFocus TxtNew2.Text = SendKeys Home+End Exit Sub ElseIf Txtold.Text frmLogin.CurPsw Then MsgBox old password wrong Txtold.SetFocus TxtNew1.Text = TxtNew2.Text = SendKeys Home+End Exit Sub Else fil = FreeFile() Open App.Path + user.ini For Input As #fil i = 0 Do While Not EOF(fil) Input #fil, user(i), pws(i) Input #fil, state(i), Emplo(i) i = i + 1 Loop Usercount = i Close #fil pws(frmLogin.CurId) = TxtNew1.Text frmLogin.CurPsw = TxtNew1.Text fil = FreeFile() Open App.Path + user.ini For Output As #fil For i = 0 To Usercount - 1 Print #fil, user(i); ,; pws(i); ,; state(i); ,; Emplo(i) Next i Close #fil Txtold.Text = TxtNew1.Text = TxtNew2.Text = Me.Hide If FrmMain.Pwin = Frmmain Then FrmMain.Enabled = True FrmMain.SetFocus Else Call FrmSys.ActiveAll FrmSys.SetFocus End If End If End SubPrivate Sub Form_LostFocus() FrmPsw.SetFocus End SubPrivate Sub Form_Unload(Cancel As Integer) FrmMain.Enabled = True FrmMain.SetFocus Unload Me End SubOption ExplicitPrivate Sub Cmb1_Click() With Cmb1 If .Text = 职工编号 Or .Text = 交通补助 Or .Text = 加班补助 Or .Text = 工资编号 Or .Text = 假条编号 Or .Text = 身份证号 Or .Text = 出生日期 Or .Text = 中止日期 Or .Text = Edit Or .Text = 年份 Or .Text = 月份 Or .Text = 天数 Or .Text = 基本工资 Or .Text = 总工资 Or .Text = 考勤扣除 Or .Text = 扣税 Or .Text = 总扣除 Or .Text = 保险扣除 Then Cmb2.Clear Cmb2.AddItem Cmb2.AddItem = Cmb2.AddItem Cmb4.AddItem = Cmb4.AddItem Cmb4.AddItem Cmb2.AddItem Cmb4.AddItem 0 Then For i = 0 To a - 1 Lsshow.AddItem (FrmMain.DBGA.Columns(i).Caption) Next i End If End If End SubPrivate Sub Lbadd_Click() If Lshide.Text Then Lsshow.AddItem (Lshide.Text) Lshide.RemoveItem (Lshide.ListIndex) End IfEnd SubPrivate Sub Lbdec_Click() If Lsshow.Text Then Lshide.AddItem (Lsshow.Text) Lsshow.RemoveItem (Lsshow.ListIndex) End IfEnd SubPrivate Sub Lsshow_DblClick() Lshide.AddItem (Lsshow.Text) Lsshow.RemoveItem (Lsshow.ListIndex)End SubPrivate Sub Lshide_DblClick() Lsshow.AddItem (Lshide.Text) Lshide.RemoveItem (Lshide.ListIndex)End SubPrivate Sub Form_Unload(Cancel As Integer) FrmMain.Enabled = True FrmMain.SetFocus Unload MeEnd SubOption ExplicitDim Tbnam(50), Tbstr(50) As String 最大条目数 预设为100Dim fil, tbcount, i As IntegerDim Tbch As BooleanPrivate Sub CmdCancel_Click() Me.Hide End SubPrivate Sub cmdOK_Click() If Tbch Then 如果table条目变动 则 保存变动 FrmMain.LsDegree.Clear FrmMain.LsDepart.Clear FrmEdit.Cmbdegree.Clear FrmEdit.Cmbdepart.Clear fil = FreeFile() Open App.Path + table.ini For Output As #fil 写入table条目信息 For i = 0 To LsDegree.ListCount - 1 Print #fil, lsdegree; ,; LsDegree.List(i) FrmMain.LsDegree.AddItem LsDegree.List(i) FrmEdit.Cmbdegree.AddItem LsDegree.List(i) Next i For i = 0 To LsDepart.ListCount - 1 Print #fil, lsdepart; ,; LsDepart.List(i) FrmMain.LsDepart.AddItem LsDepart.List(i
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

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