以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  排序并选择  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=139098)

--  作者:15666282205
--  发布时间:2019/8/5 21:24:00
--  排序并选择
老师,请看实例。目的:在表A里分别按关联方Y和N
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:排序并选择实例.table

从大到小排序,在统计表里只选择金额最大的前两名,请指教。
--  作者:y2287958
--  发布时间:2019/8/5 21:52:00
--  
DataTables("取前两名").DataRows.Clear
For Each s As String In DataTables("表A").GetValues("关联方")
    For i As Integer = 0 To 1
        Dim fdr As DataRow = DataTables("表A").Find("关联方=\'" & s & "\'","金额 desc",i)
        Dim dr As DataRow = DataTables("取前两名").AddNew
        dr("编号") = fdr("编号")
        dr("单位") = fdr("单位")
        dr("关联方") = fdr("关联方")
        dr("金额") = fdr("金额")
    Next
Next

--  作者:有点蓝
--  发布时间:2019/8/5 22:00:00
--  
这种只能使用代码处理:

For Each s As String In DataTables("表A").GetValues("关联方")
    For Each dr As DataRow In DataTables("表A").Select("关联方=\'" & s & "\'","金额 desc").take(2)
        Dim dr2 As DataRow = DataTables("取前两名").AddNew
        dr2("关联方") = s
        dr2("金额") = dr("金额")
    Next
Next