以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]如何筛选出符合条件的最后几条连续的记录  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=86613)

--  作者:ehomecd
--  发布时间:2016/6/21 19:52:00
--  [讨论]如何筛选出符合条件的最后几条连续的记录
例如:
图片点击可在新窗口打开查看此主题相关图片如下:狐表提问2016年6月21日.png
图片点击可在新窗口打开查看


--  作者:ehomecd
--  发布时间:2016/6/21 19:55:00
--  
tables("等级").sort = "_Identify desc"
tables("等级").filter = "等级 = \'A\' and 这里不会写了 "
--  作者:大红袍
--  发布时间:2016/6/21 21:30:00
--  

参考代码

 

Dim t As Table = Tables("表B")
Dim drs As List(of DataRow) = t.DataTable.Select("", "_Identify desc")
Dim str As String = ""
For i As Integer = 0 to drs.count-1
    Dim dr As DataRow = drs(i)
    If dr("第二列") = "A" Then
        For j As Integer = i To drs.count-1
            dr = drs(j)
            If dr("第二列") = "A" Then
                str &= dr("_Identify") & ","
            Else
                goto out
            End If
        Next
    End If
Next

out:
msgbox(str.trim(","))


--  作者:ehomecd
--  发布时间:2016/6/22 10:53:00
--  
不是取出最后连续三条记录的某字段的值,而是筛选出最后几条符合条件的行。请指导
--  作者:大红袍
--  发布时间:2016/6/22 10:58:00
--  

无语

 

Dim t As Table = Tables("表B")
Dim drs As List(of DataRow) = t.DataTable.Select("", "_Identify desc")
Dim str As String = "-1,"
For i As Integer = 0 To drs.count-1
    Dim dr As DataRow = drs(i)
    If dr("第二列") = "A" Then
        For j As Integer = i To drs.count-1
            dr = drs(j)
            If dr("第二列") = "A" Then
                str &= dr("_Identify") & ","
            Else
                goto out
            End If
        Next
    End If
Next

out:
t.Filter = "_Identify in (" & str.trim(",") & ")"


--  作者:ehomecd
--  发布时间:2016/6/22 11:29:00
--  
明白了,谢谢