Foxtable(狐表)用户栏目专家坐堂 → 用GroupTableBuilder怎么对表中的逻辑true 值和false值分别进行记录数的统计?


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

主题:用GroupTableBuilder怎么对表中的逻辑true 值和false值分别进行记录数的统计?

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


加好友 发短信
等级:幼狐 帖子:65 积分:631 威望:0 精华:0 注册:2018/10/17 18:29:00
用GroupTableBuilder怎么对表中的逻辑true 值和false值分别进行记录数的统计?  发帖心情 Post By:2018/12/2 14:54:00 [只看该作者]

用GroupTableBuilder或者用SQLGroupTableBuilder,怎么对表中的逻辑true 值和false值分别进行记录数的统计?   

比如要统计表中“来电信息”的记录数,有下面的语句可以实现

b.Totals.AddDef("来电信息",AggregateEnum.Count,"接单数量“)

怎么对表中的逻辑列--------true 值和false值分别进行记录数的统计?实现的语句方法是什么?


Dim Filter1 As String

With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter1 >"" Then
            Filter1 = Filter1 & " And "
        End If
        Filter1 = Filter1 & "来电时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter1 >"" Then
            Filter1 = Filter1 & " And "
        End If
        Filter1 = Filter1 & "来电时间 <= #" & .Value & "#"
    End If
End With

If Filter1 > "" Then
    Tables("管网管理所抢修热线").Filter = Filter1
End If

Dim Filter2 As String

With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter2 >"" Then
            Filter2 = Filter2 & " And "
        End If
        Filter2 = Filter2 & "来电时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter2 >"" Then
            Filter2 = Filter2 & " And "
        End If
        Filter2 = Filter2 & "来电时间 <= #" & .Value & "#"
    End If
End With

If Filter1 > "" Then
    Tables("用户管理水表热线").Filter = Filter2
End If




Dim dt1 As fxDataSource
Dim a As New GroupTableBuilder("统计表1",DataTables("管网管理所抢修热线"))


a.filter = Tables("管网管理所抢修热线").Filter

a.Groups.AddDef("来电时间",DateGroupEnum.Year,"年")
a.Groups.AddDef("来电时间","月")
a.Groups.AddDef("来电时间",DateGroupEnum.Day,"日")

a.Totals.AddDef("来电信息",AggregateEnum.Count,"管网A单_接单数量") '对接单数量进行count
         
                 Tables("管网管理所抢修热线").Filter = "[是否解决] = True"   

           a.filter = Tables("管网管理所抢修热线").Filter                  '(此方法的结果是忽略掉了原来筛选的时间段条件)

      
a.Totals.AddDef("是否解决",AggregateEnum.Count,"管网A单_已处理数量")'对已处理数量进行count

         

a.Totals.AddDef("是否解决",AggregateEnum.Count,"管网A单_未处理数量")

dt1 = a.BuildDataSource()

Dim dt2  As fxDataSource
Dim b As New GroupTableBuilder("统计表2",DataTables("用户管理水表热线"))
b.filter = Tables("用户管理水表热线").Filter

b.Groups.AddDef("来电时间",DateGroupEnum.Year,"年")
b.Groups.AddDef("来电时间","月")
b.Groups.AddDef("来电时间",DateGroupEnum.Day,"日")

b.Totals.AddDef("来电信息",AggregateEnum.Count,"表务B单_接单数量") '对数量进行count
b.Totals.AddDef("是否解决",AggregateEnum.Count,"表务B单_已处理数量")
b.Totals.AddDef("是否解决",AggregateEnum.Count,"表务B单_未处理数量")

dt2 = b.BuildDataSource()

Dim cls() As String = {"年","月","日"}
dt1.Combine(cls,dt2,cls)
dt1.Show("统计表bb")
MainTable = Tables("统计表bb") 


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


加好友 发短信
等级:狐神 帖子:4643 积分:33865 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/12/2 14:56:00 [只看该作者]

上实例

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


加好友 发短信
等级:幼狐 帖子:65 积分:631 威望:0 精华:0 注册:2018/10/17 18:29:00
  发帖心情 Post By:2018/12/2 15:01:00 [只看该作者]

怎么上实例,上传(项目文件)到附件?

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


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


 回到顶部