以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  select条件判断的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108456)

--  作者:douglas738888
--  发布时间:2017/10/23 13:49:00
--  select条件判断的问题

请教老师,下面代码想实现,如果在同一个 项目编号 下,非审批人员和审批流程为空的 统计任务评价;如果是审批人员和审批流程不为空的单独统计任务评价

 

例如     项目编号     员工编号     员工姓名    审批流程    审批人员   任务评价

                 001              01             小李                                            10                   (这里的员工编号是小李的)非校对、审批人员

                001              02             小李         校对         张主管             1                      (这里的员工编号是张主管的)

                 001              03             小李         审核         李总                1                     (这里的员工编号是李总的)

 

Select Case e.DataCol.Name \'这段代码只能得到审批人员的的任务评价,不能得到被审批员工的任务评价
    Case "项目编号","员工编号","审批流程","审批人员"
        If e.DataRow("审批流程") IsNot Nothing Then
        Dim Filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' and [员工编号] = \'" & e.DataRow("员工编号") & "\' and [审批流程] = \'" & e.DataRow("审批流程") & "\' and [审批人员] = \'" & e.DataRow("审批人员") & "\'"
        e.DataRow("任务评价") = DataTables("质量评价").SQLCompute("Sum(任务评价)", Filter)
        End If

     Case "项目编号","员工编号"   这里不知怎么写代码了
End Select

[此贴子已经被作者于2017/10/23 13:53:31编辑过]

--  作者:有点甜
--  发布时间:2017/10/23 14:05:00
--  

Select Case e.DataCol.Name \'这段代码只能得到审批人员的的任务评价,不能得到被审批员工的任务评价
    Case "项目编号","员工编号","审批流程","审批人员"
        If e.DataRow("审批流程") IsNot Nothing Then
            Dim Filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' and [员工编号] = \'" & e.DataRow("员工编号") & "\' and [审批流程] = \'" & e.DataRow("审批流程") & "\' and [审批人员] = \'" & e.DataRow("审批人员") & "\'"
            e.DataRow("任务评价") = DataTables("质量评价").SQLCompute("Sum(任务评价)", Filter)
           
        Else   
            Dim Filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' and [员工编号] = \'" & e.DataRow("员工编号") & "\'"
            e.DataRow("任务评价") = DataTables("质量评价").SQLCompute("Sum(任务评价)", Filter)
        End If
       
End Select


--  作者:douglas738888
--  发布时间:2017/10/23 16:21:00
--  

请教老师,还是不行,做了例子请看看,两个表质量评价和计量中转,其中,被审核人的审批流程和审批人员两列必须为空,谢谢 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:特殊跨表.zip

[此贴子已经被作者于2017/10/23 16:53:26编辑过]

--  作者:有点甜
--  发布时间:2017/10/23 18:13:00
--  
Select Case e.DataCol.Name \'这段代码只能得到审批人员的的任务评价,不能得到被审批员工的任务评价
    Case "项目编号","员工编号","审批流程","审批人员"
        If e.DataRow("审批流程") <> Nothing Then
            Dim Filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' and [员工编号] = \'" & e.DataRow("员工编号") & "\' and [审批流程] = \'" & e.DataRow("审批流程") & "\' and [审批人员] = \'" & e.DataRow("审批人员") & "\'"
            e.DataRow("任务评价") = DataTables("质量评价").Compute("Sum(任务评价)", Filter)
           
        Else
            Dim Filter As String = "[项目编号] = \'" & e.DataRow("项目编号") & "\' and [员工编号] = \'" & e.DataRow("员工编号") & "\'"
            e.DataRow("任务评价") = DataTables("质量评价").Compute("Sum(任务评价)", Filter)
        End If
End Select