Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]请问如何按起止日期进行交叉统计?

1楼
yrdfl 发表于:2011/11/29 12:46:00
请问如何按起止日期进行交叉统计?,通过设计窗口实现此功能,求教代码。谢谢!
2楼
狐狸爸爸 发表于:2011/11/29 13:06:00
关于查询窗口的设计,看看:
http://www.foxtable.com/help/topics/1058.htm
 
单单日期的话,插入两个日期输入框:

Dim Filter As String
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
Dim b As New CrossTableBuilder("统计表1",DataTables("订单"))
b.HGroups.AddDef("客户")
b.VGroups.AddDef("产品")
b.Totals.AddDef("数量")
b.Filter = Filter
b.Build
Maintable = Tables("统计表1")
3楼
yrdfl 发表于:2011/11/30 12:03:00
狐爸,您好,你奉献的代码还是实现不了这个功能,烦请您帮我看看附件!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:公车管理.table

4楼
yrdfl 发表于:2011/11/30 13:38:00
5楼
yangming 发表于:2011/11/30 13:54:00

按车号:

Dim Filter As String
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
Dim b As New CrossTableBuilder("统计表1",DataTables("班线营收"))
b.HGroups.AddDef("车号")
b.VGroups.AddDef("日期")
b.Totals.AddDef("运行里程")
b.Totals.AddDef("运量人数")
b.Totals.AddDef("运量金额")
b.Totals.AddDef("路配人数")
b.Totals.AddDef("路配金额")
b.Totals.AddDef("小件营收")
b.Totals.AddDef("人数合计")
b.Totals.AddDef("营收合计")
b.OrderByTotal = True
b.VerticalTotal= True
b.Filter = Filter
b.Build
MainTable = Tables("统计表1")

 

按驾驶员

Dim Filter As String
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
Dim b As New CrossTableBuilder("统计表1",DataTables("班线营收"))
b.HGroups.AddDef("驾驶员")
b.VGroups.AddDef("日期")
b.Totals.AddDef("运行里程")
b.Totals.AddDef("运量人数")
b.Totals.AddDef("运量金额")
b.Totals.AddDef("路配人数")
b.Totals.AddDef("路配金额")
b.Totals.AddDef("小件营收")
b.Totals.AddDef("人数合计")
b.Totals.AddDef("营收合计")
b.OrderByTotal = True
b.VerticalTotal= True
b.Filter = Filter
b.Build
MainTable = Tables("统计表1")

 

 

按乘务员

Dim Filter As String
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        Filter =  "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
Dim b As New CrossTableBuilder("统计表1",DataTables("班线营收"))
b.HGroups.AddDef("乘务员")
b.VGroups.AddDef("日期")
b.Totals.AddDef("运行里程")
b.Totals.AddDef("运量人数")
b.Totals.AddDef("运量金额")
b.Totals.AddDef("路配人数")
b.Totals.AddDef("路配金额")
b.Totals.AddDef("小件营收")
b.Totals.AddDef("人数合计")
b.Totals.AddDef("营收合计")
b.OrderByTotal = True
b.VerticalTotal= True
b.Filter = Filter
b.Build
MainTable = Tables("统计表1")

[此贴子已经被作者于2011-11-30 13:56:49编辑过]
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.