以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  用GroupTableBuilder怎么对表中的逻辑true 值和false值分别进行记录数的统计?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128258)

--  作者:soap_lwb
--  发布时间:2018/12/2 14:54:00
--  用GroupTableBuilder怎么对表中的逻辑true 值和false值分别进行记录数的统计?
用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
--  发布时间:2018/12/2 14:56:00
--  
上实例
--  作者:soap_lwb
--  发布时间:2018/12/2 15:01:00
--  
怎么上实例,上传(项目文件)到附件?
--  作者:有点甜
--  发布时间:2018/12/2 21:39:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=128262&skin=0