Foxtable(狐表)用户栏目专家坐堂 → 选择按姓名汇总考核分数,为什么不汇总呢?


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

主题:选择按姓名汇总考核分数,为什么不汇总呢?

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


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
选择按姓名汇总考核分数,为什么不汇总呢?  发帖心情 Post By:2013/2/15 19:51:00 [只看该作者]

 
 

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


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/2/15 20:09:00 [只看该作者]

Dim qs As WinForm.DateTimePicker = e.Form.Controls("起始日期1")
Dim zz As WinForm.DateTimePicker = e.Form.Controls("终止日期1")
Dim tj1 As WinForm.ComboBox = e.Form.Controls("统计1")
Dim tj2 As WinForm.ComboBox = e.Form.Controls("统计2")


图片点击可在新窗口打开查看此主题相关图片如下:q`zws9li%aq%}lnjzf@n_e.jpg
图片点击可在新窗口打开查看

If e.Form.Controls("终止日期1").Value < e.Form.Controls("起始日期1").Value Then
MessageBox.Show("请重新选择日期")
e.Form.Controls("终止日期1").Value = Nothing
e.Form.Controls("终止日期1").Select
e.Form.Controls("起始日期1").Value = Nothing
End If

If  e.Form.Controls("统计1").Value = Nothing
MessageBox.Show("请重新选择分组统计")
End If

Dim t As Table = Tables("奖惩考核表")
Dim g As Subtotalgroup
Dim Val As String = Forms("数据汇总").Controls("统计1").Value


t.Filter = "[日期] <= #" & e.form.Controls("终止日期1").Value & "# and [日期] >= #" & e.form.Controls("起始日期1").Value & "#"
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

 

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = val
g.TotalOn = "考核分数"
g.Caption = "{0}"
t.SubtotalGroups.Add(g)
t.Subtotal()'

Dim r As Row


For i As Integer = 0 To t.Rows.Count(True) - 1
    r = t.Rows(i,True)
    If r.IsGroup '如果是分组行
        Dim f As String = "" & val & " = '" & r(val) & "'"
        Dim v As String = " 违章件数:" & t.Compute("Count(代号)",f)
        v = v & " 考核分数:" & t.Compute("Sum(考核分数)",f)
        'v = v & " 订购金额:" & t.Compute("Sum(金额)",f)
        r("违章条例") = "统计项目:" & val & v
    End If
Next


图片点击可在新窗口打开查看此主题相关图片如下:8@mwg(`tj%o%{k)bo`w1opc.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:403 积分:3892 威望:0 精华:0 注册:2013/1/18 21:38:00
  发帖心情 Post By:2013/2/15 20:17:00 [只看该作者]

如果菜单选择代号时,代码汇总,选择姓名时,不汇总。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/16 9:46:00 [只看该作者]

 看了下代码,好像没有错。也不会出现不汇总的情况。

 汇总条件应该有些问题。你msgbox看看,加入下面红色代码,截图看看,注意空格。如果条件正常,只能是你的数据表多或者少一个空格的缘故了。

  If r.IsGroup '如果是分组行
        Dim f As String = val & " = '" & r(val) & "'"
msgbox(f)
        Dim v As String = " 违章件数:" & t.Compute("Count(代号)",f)
        v = v & " 考核分数:" & t.Compute("Sum(考核分数)",f)
        'v = v & " 订购金额:" & t.Compute("Sum(金额)",f)
        r("违章条例") = "统计项目:" & val & v
    End If
[此贴子已经被作者于2013-2-16 9:45:58编辑过]

 回到顶部