Rss & SiteMap

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

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

标题:[求助]“统计演示”如何仅统计加载行?

1楼
dqlgood 发表于:2011/11/23 9:36:00
 

打开软件附带的案例“统计演示”提问:

 

原代码如下:1、项目MainTableChanged事件:

If MainTable.Name = "销售统计" Then
    Dim f As New Filler
    DataTables("销售统计").DataRows.Clear() '清除原有数据
    f.SourceTable = DataTables("订单")
    f.SourceCols = "产品"
    f.DataTable = DataTables("销售统计")
    f.DataCols = "产品"
    f.Fill()
    DataTables("销售统计").DataCols("数量").Recalc()   
End If

2、表DataColChanged事件:

Dim dr As DataRow = e.DataRow
Dim dt As DataTable = DataTables("订单")
If e.DataCol.Name = "产品" Then
    dr("数量") = dt.Compute("Sum(数量)","[产品] = '" & dr("产品") & "'")
    dr("金额") = dt.Compute("Sum(金额)","[产品] = '" & dr("产品") & "'")
End If

问题:现在统计的是所有行,如果我仅想统计加载行,如何改写?

2楼
狐狸爸爸 发表于:2011/11/23 9:41:00

上面的代码,本来就只统计已经加载的数据啊

3楼
dqlgood 发表于:2011/11/23 10:15:00
我是想当我用控件输入(如:Tables("订单").Filter = "[日期] = #1/3/1999#")时,重新转换到“销售统计”表时数据也同步发生变化。
4楼
狐狸爸爸 发表于:2011/11/23 10:32:00

1、新版本已经没有Recalc了,建议升级你的foxtable

2、任何的统计都可以设置条件,加一行即可:

 

Filler.Filter = Tables("订单").Filter

5楼
dqlgood 发表于:2011/11/23 11:49:00

我重新下载升级了,编码加在哪里呀?我是菜鸟加不进去。求老师帮忙!谢谢!

6楼
狐狸爸爸 发表于:2011/11/23 14:47:00
Dim dr As DataRow = e.DataRow
Dim dt As DataTable = DataTables("订单")
If e.DataCol.Name = "产品" Then
    if Tables("订单").Filter = "" Then
        dr("数量") = dt.Compute("Sum(数量)","[产品] = '" & dr("产品") & "'")
        dr("金额") = dt.Compute("Sum(金额)","[产品] = '" & dr("产品") & "'")
   Else
       dr("数量") = dt.Compute("Sum(数量)","[产品] = '" & dr("产品") & "' And " & Tables("订单").Filter)
       dr("金额") = dt.Compute("Sum(金额)","[产品] = '" & dr("产品") & "' And " & Tables("订单").Filter)
   End if
End If
共6 条记录, 每页显示 10 条, 页签: [1]

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

Powered By Dvbbs Version 8.3.0
Processed in .02490 s, 2 queries.