以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  根据月份变化DataColChanged事件中将上月的【总应税工资】,变成本月的【已应税工资】  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=162219)

--  作者:zhuoziwang
--  发布时间:2021/4/9 9:53:00
--  根据月份变化DataColChanged事件中将上月的【总应税工资】,变成本月的【已应税工资】

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_16179330762275.png
图片点击可在新窗口打开查看
求助大佬,怎用根据月份变化,在DataColChanged事件中将上月的【总应税工资】,变成本月的【已应税工资】
图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_16179330321799.png
图片点击可在新窗口打开查看

--  作者:zhuoziwang
--  发布时间:2021/4/9 9:54:00
--  
我写的代码如上图,数据总是不对,求助大佬解答。
--  作者:cd_tdh
--  发布时间:2021/4/9 9:56:00
--  

是不是有其他代码影响了总应税工资

 


--  作者:zhuoziwang
--  发布时间:2021/4/9 10:00:00
--  
做了表达式     “IsNull([已应税工资],0)+[本期收入]-[减除合计]”  不知道是否影响?
--  作者:有点蓝
--  发布时间:2021/4/9 10:07:00
--  
根据什么条件判断哪一行数据属于上个月?
--  作者:zhuoziwang
--  发布时间:2021/4/9 10:08:00
--  
根据月份变化,月份变化后,本期收入会更新,总应税金额会变化。
--  作者:有点蓝
--  发布时间:2021/4/9 10:15:00
--  
截图说明一下,哪个月份?
--  作者:zhuoziwang
--  发布时间:2021/4/9 10:23:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_16179347945039.png
图片点击可在新窗口打开查看




表属性下的datacolchanged事件我的代码如下:
If e.DataCol.Name = "身份证号码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("本期收入") = Nothing
        e.DataRow("计薪年月") = Nothing
        e.DataRow("养老保险") = Nothing
        e.DataRow("医疗保险") = Nothing
        e.DataRow("失业保险") = Nothing
        e.DataRow("住房公积金") = Nothing

    Else
        Dim dr As DataRow
        dr = DataTables("工资总表").Find("[姓名ID] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing 
            e.DataRow("本期收入") = dr("应发总额")
            e.DataRow("计薪年月") = dr("计薪年月")
            e.DataRow("养老保险") = dr("养老保险")
            e.DataRow("医疗保险") = dr("医疗保险") 
              e.DataRow("失业保险") = dr("失业保险")
            e.DataRow("住房公积金") = dr("住房公积金") 

        End If
    End If
End If


If e.DataCol.name = "计薪年月" Then

    If e.newvalue = Nothing Then

        e.DataRow("月份") = Nothing

    Else

        e.DataRow("月份") = e.newvalue.month

    End If

End If



If e.DataCol.name = "月份" Then

    If e.newvalue IsNot  Nothing   Then

        e.DataRow("已应税工资") =  e.DataRow("总应税工资") 

    End If

End If

--  作者:有点蓝
--  发布时间:2021/4/9 10:28:00
--  
意思是现在是3月,然后3月1日的"已应税工资"取2月的最后一天的总应税工资?
--  作者:zhuoziwang
--  发布时间:2021/4/9 10:28:00
--  
是的