以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]有实例:计算一年数据,2月有问题,请帮忙  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86395)

--  作者:zhangtongrt
--  发布时间:2016/6/16 15:17:00
--  [求助]有实例:计算一年数据,2月有问题,请帮忙
按照每月5、10、15、20、25、30日发放工资。这个已经可以做到。。但是2月份没有30日,只能在2月的最后一天发放相应的工资。应该怎么办?实例已经上传。代码在窗口管理里面。谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:员工制.table


--  作者:大红袍
--  发布时间:2016/6/16 16:27:00
--  
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("收益日期") = ld
        dr2("收益金额") = dr("完成点位") * vr(dc.name)
        ld = ld.AddDays(5)
        If ld.day = 4 Then
            ld = ld.AddDays(1)
        Else If ld.day = 1 Or ld.Day = 2 Then
            ld = ld.AddDays(-ld.day)
        End If
    Next
Next

--  作者:zhangtongrt
--  发布时间:2016/6/17 8:41:00
--  

非常感谢!