背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

企业工资管理系统(下)

[日期:2008-07-23] 来源:  作者:未知 [字体: ]

选择“工资信息设置”—>“基本工资设置”菜单设置员工的基本工资,可以根据员工的编号,或者根据员工职务设置基本工资,设置的基本工资为每个小时的工资。
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

选择“工资信息管理”—>“查询工资”菜单,系统显示如图的查询信息窗体,系统默认的是查询出数据库中所有的记录(当管理员进入的时候),当从“员工编号”下拉列表中选择一个员工编号后,单击“查询单人”按钮,就会查询出符合这个员工编号的记录;如果需要返回查询所有信息,单击“查询所有”按钮,系统就会返回所有员工的信息。在“员工工资统计列表”中单击鼠标右键,会弹出下图的菜单,在“员工其他项目列表”中单击鼠标右键也会出现下图的菜单。

如果要选择“删除基本工资设置”,出现如下的提示:

具体的操作这里就不详细介绍。

选择“工资信息管理”—>“导出工资表”菜单,会出现下图的“导出记录”窗体中选择需要导出工资的月份。选择月份和保存位置后,单击“导出”按钮,系统会开始导出数据。

单击“确定”按钮打开导出的文件,单击“取消”按钮回到系统。

                       导出的工资记录

12下一页  GO
阅读:
录入:中国论文联盟

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
免费论文搜索


本周热门内容