以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  行内分别统计的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102079)

--  作者:douglas738888
--  发布时间:2017/6/13 9:23:00
--  行内分别统计的问题

请教老师,下面代码,怎样实现,在一行里面,如果“项目编号”和“岗位层级”发生变量,根据变量对应的“**_小计”只呈现该变量的统计值,其他小计不统计或不显示值。

 

我试用elseif多支来写不能实现,else单支又只能控制不是或就是         特请教老师

 

If e.DataCol.Name = "项目编号" Then \'发生变化的是"项目编号"列.
    If e.DataRow("岗位层级") = "高层正职" AndAlso e.DataRow("岗位层级") = "高层副职" Then
        e.DataRow("高管任务因子_小计") = DataTables("个人明细").SQLCompute("Sum(任务_计量)","[项目编号] = \'" & e.NewValue & "\'and 岗位层级 Like \'%高层%\'")
    End If
   
If e.DataCol.Name = "项目编号" Then \'发生变化的是"项目编号"列.
     If e.DataRow("岗位层级") = "中层正职" AndAlso e.DataRow("岗位层级") = "中层副职" Then
        e.DataRow("中层任务因子_小计") = DataTables("个人明细").SQLCompute("Sum(任务_计量)","[项目编号] = \'" & e.NewValue & "\'and 岗位层级 Like \'%中层%\'")
   End If
End If
       
If e.DataCol.Name = "项目编号" Then \'发生变化的是"项目编号"列.
   If e.DataRow("岗位层级") = "基层人员" Then
      e.DataRow("基层任务因子_小计") = DataTables("个人明细").SQLCompute("Sum(任务_计量)","[项目编号] = \'" & e.NewValue & "\'and 岗位层级 Like \'%基层%\'")
   End If
End If

[此贴子已经被作者于2017/6/13 9:23:30编辑过]

--  作者:有点色
--  发布时间:2017/6/13 10:22:00
--  
If e.DataCol.Name = "项目编号" OrElse e.DataCol.name = "岗位层级" Then \'发生变化的是"项目编号"列.
    e.DataRow("中层任务因子_小计") = Nothing
    e.DataRow("高管任务因子_小计") = Nothing
    e.DataRow("基层任务因子_小计") = Nothing
    If e.DataRow("岗位层级") = "高层正职" OrElse e.DataRow("岗位层级") = "高层副职" Then
        e.DataRow("高管任务因子_小计") = DataTables("个人明细").SQLCompute("Sum(任务_计量)","[项目编号] = \'" & e.datarow("项目编号") & "\'and 岗位层级 Like \'%高层%\'")
    ElseIf e.DataRow("岗位层级") = "中层正职" OrElse e.DataRow("岗位层级") = "中层副职" Then
        e.DataRow("中层任务因子_小计") = DataTables("个人明细").SQLCompute("Sum(任务_计量)","[项目编号] = \'" & e.datarow("项目编号") & "\'and 岗位层级 Like \'%中层%\'")
    ElseIf e.DataRow("岗位层级") = "基层人员" Then
        e.DataRow("基层任务因子_小计") = DataTables("个人明细").SQLCompute("Sum(任务_计量)","[项目编号] = \'" & e.datarow("项目编号") & "\'and 岗位层级 Like \'%基层%\'")
    End If
End If
[此贴子已经被作者于2017/6/13 10:23:18编辑过]