以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]统计数据汇总遇到的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122604) |
-- 作者:紫色幽魂 -- 发布时间:2018/7/29 14:27:00 -- [求助]统计数据汇总遇到的问题 请教 生成了一个统计表,增加了一列“已检构件”,想要对“无损_构件清单”进行筛选,然后将数量汇总写入这个统计表,下面这个需要怎么改 Dim zd As New Dictionary(of DataRow, String) Dim drs As List(of DataRow) Dim sl As Double For Each dr1 As DataRow In DataTables("无损_构件清单").DataRows drs = DataTables("无损_构件清单").SQLSelect("检验批编号 = \'"& dr1("检验批编号") &"\'") \'筛选的时候这个表里面的总数量列可能有的单元格为空,需不需要筛选的时候就将这个条件加进去 For Each dr2 As DataRow In drs If dr2("已检构件数") > dr2("总数量") Then sl = sl + dr2("总数量") Else sl = sl + dr2("已检构件数") End If Next zd.Add(dr1, sl) Next For Each dr As DataRow In zd.Keys dr("已检构件") = zd(dr) Next |
-- 作者:有点甜 -- 发布时间:2018/7/29 16:03:00 -- 没看懂你要做的东西。
如果要给统计表赋值,你应该循环统计表的每一行才对。 |
-- 作者:紫色幽魂 -- 发布时间:2018/7/29 17:00:00 -- 回复:(有点甜)没看懂你要做的东西。 如果... 先生成统计表,然后增加一列,查询每一行对应的检验批编号所对应的表“无损_构件清单”的“已检构件数”之和,但是如果单行已检构件数超过“总数量”的话就以单行“总数量”来算 |
-- 作者:有点甜 -- 发布时间:2018/7/29 17:27:00 -- Dim drs As List(of DataRow) For Each dr1 As DataRow In DataTables("统计表").DataRows |
-- 作者:紫色幽魂 -- 发布时间:2018/7/29 21:32:00 -- 回复:(有点甜)Dim drs As List(of DataRow)For E... 在取值的表单里面有的行已检构件大于总数,如果大于总数取总数,否则取已检构件数,现在取出来的数之和和实际这个检验批已检构件数量之和对不上;’ 在这个取值表总数量行可能是空值,所以我把筛选条件将总数量是空值的去除了,但是最后生成的表里面这一列都是0了;请问这个英国怎么改 Dim drs As List(of DataRow) For Each dr1 As DataRow In DataTables("无损查询表_Table1").DataRows Dim sl As Double = 0 drs = DataTables("无损_构件清单").SQLSelect("检验批编号 = \'"& dr1("检验批编号") &"\' And 总数量 IsNot Nothing ") For Each dr2 As DataRow In drs If dr2("已检构件") > dr2("总数量") Then sl = sl + dr2("总数量") Else sl = sl + dr2("已检构件") End If Next dr1("已检构件") = sl Next
|
-- 作者:有点甜 -- 发布时间:2018/7/29 23:05:00 --
drs = DataTables("无损_构件清单").SQLSelect("检验批编号 = \'"& dr1("检验批编号") &"\' And 总数量 Is not null ")
|