基于B/S结构的企业人事管理系统
Private Sub Command1_Click()
Dim Counter As Integer '定义一个整型变量 Dim Workarea(250) As String '定义字符串变量 ProgressBar1.Visible = True
ProgressBar1.Max = UBound(Workarea) ProgressBar1.Min = LBound(Workarea) '设置进度的值为 Min
ProgressBar1.Value = ProgressBar1.Min '在整个数组中循环
For Counter = LBound(Workarea) To UBound(Workarea) '设置数组中每项的初始值 Workarea(Counter) = Counter ProgressBar1.Value = Counter For i = 0 To List1.ListCount - 1 If List1.Selected(i) = True Then
cnn.Execute (\工资表 where 所属工资月份='\ End If Next i Next Counter
ProgressBar1.Visible = False
ProgressBar1.Value = ProgressBar1.Min End Sub
Private Sub Form_Load()
rs1.Open \所属工资月份 from 工资表 group by 所属工资月份\cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then rs1.MoveFirst
Do While rs1.EOF = False
List1.AddItem rs1.Fields(\所属工资月份\ rs1.MoveNext Loop End If rs1.Close End Sub
Private Sub Command2_Click() Unload Me End Sub
(3)工资导出(导出Excel、导出为网上银行处理):用户可以通过对工资月份、日期进行确定、取消。工资导出窗体见图17所示:
计算机科学与技术专业毕业论文(设计) 36
基于B/S结构的企业人事管理系统
图17 工资导出窗体
代码如下:
Dim rs1 As New ADODB.Recordset Public newsql As String
Private Sub DataGrid1_DblClick()
If Adodc1.Recordset.RecordCount > 0 Then Load main_gzgl_gzgl_lr main_gzgl_gzgl_lr.Show Else
MsgBox \系统没有要修改的数据!\提示窗口\ End If End Sub
Private Sub Form_Activate() If sql1 <> \
Adodc1.RecordSource = \ Adodc1.Refresh End If
If Adodc1.Recordset.RecordCount > 0 Then Else
MsgBox \没有找到符合条件的记录!\提示窗口\ End If End Sub
Private Sub Form_Load() Dim fld
For Each fld In Adodc1.Recordset.Fields
'如果字段类型为\货币\,则格式化该列 If fld.Type = 6 Then
Dim f1 As StdDataFormat
Set f1 = DataGrid1.Columns(fld.Name).DataFormat f1.Format = \
计算机科学与技术专业毕业论文(设计) 37
基于B/S结构的企业人事管理系统
End If Next End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) sql1 = \End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case \
DataGrid1_DblClick Case \
If Adodc1.Recordset.RecordCount > 0 Then Load main_gzgl_gzgl_pl main_gzgl_gzgl_pl.Show Else
MsgBox \系统没有要修改的数据!\提示窗口\ End If Case \
tb1 = \工资表\ Load main_fzfind main_fzfind.Show Case \
Dim r As Integer, c As Integer Dim newxls As Excel.Application Dim newbook As Excel.Workbook Dim newsheet As Excel.Worksheet
Set newxls = CreateObject(\创建excel应用程序,打开excel2000 Set newbook = newxls.Workbooks.Add '创建工作簿 Set newsheet = newbook.Worksheets(1) '创建工作表 If Adodc1.Recordset.RecordCount > 0 Then newxls.Visible = True
For i = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(1, i + 1) = DataGrid1.Columns(i).Caption Next i
'指定表格内容
Adodc1.Recordset.MoveFirst Do Until Adodc1.Recordset.EOF
r = Adodc1.Recordset.AbsolutePosition For c = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(r + 1, c + 1) = DataGrid1.Columns(c) Next c
Adodc1.Recordset.MoveNext Loop End If Case \ Unload Me
计算机科学与技术专业毕业论文(设计) 38
基于B/S结构的企业人事管理系统
End Select End Sub
5、福利管理:包括添加福利管理、修改福利管理
(1)添加福利管理:用户可以通过对养老保险、失业保险、医疗保险、所属月份对员工福利进行管理。添加福利管理窗体见图18所示:
图18 添加福利管理窗体
关键代码如下:
Dim rs As New ADODB.Recordset Private Sub Form_Activate() txt1.SetFocus End Sub
Private Sub Form_Load() If blnAddBX = True Then
Me.Caption = \福利信息添加\ Else
Me.Caption = \福利信息修改\
With main_rsgl_bxgl.Adodc1.Recordset If .RecordCount > 0 Then txt1 = .Fields(\养老保险\ txt2 = .Fields(\失业保险\ txt3 = .Fields(\医疗保险\
DTPicker1.Value = .Fields(\所属月份\ End If End With End If End Sub
Private Sub cmdOK_Click()
If IsNumeric(txt1) = False Or IsNumeric(txt2) = False Or IsNumeric(txt3) = False Then MsgBox \请输入数值型数据!\ Exit Sub End If
If blnAddBX = True Then With main_rsgl_bxgl
rs.Open \员工福利表\ For i = 0 To .lstEmployee.ListCount - 1 If .lstEmployee.Selected(i) = True Then
计算机科学与技术专业毕业论文(设计) 39
基于B/S结构的企业人事管理系统
rs.AddNew
rs.Fields(\员工编号\
rs.Fields(\员工姓名\ rs.Fields(\养老保险\ rs.Fields(\失业保险\ rs.Fields(\医疗保险\
rs.Fields(\所属月份\= Str(Year(DTPicker1.Value)) & \& Format(Month(DTPicker1.Value), \ rs.Update End If Next i rs.Close
.Adodc1.Refresh End With Else
With main_rsgl_bxgl
rs.Open \* from 员工福利表 where 员工编号='\+ .Adodc1.Recordset.Fields(\员工编号\ If rs.RecordCount > 0 Then
rs.Fields(\养老保险\ rs.Fields(\失业保险\ rs.Fields(\医疗保险\
rs.Fields(\所属月份\= Str(Year(DTPicker1.Value)) & \& Format(Month(DTPicker1.Value), \ rs.Update rs.Close End If
.Adodc1.Refresh End With End If Unload Me End Sub
Private Sub cmdCancel_Click() Unload Me End Sub
(2)修改福利管理:用户可以通过对养老保险、失业保险、医疗保险、所属月份对
员工福利进行管理。修改福利管理窗体如图19所示
计算机科学与技术专业毕业论文(设计) 40