Foxtable(狐表)用户栏目专家坐堂 → [求助]按窗口控件内容统计或汇总


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

主题:[求助]按窗口控件内容统计或汇总

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


加好友 发短信
等级:婴狐 帖子:23 积分:264 威望:0 精华:0 注册:2012/5/23 14:37:00
[求助]按窗口控件内容统计或汇总  发帖心情 Post By:2012/8/21 17:21:00 [只看该作者]

此项目基础数据表中的报表管理器窗口中,有姓名、类型和日期,类型是按照不同的时间跨度汇总或统计,日期是查询时间范围,想要根据这些项目中填写的内容,汇总或统计(按天就是汇总,按周、月、季度、年都是统计)各项数值呢?研究了半天还是不会写代码。

我研究的内容如下:但好像不对……请大神帮忙!

 

 

Dim g As New GroupTableBuilder("统计表1", DataTables("基础数据"))
Dim Val As String = Forms("报表管理器").Controls("ComboBox1").Value
Dim name As String = Forms("报表管理器").Controls("TextBox1").Value
Dim Date1 As Date = Forms("报表管理器").Controls("datetimepicker1").Value
Dim Date2 As Date = Forms("报表管理器").Controls("datetimepicker2").Value
If g.filter = "[姓名] = name and [日期] >= Date1 and [日期] <= Date2 "  Then
    g.Groups.AddDef("姓名")
    If Val Is Nothing Then
        MessageBox.Show("对不起,请先输入查询类型!", "提示")
    ElseIf Val = "按月" Then
        g.Groups.AddDef("日期",DateGroupEnum.month,"月")
    ElseIf Val = "按天" Then
        g.Groups.AddDef("日期",DateGroupEnum.day,"天,dddd")
    ElseIf Val = "按周" Then
        g.Groups.AddDef("日期",DateGroupEnum.week,"周")
    ElseIf Val = "按季度" Then
        g.Groups.AddDef("日期",DateGroupEnum.quarter,"季度")
    ElseIf Val = "按年" Then
        g.Groups.AddDef("日期",DateGroupEnum.year,"年")
    End If
    g.Totals.AddDef("呼叫次数")
    g.Totals.AddDef("总单量")
    g.VerticalTotal = True
    g.Build()
End If

 

[此贴子已经被作者于2012-8-21 17:24:03编辑过]

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


加好友 发短信
等级:婴狐 帖子:23 积分:264 威望:0 精华:0 注册:2012/5/23 14:37:00
  发帖心情 Post By:2012/8/21 17:22:00 [只看该作者]

补加附件~~
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:大客户.table


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


加好友 发短信
等级:婴狐 帖子:23 积分:264 威望:0 精华:0 注册:2012/5/23 14:37:00
  发帖心情 Post By:2012/8/21 17:23:00 [只看该作者]

好像有点那个动态加载的意思~还在研究中!

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/8/21 17:35:00 [只看该作者]


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/8/21 17:40:00 [只看该作者]

大概如此:

 

Dim Filter As String
If e.form.Controls("TextBox1").Value IsNot Nothing Then
    Filter = "姓名 = '" & e.form.Controls("TextBox1").Value & "'"
End If
If e.form.Controls("DateTimePicker1").Value IsNot Nothing Then
    If filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "日期 >= #" & e.form.Controls("DateTimePicker1").Value & "#"
End If
If e.form.Controls("DateTimePicker2").Value IsNot Nothing Then
    If filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "日期 <= #" & e.form.Controls("DateTimePicker2").Value & "#"
End If
Dim g As New GroupTableBuilder("统计表1", DataTables("基础数据"))
Dim Val As String = Forms("报表管理器").Controls("ComboBox1").Value
g.Filter = filter
g.Groups.AddDef("姓名")
If Val Is Nothing Then
    MessageBox.Show("对不起,请先输入查询类型!", "提示")
ElseIf Val = "按月" Then
    g.Groups.AddDef("日期",DateGroupEnum.month,"月")
ElseIf Val = "按天" Then
    g.Groups.AddDef("日期",DateGroupEnum.day,"日")
ElseIf Val = "按周" Then
    g.Groups.AddDef("日期",DateGroupEnum.week,"周")
ElseIf Val = "按季度" Then
    g.Groups.AddDef("日期",DateGroupEnum.quarter,"季度")
ElseIf Val = "按年" Then
    g.Groups.AddDef("日期",DateGroupEnum.year,"年")
End If
g.Totals.AddDef("呼叫次数")
g.Totals.AddDef("总单量")
g.VerticalTotal = True
g.Build()

MainTable = Tables("统计表1")

[此贴子已经被作者于2012-8-21 17:41:17编辑过]

 回到顶部