Foxtable(狐表)用户栏目专家坐堂 → [求助]按“月工资”表的指定条件从“年度工资”表中汇总数据的代码


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

主题:[求助]按“月工资”表的指定条件从“年度工资”表中汇总数据的代码

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107670 积分:547671 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 20:24:00 [显示全部帖子]

这种用法一般不放在表事件中,放到按钮中

如果是表事件就不需要遍历了:
Select Case e.DataCol.Name
    Case "工号", "姓名"
        dim dr =e.DataRow
        Dim filter As String = "SubString(工号,11,8)='" & right(dr("工号"),8) & "' and 姓名='" & dr("姓名") & "'"
        dr("累计养老保险") = DataTables("薪资累计库").Compute("Sum(养老保险)",filter)
        dr("累计医疗保险") = DataTables("薪资累计库").Compute("Sum(医疗保险)",filter)
        dr("累计大病统筹") = DataTables("薪资累计库").Compute("Sum(大病统筹)",filter)
        dr("累计失业保险") = DataTables("薪资累计库").Compute("Sum(失业保险)",filter)
        dr("累计住房公积") = DataTables("薪资累计库").Compute("Sum(住房公积)",filter)
        dr("累计企业年金") = DataTables("薪资累计库").Compute("Sum(企业年金)",filter)
        dr("累计子女教育") = DataTables("薪资累计库").Compute("Sum(子女教育)",filter)
        dr("累计继续教育") = DataTables("薪资累计库").Compute("Sum(继续教育)",filter)
        dr("累计大病医疗") = DataTables("薪资累计库").Compute("Sum(大病医疗)",filter)
        dr("累计房贷利息") = DataTables("薪资累计库").Compute("Sum(房贷利息)",filter)
        dr("累计住房租金") = DataTables("薪资累计库").Compute("Sum(住房租金)",filter)
        dr("累计赡养老人") = DataTables("薪资累计库").Compute("Sum(赡养老人)",filter)
        dr("累计入井津贴") = DataTables("薪资累计库").Compute("Sum(井下津贴金额)",filter)
        dr("累计夜班津贴") = DataTables("薪资累计库").Compute("Sum(夜贴金额)",filter)
        dr("累计公务车补") = DataTables("薪资累计库").Compute("Sum(车补金额)",filter)
        dr("累计已预扣预缴税额") = DataTables("薪资累计库").Compute("Sum(扣缴税额)",filter)
        dr("累计期数") = drs.Count
End Select
[此贴子已经被作者于2019/4/9 20:24:11编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107670 积分:547671 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 20:54:00 [显示全部帖子]

Dim filter As String = "SubString(工号,8,11)='" & right(dr("工号"),11) & "' and 姓名='" & dr("姓名") & "'"

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107670 积分:547671 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 21:26:00 [显示全部帖子]

是的,学习下帮助,有说明:http://www.foxtable.com/webhelp/scr/0102.htm

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107670 积分:547671 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 22:33:00 [显示全部帖子]

If Tables("薪资计算表").current Is Nothing Then Return
Dim Bzcq As String = Tables("薪资计算表").current("标准出勤")   '声明变量初值为"薪资计算表"的"标准出勤"
msgbox(Bzcq)
Dim Cqts As String  =  e.sender.value         '声明变量初值为窗口"出勤天"数值组合框(检验变量值"msgbox(Ssqj)")
If Cqts > Bzcq Then
    MessageBox.Show("  你输入的【出勤天数】大于本月【标准出勤 " & Bzcq & " 天】, 请重新输入!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Information)
    Return
End If

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107670 积分:547671 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/9 23:02:00 [显示全部帖子]

e.sender.value = nothing

 回到顶部