以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于按时间进行计算的设置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116911) |
||||
-- 作者:hnwang420 -- 发布时间:2018/4/2 16:36:00 -- 关于按时间进行计算的设置
请教大神,承保明细表为数据录入表,里面有承保时间这一列,想在基本法汇总表增加一个时间跨度,选择后可以将符合时间要求的数据进行计算,不符合的不计算 比如,承保明细表有2018年全年的数据,在基本法汇总表选择了2018年2月,计算出来的就是承保明细表中2018年2月的数据,或者基本法汇总表选择了2018年2月-5月,计算出来的就是承保明细表中2018年2月-5月的数据
|
||||
-- 作者:有点甜 -- 发布时间:2018/4/2 17:04:00 --
|
||||
-- 作者:hnwang420 -- 发布时间:2018/4/3 8:15:00 -- 感谢大神!收到文件,学习了! 还有一个问题,在汇总表中开始时间和结束时间每一行都要输入,今后人员多了不好逐行输入,有没有办法将时间列设置成一个单元格,只需要输入一次,所有人员的数据都按照这个时间进行计算?
|
||||
-- 作者:有点甜 -- 发布时间:2018/4/3 8:51:00 -- 加上这个代码
If e.DataCol.Name = "开始时间" Then e.DataTable.ReplaceFor("开始时间", e.DataRow("开始时间")) End If If e.DataCol.Name = "结束时间" Then e.DataTable.ReplaceFor("结束时间", e.DataRow("结束时间")) End If [此贴子已经被作者于2018/4/3 9:39:36编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/4/3 8:53:00 -- 或者,不要在表格加入两列,然后做一个窗口,放入两个控件输入开始、结束时间,点击按钮计算。 |
||||
-- 作者:hnwang420 -- 发布时间:2018/4/3 9:22:00 -- 新手愚笨,请大神明示,这个代码加在哪? Select Case e.DataCol.name Case "姓名","开始时间","结束时间" Dim filter As String = "1=1" If e.DataRow.IsNull("开始时间") = False Then filter &= " and 承保日期 >= #" & e.DataRow("开始时间") & "#" End If If e.DataRow.IsNull("结束时间") = False Then filter &= " and 承保日期 <= #" & e.DataRow("结束时间") & "#" End If \'则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列 e.DataRow("首年佣金") = DataTables("承保明细").Compute("Sum(佣金)","[业务员姓名] = \'" & e.DataRow("姓名") & "\' and " & filter) e.DataRow("总标准保费") = DataTables("承保明细").Compute("Sum(标准保费)","[业务员姓名] = \'" & e.DataRow("姓名") & "\' and " & filter) e.DataRow("增员津贴_直接") = DataTables("承保明细").Compute("Sum(一代增员津贴)","[一代推荐人姓名] = \'" & e.DataRow("姓名") & "\' and " & filter) e.DataRow("增员津贴_间接") = DataTables("承保明细").Compute("Sum(二代增员津贴)","[二代推荐人姓名] = \'" & e.DataRow("姓名") & "\' and " & filter) e.DataRow("直辖团队总FYC") = DataTables("承保明细").Compute("Sum(佣金)","[营销部经理] = \'" & e.DataRow("姓名") & "\' and " & filter) End Select If e.DataRow("现任职级")= "见习理财经理" Then If e.DataRow("首年佣金")>= 6000 Then e.DataRow("展业津贴") = e.DataRow("总标准保费")*0.35 ElseIf e.DataRow("首年佣金")>= 3000 Then e.DataRow("展业津贴") = e.DataRow("总标准保费")*0.3 ElseIf e.DataRow("首年佣金")>= 0 Then e.DataRow("展业津贴") = e.DataRow("总标准保费")*0.15 End If Else If e.DataRow("首年佣金")>= 6000 Then e.DataRow("展业津贴") = e.DataRow("总标准保费")*0.35 ElseIf e.DataRow("首年佣金")>= 3000 Then e.DataRow("展业津贴") = e.DataRow("总标准保费")*0.3 ElseIf e.DataRow("首年佣金")>= 0 Then e.DataRow("展业津贴") = e.DataRow("总标准保费")*0.2 End If End If If e.DataRow("直辖团队总FYC")>= 15000 Then e.DataRow("管理津贴") = e.DataRow("直辖团队总FYC")*0.12 ElseIf e.DataRow("首年佣金")>= 7500 Then e.DataRow("管理津贴") = e.DataRow("直辖团队总FYC")*0.08 ElseIf e.DataRow("首年佣金")>= 0 Then e.DataRow("管理津贴") = e.DataRow("直辖团队总FYC")*0.04 End If 全代码如上
|
||||
-- 作者:有点甜 -- 发布时间:2018/4/3 9:42:00 -- 回复楼上,直接加在代码的最前面,即可。 |