Foxtable(狐表)用户栏目专家坐堂 → 关于按时间进行计算的设置


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

主题:关于按时间进行计算的设置

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


加好友 发短信
等级:婴狐 帖子:14 积分:161 威望:0 精华:0 注册:2018/2/25 15:07:00
关于按时间进行计算的设置  发帖心情 Post By:2018/4/2 16:36:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:恒邦.table

请教大神,承保明细表为数据录入表,里面有承保时间这一列,想在基本法汇总表增加一个时间跨度,选择后可以将符合时间要求的数据进行计算,不符合的不计算
比如,承保明细表有2018年全年的数据,在基本法汇总表选择了2018年2月,计算出来的就是承保明细表中2018年2月的数据,或者基本法汇总表选择了2018年2月-5月,计算出来的就是承保明细表中2018年2月-5月的数据

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/2 17:04:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:恒邦.table


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


加好友 发短信
等级:婴狐 帖子:14 积分:161 威望:0 精华:0 注册:2018/2/25 15:07:00
  发帖心情 Post By:2018/4/3 8:15:00 [只看该作者]

感谢大神!收到文件,学习了!
还有一个问题,在汇总表中开始时间和结束时间每一行都要输入,今后人员多了不好逐行输入,有没有办法将时间列设置成一个单元格,只需要输入一次,所有人员的数据都按照这个时间进行计算?

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


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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/3 8:53:00 [只看该作者]

或者,不要在表格加入两列,然后做一个窗口,放入两个控件输入开始、结束时间,点击按钮计算。

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


加好友 发短信
等级:婴狐 帖子:14 积分:161 威望:0 精华:0 注册:2018/2/25 15:07:00
  发帖心情 Post By: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

全代码如上

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/3 9:42:00 [只看该作者]

回复楼上,直接加在代码的最前面,即可。

 回到顶部