以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何统计符合条件的记录数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56070)

--  作者:hzcaqjf
--  发布时间:2014/8/28 17:08:00
--  如何统计符合条件的记录数
如图:如何统计第一列中相同行的记录数?

图片点击可在新窗口打开查看此主题相关图片如下:360截图20140828165641703.jpg
图片点击可在新窗口打开查看
Dim p As List(of String)
Dim s As Integer
Dim r As Row
p = DataTables("表A").getvalues("第一列")
For i As Integer = 0 To p.count - 1
   s = 0
    For ii As Integer = 0 To Tables("表A").count -1
        For Each r In Tables("表A").Rows
            If Tables("表A").Rows(ii)("第一列") = p(i) Then
                s+ = 1
                r("第二列") = s
            End If
        Next
    Next
Next
命令窗口执行上面代码得不到第二列的正确结果.求教,谢谢!


--  作者:Bin
--  发布时间:2014/8/28 17:12:00
--  
看不懂你的意思.
--  作者:hzcaqjf
--  发布时间:2014/8/28 17:19:00
--  
比喻在第三行
在第三行第二列统计出
从第一行至第三行为止
[第一列]="f"的记录个数
[此贴子已经被作者于2014-8-28 17:20:30编辑过]

--  作者:有点甜
--  发布时间:2014/8/28 17:33:00
--  
Dim dis As new Dictionary(Of String, Integer)
For Each r As Row In Tables("表A").Rows
    If dis.ContainsKey(r("第一列")) = False Then
        dis.Add(r("第一列"), 1)
    Else
        dis(r("第一列")) += 1
   End If
    r("第二列") = dis(r("第一列"))
Next

--  作者:hzcaqjf
--  发布时间:2014/8/28 18:43:00
--  
从来没定义过字典.
总算模糊的知道字典的妙用了.
多谢甜老师!