Foxtable(狐表)用户栏目专家坐堂 → select条件判断的问题


  共有1851人关注过本帖树形打印复制链接

主题:select条件判断的问题

帅哥哟,离线,有人找我吗?
douglas738888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1176 积分:8797 威望:0 精华:0 注册:2012/4/18 16:28:00
select条件判断的问题  发帖心情 Post By:2017/10/23 13:49:00 [只看该作者]

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

 

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

                 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1176 积分:8797 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/10/23 16:21:00 [只看该作者]

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

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 回到顶部