以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自动计算工资,2月没有30日,这段代码怎么能变成2月份在29日发放  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=86391)

--  作者:zhangtongrt
--  发布时间:2016/6/16 14:55:00
--  [求助]自动计算工资,2月没有30日,这段代码怎么能变成2月份在29日发放

工资发放分别在每月的5日、10日、15日、20日、25日、30日发放。。。但是二月没有30日,这样写的话2月的最后一笔工资会没有,怎么能在2月份最后一日发放?该怎么改?谢谢!

DataTables("数据表").datarows.clear()
For Each dr As DataRow In DataTables("人员表").DataRows
    If dr.IsNull("人员编号") Then Continue For
    Dim vr As DataRow
    If dr("投入方式") = "宣传员" Then
        vr = DataTables("宣传员").DataRows(0)
    Else
        vr = DataTables("正式员工").DataRows(0)
    End If
    Dim ld As Date = dr("第一次发放时间")
    For Each dc As DataCol In vr.DataTable.DataCols
        Dim dr2 As DataRow = DataTables("数据表").AddNew()
        dr2("人员编号") = dr("人员编号")
        dr2("人员姓名") = dr("人员姓名")
        dr2("电话号码") = dr("电话号码")
        dr2("开户行") = dr("开户行")
        dr2("银行卡号") = dr("银行卡号")
        dr2("完成点位") = dr("完成点位")
        dr2("投入方式") = dr("投入方式")
        dr2("发放日期") = ld
        dr2("发放金额") = dr("完成点位") * vr(dc.name)
        ld = ld.AddDays(5)
        Do While ld.Day Mod 5 <> 0
           ld = ld.AddDays(1)
        Loop
    Next
Next


--  作者:大红袍
--  发布时间:2016/6/16 16:40:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=86395&skin=0