选择“工资信息设置”—>“基本工资设置”菜单设置员工的基本工资,可以根据员工的编号,或者根据员工职务设置基本工资,设置的基本工资为每个小时的工资。
Set rs = getrs(sql, "salary")
If rs.EOF = False The n
sql = "delete from salarysetting where stuffid='" & Me.comstuffid.Text & "'"
Call transactsql(sql, "salary")
End If
rs.Close
id = Me.comstuffid.Text
Call addrecord
MsgBox "已经设置基本工资", vbOKOnly + vbExclamation, "添加结果"
Call init
sql = "select * from salarysetting"
Call frmresult.basictopic
Call frmresult.showbasic(sql)
frmresult.Show
frmresult.ZOrder 0
Me.ZOrder 0

选择“工资信息设置”—>“其他项目设置”菜单,在其他项目设置的窗体中,设置员工当月的奖金、津贴、福利等项目。
sql = "select * from salaryother"
If ichangeflag = 1 Then
Call add
MsgBox "已经添加记录", vbOKOnly + vbExclamation, "提示"
Call frmresult.othertopic
Call frmresult.showother(sql)
frmresult.Show
Unload Me
Else
If Me.optionbonus.Value = True Then
itype = 1
ElseIf Me.optionallowance.Value = True Then
itype = 2
ElseIf Me.optionwelfare.Value = True Then
itype = 3
ElseIf Me.optionabatement.Value = True Then
itype = 4
ElseIf Me.optionothers.Value = True Then
itype = 5
resumdate = recordtime
sql = "delete from salaryother where stuffid='" & Me.comid.Text
sql = sql & "' and YearMonth=#" & recordtime & "# and "
sql = sql & "Type=" & itype
Call transactsql(sql, "Salary")
Call add
Call frmsumsalary.resumsalary(resumdate)
sql = "select * from salaryother"
Call frmresult.othertopic
Call frmresult.showother(sql)
frmresult.Show
Unload Me
End If
选择“工资信息设置”—>“工资 计算 公式设置”菜单,在这个计算公式窗体中设置员工实际发放工资的计算公式。
If Me.textovertimecom = "" And IsNumeric(Me.textovertimecom) = True Then
MsgBox "请输入正常加班工资百分比", vbOKOnly + vbExclamation, "提示"
Me.textovertimecom = ""
Me.textovertimecom.SetFocus
ElseIf Me.textovertimespe = "" And IsNumeric(Me.textovertimespe) = False Then
MsgBox "请输入特殊加班工资百分比", vbOKOnly + vbExclamation, "提示"
Me.textovertimespe = ""
Me.textovertimespe.SetFocus
ElseIf Me.texterrand = "" And IsNumeric(Me.texterrand) = False Then
MsgBox "请输入出差工资", vbOKOnly + vbExclamation, "提示"
Me.texterrand = ""
Me.texterrand.SetFocus
ElseIf Me.textabsent = "" And IsNumeric(Me.textabsent) = False Then
MsgBox "请输入旷工扣发工资", vbOKOnly + vbExclamation, "提示"
Me.textabsent = ""
Me.textabsent.SetFocus
ElseIf Me.textle = "" And IsNumeric(Me.textle) = False Then
MsgBox "请输入迟到早退扣发工资", vbOKOnly + vbExclamation, "提示"
Me.textle = ""
Me.textle.SetFocus
Else
Call setvalue
Call init
End If
选择“工资信息管理”—>“出勤统计”菜单,在统计出勤记录窗体中选择需要统计记录的月份。
firstday = Year(Date) & "-" & Me.commonth.Text & "-1"
days = DateDiff("d", Year(Date) & "-" & Me.commonth.Text & "-1", _
Year(Date) & "-" & Me.commonth.Text + 1 & "-1")
lastday = Year(Date) & "-" & Me.commonth.Text & "-" & days
sql = "select * from attendancestatistics where recordmonth between #"
sql = sql & firstday & "# and #" & lastday & "#"
Set rsrecord = getrs(sql, "salary")
If rsrecord.EOF = False Then
MsgBox "已经统计", vbOKOnly + vbExclamation, "提示"
frmaresult.Show
frmaresult.ZOrder 0
rsrecord.Close
Unload Me
Exit Sub
End If
sql = "select * from attendanceinfo where adate between #"
sql = sql & firstday & "# and #" & lastday & "#"
Set rsrecord = getrs(sql, "person")
If rsrecord.EOF = False Then
sql = "select sid,sname from stuffinfo order by sid"
Set rsperson = getrs(sql, "person")
选择月份后单击“确定”按钮,如果系统已经统计过该月份的记录,那么会出现如下图所示的统计结果信息列表。如果系统没有统计过,那么系统就会开始统计记录,然后显示如图所示的统计结果信息列表。
If strusername <> "admin" Then
sql = "select sid from stuffinfo where sname='" & strusername & "'"
Set rs = getrs(sql, "salary")
sd = rs(0)
sql = "select * from attendancestatistics where stuffid='" & sd & "'"
Me.Adodc1.ConnectionString ="provider=microsoft.jet.oledb.4.0;Datasource="& App.Path & "salary.mdb"
Me.Adodc1.RecordSource = sql
Me.Adodc1.Refresh
Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset
Me.DataGrid1.Refresh
Else
sql = "select * from attendancestatistics"
Me.Adodc1.ConnectionString="provider=microsoft.jet.oledb.4.0;Datasource="& App.Path & "salary.mdb"
Me.Adodc1.RecordSource = sql
Me.Adodc1.Refresh
Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset
Me.DataGrid1.Refresh
End If
选择“工资信息管理”—>“计算实发工资”菜单,在这个窗体中选择需要统计的月份。选择统计月份后,单击“开始统计”按钮,系统如果已经统计了该月份的工资,系统会显示工资信息列表窗体。如果系统还没有统计工资,那么系统开始统计工资,然后在信息结果列表窗体中显示统计结果。
If Me.commonth.Text = 4 Then
firstday = Year(Date) & "-" & Me.commonth.Text & "-1"
days = DateDiff("d", Year(Date) & "-" & Me.commonth.Text & "-1", _
Year(Date) & "-" & Me.commonth.Text + 1 & "-1")
lastday = Year(Date) & "-" & Me.commonth.Text & "-" & days
Call sumsalary(firstday, lastday)
sql = "select * from salarystatistics"
frmresult.SSTab1.Caption = "员工工资统计列表"
Call frmresult.listtopic
Call frmresult.showdata(sql)
frmresult.Caption = "统计结果列表"
frmresult.ZOrder 0
Unload Me
Else
MsgBox "这个月的工资未统计", vbOKOnly + vbExclamation, "提示"
End If
选择“工资信息管理”—>“查询工资”菜单,系统显示如图的查询信息窗体,系统默认的是查询出数据库中所有的记录(当管理员进入的时候),当从“员工编号”下拉列表中选择一个员工编号后,单击“查询单人”按钮,就会查询出符合这个员工编号的记录;如果需要返回查询所有信息,单击“查询所有”按钮,系统就会返回所有员工的信息。在“员工工资统计列表”中单击鼠标右键,会弹出下图的菜单,在“员工其他项目列表”中单击鼠标右键也会出现下图的菜单。
如果要选择“删除基本工资设置”,出现如下的提示:
具体的操作这里就不详细介绍。
选择“工资信息管理”—>“导出工资表”菜单,会出现下图的“导出记录”窗体中选择需要导出工资的月份。选择月份和保存位置后,单击“导出”按钮,系统会开始导出数据。
单击“确定”按钮打开导出的文件,单击“取消”按钮回到系统。
导出的工资记录




