以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]属于自动输入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103079)

--  作者:积水成渊
--  发布时间:2017/6/30 10:53:00
--  [求助]属于自动输入
  1. 之前发过帖子,问题没有解决,再发一帖,有两张表,表A为父表,表B为子表,关联列为工号。表A的字段为部门名称,工号,职位名称。表B为工号,固定补贴。
  2. 我要实现的功能是:判断A表 当部门名称不等于“财务部”时,判断职位名称,当职位名称等于店长时,自动在B表的固定补贴填充200,当职位名称为店助时,在B表自动固定补贴填写150。

--  作者:有点蓝
--  发布时间:2017/6/30 11:15:00
--  
表datacolchanged事件

Select Case e.DataCol.name
    Case "部门名称","职位名称","工号"
        Dim dr As DataRow = DataTables("表B").find("工号=\'" & e.DataRow("工号") & "\'")
        If dr IsNot Nothing Then
            If e.DataRow("部门名称") = "财务部"
                If  e.DataRow("职位名称") = "店长"
                    dr("固定补贴") = 200
                ElseIf  e.DataRow("职位名称") = "店助"
                    dr("固定补贴") = 150
                End If
            End If
            
        End If
End Select

--  作者:积水成渊
--  发布时间:2017/6/30 11:28:00
--  
感谢有点蓝老师
--  作者:积水成渊
--  发布时间:2017/6/30 12:14:00
--  
还是存在问题,当我们把职位名称改成店长时,B表的固定补贴是200,但是当我们把这个工号的职位名称改成部长时,他的固定补贴应该为0,所以,应该还要 有当职位名称不等于店长或者店助时,应该把固定补贴的内容清空。
--  作者:有点甜
--  发布时间:2017/6/30 12:22:00
--  
Select Case e.DataCol.name
    Case "部门名称","职位名称","工号"
        Dim dr As DataRow = DataTables("表B").find("工号=\'" & e.DataRow("工号") & "\'")
        If dr IsNot Nothing Then
            dr("固定补贴") = Nothing
            If e.DataRow("部门名称") = "财务部"
                If  e.DataRow("职位名称") = "店长"
                    dr("固定补贴") = 200
                ElseIf  e.DataRow("职位名称") = "店助"
                    dr("固定补贴") = 150
                End If
            End If          
        End If
End Select