以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有条件的去统计另一张表的数据并填充(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87100)

--  作者:ericotaku
--  发布时间:2016/7/3 12:57:00
--  有条件的去统计另一张表的数据并填充(已解决)

{表一},[数量]这一列

我想统计{表二}中,相应分类并且,[条件]="条件一"和"条件二",的个数

请老师帮忙完善一下,

 

DataTables("表二").Compute("Count([名称])", "所属分类 = \'e.名称\' And 条件=\'条件一\'or\'条件二\'")

并请告知代码应该放在哪里。。。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目20(按条件统计并填入单元格).foxdb

[此贴子已经被作者于2016/7/6 18:27:41编辑过]

--  作者:y2287958
--  发布时间:2016/7/3 15:41:00
--  
用分组统计即可,我更喜欢用SQLGroupTableBuilder。

Dim bm As String = "统计表1"
Dim b As New SQLGroupTableBuilder(bm,"表二")
b.Groups.AddDef("所属分类")
b.Totals.AddExp("数量","1")
b.Filter = "条件 in(\'条件一\',\'条件二\')"
b.Build
MainTable = Tables(bm)

(在命令窗口执行)

--  作者:ericotaku
--  发布时间:2016/7/3 22:18:00
--  
 我不想重新生成一个表,可以直接填到原来的表里面吗?

--  作者:y2287958
--  发布时间:2016/7/3 22:21:00
--  
用filler填充
--  作者:大红袍
--  发布时间:2016/7/3 22:49:00
--  

 参考代码

 

Dim dt1 As DataTable = DataTables("表一")
Dim dt2 As DataTable = DataTables("表二")

For Each dr As DataRow In dt1.DataRows
    dr("数量") = dt2.Compute("Count(名称)", "所属分类 = \'" & dr("名称") & "\' And 条件 in(\'条件一\',\'条件二\')")
Next