以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  大神帮我看看我的代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=100234)

--  作者:祸起萧墙123
--  发布时间:2017/5/7 16:55:00
--  大神帮我看看我的代码
Select Case e.DataCol.Name
    Case "员工编号"
        If e.NewValue Is Nothing Then
            e.DataRow("提成") = Nothing
        Else
            Dim pr As DataRow = e.DataRow.GetParentRow("汇总表")
            If pr IsNot Nothing Then
                e.DataRow("提成") = pr("提成")
                If e.OldValue <> e.NewValue Then
                    DataTables("汇总表").DataCols("员工编号").RaiseDataColChanged(pr)
                End If
            End If
        End If
        If e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            pr = DataTables("汇总表").Find("["员工编号"] = " & e.OldValue)
            If pr IsNot Nothing Then
                DataTables("汇总表").DataCols("员工编号").RaiseDataColChanged(pr)
            End If
        End If
    Case "销量","违约处罚","清帐","提成"
        If e.OldValue <> e.NewValue Then
            Dim pr As DataRow = e.DataRow.GetParentRow("汇总表")
            If pr IsNot Nothing Then
                DataTables("汇总表").DataCols("员工编号").RaiseDataColChanged(pr)
            End If
        End If
End Select
总是提示  pr = DataTables("汇总表").Find("["员工编号"] = " & e.OldValue)是错误代码

--  作者:suntojava
--  发布时间:2017/5/7 17:01:00
--  
pr = DataTables("汇总表").Find("["员工编号"] = " & e.OldValue)

改成


pr = DataTables("汇总表").Find("["员工编号"]   & e.OldValue

--  作者:祸起萧墙123
--  发布时间:2017/5/7 17:04:00
--  
还是不行啊
--  作者:祸起萧墙123
--  发布时间:2017/5/7 17:06:00
--  
  pr = DataTables("汇总表").Find("["员工编号"] = & e.OldValue
改成这样也不行

--  作者:suntojava
--  发布时间:2017/5/7 17:07:00
--  
 pr = DataTables("汇总表").Find("["员工编号"] = " & e.OldValue)

你多了一个右括号

--  作者:有点色
--  发布时间:2017/5/7 17:10:00
--  
Select Case e.DataCol.Name
    Case "员工编号"
        Dim pr As DataRow = e.DataRow.GetParentRow("汇总表")
        If e.NewValue Is Nothing Then
            e.DataRow("提成") = Nothing
        Else
           
            If pr IsNot Nothing Then
                e.DataRow("提成") = pr("提成")
                If e.OldValue <> e.NewValue Then
                    DataTables("汇总表").DataCols("员工编号").RaiseDataColChanged(pr)
                End If
            End If
        End If
        If e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            pr = DataTables("汇总表").Find("[员工编号] = \'" & e.OldValue & "\'")
            If pr IsNot Nothing Then
                DataTables("汇总表").DataCols("员工编号").RaiseDataColChanged(pr)
            End If
        End If
    Case "销量","违约处罚","清帐","提成"
        If e.OldValue <> e.NewValue Then
            Dim pr As DataRow = e.DataRow.GetParentRow("汇总表")
            If pr IsNot Nothing Then
                DataTables("汇总表").DataCols("员工编号").RaiseDataColChanged(pr)
            End If
        End If
End Select

--  作者:祸起萧墙123
--  发布时间:2017/5/7 17:27:00
--  
终于搞定了,太谢谢您了