📄 wagemanage.frm
字号:
Loop
End Sub
Private Sub LiftWage()
Dim adors As New Recordset
Set adors.ActiveConnection = ADOcn
Dim adors1 As New Recordset
Set adors1.ActiveConnection = ADOcn
Dim strSQL As String
strSQL = "Select * from 人事档案 order by 编号"
adors.Open strSQL
Do While Not adors.EOF
strSQL = "Select * from 提成工资表 where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
If Not adors1.EOF Then
adors1.Close
strSQL = "Select Sum(提成金额) as 合计 from 提成工资表 order by 编号"
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
strSQL = "Update 工资档案表 Set 提成工资=" + LTrim(adors("合计"))
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
End If
adors1.Close
adors.MoveNext
Loop
End Sub
Private Sub RewardWage()
Dim adors As New Recordset
Set adors.ActiveConnection = ADOcn
Dim adors1 As New Recordset
Set adors1.ActiveConnection = ADOcn
Dim strSQL As String
strSQL = "Select * from 人事档案 order by 编号"
adors.Open strSQL
Do While Not adors.EOF
strSQL = "Select * from 员工奖励表 where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
If Not adors1.EOF Then
adors1.Close
strSQL = "Select Sum(奖励金额) as 奖励总额 from 员工奖励表 order by 员工编号"
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
strSQL = "Update 工资档案表 Set 奖励总额=" + LTrim(adors("奖励总额"))
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
End If
adors1.Close
adors.MoveNext
Loop
End Sub
Private Sub PunishWage()
Dim adors As New Recordset
Set adors.ActiveConnection = ADOcn
Dim adors1 As New Recordset
Set adors1.ActiveConnection = ADOcn
Dim strSQL As String
strSQL = "Select * from 人事档案 order by 编号"
adors.Open strSQL
Do While Not adors.EOF
strSQL = "Select * from 员工惩罚表 where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
If Not adors1.EOF Then
adors1.Close
strSQL = "Select Sum(惩罚金额) as 惩罚总额 from 员工惩罚表 order by 员工编号"
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
strSQL = "Update 工资档案表 Set 惩罚总额=" + LTrim(adors("惩罚总额"))
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
End If
adors1.Close
adors.MoveNext
Loop
End Sub
Private Sub DefaultWage()
Dim adors As New Recordset
Set adors.ActiveConnection = ADOcn
Dim adors1 As New Recordset
Set adors1.ActiveConnection = ADOcn
Dim strSQL As String
strSQL = "Select * from 人事档案 order by 编号 "
adors.Open strSQL
Do While Not adors.EOF
strSQL = "Select * from 默认工资项目表 order by 员工编号"
strSQL = strSQL + " where 员工编号='" + adors("编号")
adors1.Open strSQL
strSQL = "Update 工资档案表 Set 基本工资= " + txtBWage + ",技能工资=" + txtSkillWage
strSQL = strSQL + ",津贴费=" + txtJintie + ",交通费=" + txtTrafic + ",水电费=" + txtEnergy + ",生活费=" + txtLife + ",高温贴=" + txtTempriture + ",房租费=" + txtRent + ",其它保险费=" + txtOInsurance
strSQL = strSQL + ",养老保险费=" + txtOldness + ",失业保险费=" + txtJobless + ",医疗保险费=" + txtIllness + ",其它金额=" + txtOMoney + ",其它扣额=" + txtMinuse
strSQL = strSQL + " Where 员工编号='" + txtNum + "' and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
adors1.Close
adors.MoveNext
Loop
End Sub
Private Sub DutyWage()
Dim adors As New Recordset
Set adors.ActiveConnection = ADOcn
Dim adors1 As New Recordset
Set adors1.ActiveConnection = ADOcn
Dim strSQL As String
strSQL = "Select * from 人事档案 order by 编号 "
adors.Open strSQL
Do While Not adors.EOF
strSQL = "Select * from 员工惩罚表 where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
adors1.Open strSQL
If Not adors1.EOF Then
adors1.Close
strSQL = "Select * from 考勤表 order by 员工编号"
strSQL = strSQL + " where 员工编号='" + adors("编号")
adors1.Open strSQL
If LTrim(adors("出勤天数")) > DutyDays And LTrim(adors("迟到与早退次数")) < LateTimes Then
strSQL = "Update 工资档案表 Set 全勤奖=" + CStr(DutyWage) + ",加班费= " + CStr(OverWorkMoney * Val(LTrim(adors("加班次数")))) + ",旷工费= " + CStr(LessWorkMoney * Val(LTrim(adors("旷工天数"))))
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
Else
strSQL = "Update 工资档案表 Set 全勤奖=0,加班费= " + CStr(OverWorkMoney * Val(LTrim(adors("加班次数")))) + ",旷工费= " + CStr(LessWorkMoney * Val(LTrim(adors("旷工天数"))))
strSQL = strSQL + " where 员工编号='" + adors("编号") + " and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
End If
End If
adors1.Close
adors.MoveNext
Loop
End Sub
Private Sub WorkTimeWage()
Dim WorkAgeWage As Integer
Dim adors As New Recordset
Dim strSQL As String
Set adors.ActiveConnection = ADOcn
strSQL = "Select * from 人事档案 order by 编号"
adors.Open strSQL
Do While Not adors.EOF
WorkAgeWage = (Left(CurMonth, 4) - Year(adors("调入时间"))) * 10
SQL = "Update 工资档案表 Set 工龄工资=" + CStr(WorkAgeWage) + " where 员工编号='" + adors("编号") + "'"
ADOcn.Execute SQL
adors.MoveNext
Loop
End Sub
Private Sub Hesuan()
Dim YinfaWage As Double '定义应发工资
Dim WageTaxed As Double '定义税后工资
Dim TrueWage As Double '定义实发工资
Dim Tax As Double
Dim rate As Double
Dim quickminuse As Double
Dim xiaxian As Double
Dim adors As New Recordset
Dim strSQL As String
adors.ActiveConnection = ADOcn
strSQL = "Select * From 工资档案表 where 所属工资月份='" + CurMonth + "'"
adors.Open strSQL
Do While Not adors.EOF
YinfaWage = adors("基本工资") + adors("计件工资") + adors("计时工资") + adors("提成工资") + adors("加班费") - adors("旷工费")
YinfaWage = YinfaWage + adors("技能工资") + adors("工龄工资") + adors("全勤奖") + adors("奖励总额") - adors("惩罚总额")
YinfaWage = YinfaWage + adors("津贴费") + adors("交通费") + adors("水电费") + adors("生活费") + adors("高温贴") + adors("房租费")
YinfaWage = YinfaWage - adors("其它保险费") - adors("养老保险费") - adors("失业保险费") - adors("医疗保险费") + adors("其它金额")
Dim adors1 As New Recordset
adors1.ActiveConnection = ADOcn
strSQL = "Select * From 个人所得税表 order by 级别号"
adors1.Open strSQL
Do While Not adors1.EOF
If YinfaWage >= adors1("应纳税所得金额下限") And YinfaWage < adors1("应纳税所得金额上限") Then
rate = adors1("税率")
quickminuse = adors1("速算扣除数")
xiaxian = adors1("应纳税所得金额下限")
Exit Do
Else
adors1.MoveNext
End If
Loop
Tax = Val(quickminuse) + ((Val(YinfaWage) - Val(xiaxian)) * (Val(rate) / 100))
WageTaxed = YinfaWage - Tax
TrueWage = WageTaxed - adors("其它扣额")
adors1.Close
strSQL = "Update 工资档案表 Set 应发工资=" + CStr(YinfaWage) + ",个人所得税=" + CStr(Tax) + ",税后工资=" + CStr(WageTaxed) + ",实发工资=" + CStr(TrueWage)
strSQL = strSQL + " Where 员工编号='" + adors("员工编号") + "'and 所属工资月份='" + CurMonth + "'"
ADOcn.Execute strSQL
adors.MoveNext
Loop
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next
Select Case Button.Key
Case "Hide"
'应做:添加 '新建' 按钮代码。
TreePartment.Visible = False
Button.Caption = "显示部门栏"
Button.Key = "Show"
Case "Show"
TreePartment.Visible = True
Button.Caption = "隐藏部门栏"
Button.Key = "Hide"
Case "Select"
Search = 2 '标志查询工资
ComboAddItem
frmSelect.Show
Case "ShowMonth"
All = False
Button.Caption = "全部工资信息"
Button.Key = "ShowAll"
MyRefresh_frmWageManage
Case "ShowAll"
All = True
Button.Caption = "当月工资信息"
Button.Key = "ShowMonth"
MyRefresh_frmWageManage
Case "UpdateSome"
Update = 2
ComboUpdateItem
frmUpdateSome.Show
Case "Update"
Dim mystr As String
MSFlexGrid1.Col = 1
mystr = MSFlexGrid1.Text
frmWageFile.txtNum = mystr
frmWageFile.Show
Case "Account"
Hesuan
MsgBox "核算已完成!", , "成功"
Calculate = True
Case "Back"
Unload Me
End Select
End Sub
Private Sub ComboAddItem()
frmSelect.comboyiju.AddItem ("ID")
frmSelect.comboyiju.AddItem ("所属工资月份")
frmSelect.comboyiju.AddItem ("员工编号")
frmSelect.comboyiju.AddItem ("员工姓名")
frmSelect.comboyiju.AddItem ("基本工资")
frmSelect.comboyiju.AddItem ("计件工资")
frmSelect.comboyiju.AddItem ("计时工资")
frmSelect.comboyiju.AddItem ("提成工资")
frmSelect.comboyiju.AddItem ("加班费")
frmSelect.comboyiju.AddItem ("旷工费")
frmSelect.comboyiju.AddItem ("技能工资")
frmSelect.comboyiju.AddItem ("工龄工资")
frmSelect.comboyiju.AddItem ("全勤奖")
frmSelect.comboyiju.AddItem ("奖励总额")
frmSelect.comboyiju.AddItem ("惩罚总额")
frmSelect.comboyiju.AddItem ("津贴费")
frmSelect.comboyiju.AddItem ("交通费")
frmSelect.comboyiju.AddItem ("水电费")
frmSelect.comboyiju.AddItem ("生活费")
frmSelect.comboyiju.AddItem ("高温贴")
frmSelect.comboyiju.AddItem ("房租费")
frmSelect.comboyiju.AddItem ("其它保险费")
frmSelect.comboyiju.AddItem ("养老保险费")
frmSelect.comboyiju.AddItem ("失业保险费")
frmSelect.comboyiju.AddItem ("医疗保险费")
frmSelect.comboyiju.AddItem ("其它金额")
frmSelect.comboyiju.AddItem ("应发工资")
frmSelect.comboyiju.AddItem ("个人所得税")
frmSelect.comboyiju.AddItem ("税后工资")
frmSelect.comboyiju.AddItem ("其它扣额")
frmSelect.comboyiju.AddItem ("实发工资")
End Sub
Private Sub ComboUpdateItem()
frmUpdateSome.cmbUpdate.AddItem ("基本工资")
frmUpdateSome.cmbUpdate.AddItem ("计件工资")
frmUpdateSome.cmbUpdate.AddItem ("计时工资")
frmUpdateSome.cmbUpdate.AddItem ("提成工资")
frmUpdateSome.cmbUpdate.AddItem ("加班费")
frmUpdateSome.cmbUpdate.AddItem ("旷工费")
frmUpdateSome.cmbUpdate.AddItem ("技能工资")
frmUpdateSome.cmbUpdate.AddItem ("工龄工资")
frmUpdateSome.cmbUpdate.AddItem ("全勤奖")
frmUpdateSome.cmbUpdate.AddItem ("奖励总额")
frmUpdateSome.cmbUpdate.AddItem ("惩罚总额")
frmUpdateSome.cmbUpdate.AddItem ("津贴费")
frmUpdateSome.cmbUpdate.AddItem ("交通费")
frmUpdateSome.cmbUpdate.AddItem ("水电费")
frmUpdateSome.cmbUpdate.AddItem ("生活费")
frmUpdateSome.cmbUpdate.AddItem ("高温贴")
frmUpdateSome.cmbUpdate.AddItem ("房租费")
frmUpdateSome.cmbUpdate.AddItem ("其它保险费")
frmUpdateSome.cmbUpdate.AddItem ("养老保险费")
frmUpdateSome.cmbUpdate.AddItem ("失业保险费")
frmUpdateSome.cmbUpdate.AddItem ("医疗保险费")
frmUpdateSome.cmbUpdate.AddItem ("其它金额")
frmUpdateSome.cmbUpdate.AddItem ("应发工资")
frmUpdateSome.cmbUpdate.AddItem ("个人所得税")
frmUpdateSome.cmbUpdate.AddItem ("税后工资")
frmUpdateSome.cmbUpdate.AddItem ("其它扣额")
frmUpdateSome.cmbUpdate.AddItem ("实发工资")
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -