以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  crossTableBuilder排除重复值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129136)

--  作者:lfz123
--  发布时间:2018/12/22 10:58:00
--  crossTableBuilder排除重复值

请教:如何在统计入库单数的时候排除重复值,同一个入库单有多项入库明细,按照单号就重复了

图片点击可在新窗口打开查看此主题相关图片如下:入库单1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:排除重复值问题.png
图片点击可在新窗口打开查看
Dim g As New crossTableBuilder("统计表1", DataTables("入库单"))
g.filter = " 供应商简称 = \'"& CurrentTable.Current("供应商简称") & "\' and 申请单号 is null"
g.HGroups.AddDef("入库日期", DateGroupEnum.Year, "年")
g.HGroups.AddDef("入库日期", "月")
g.VGroups.AddDef("对账","已对帐|未对账")
g.Totals.AddDef("入库单号",AggregateEnum.Count, "入库单数") \'怎样排除重复值?
g.Totals.AddDef("含税金额","金额")
g.Decimals = 2
g.HorizontalTotal = True
g.VerticalTotal = True
g.Subtotal = True
Tables("对账统计表_table1").DataSource  = g.BuildDataSource
Tables("对账统计表_table1").DataTable.DataCols("含税金额_1").SetFormat("0.00")
Tables("对账统计表_table1").DataTable.DataCols("含税金额_2").SetFormat("0.00")
Tables("对账统计表_table1").DataTable.DataCols("合计_金额").SetFormat("0.00")


[此贴子已经被作者于2018/12/22 11:00:37编辑过]

--  作者:有点蓝
--  发布时间:2018/12/22 11:27:00
--  
去掉g.Totals.AddDef("入库单号",AggregateEnum.Count, "入库单数")

改为动态添加列进行代码统计
DataTables("统计表1").DataCols.Add("入库单数",Gettype(integer))
For Each dr As datarow In DataTables("统计表1").DataRows 
  dim d as date = new date(val(dr("年")),
val(dr("月")),1)
  dr("入库单数") = DataTables("入库单").GetValues("入库单号","入库日期 >=\'" & d & "\' and 入库日期 < \'" & d.AddMonths(1) & "\'").Count
Next