Foxtable(狐表)用户栏目专家坐堂 → 高级筛选细节实现


  共有2687人关注过本帖树形打印复制链接

主题:高级筛选细节实现

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/12 23:04:00 [显示全部帖子]

Dim frm As winform.Form = e.Form
Dim Tbl As Table = frm.Controls("Table1").Table
Dim FltStr As String = ""
Dim i As Integer
Dim drs As List(of DataRow) = Tbl.DataTable.Select("")
Dim dr As DataRow
Dim dc As DataCol
Dim luoJi As String
Dim caoZuo As String


For i = 0 To drs.Count - 1
    dr = drs(i)
    If dr.IsNull("字段") Then
        msgbox("第" & i+1 & "行字段未填写!")
        Tbl.Select(i,0)
        Return
    Else

        If dr("逻辑")="并且"  Then
            luoJi=" And "
        Else
            luoJi=" Or "
        End If
       
        Select Case dr("操作符")
            Case "等于"
                caoZuo = " = "
            Case "大于"
                caoZuo = " > "
            Case "小于"
                caoZuo = " < "
            Case "大于等于"
                caoZuo = " >= "
            Case "小于等于"
                caoZuo = " <= "
            Case "不等于"
                caoZuo = " <> "
        End Select

        FltStr = FltStr & dr("字段") & caoZuo & "'" & dr("值") & "'" & luoJi
    End If
Next
If FltStr > "" Then    
    If FltStr.EndsWith(" And ") Then
        FltStr = FltStr.SubString(0, fltstr.length-5)
    ElseIf FltStr.EndsWith(" Or ") Then
        FltStr = FltStr.SubString(0, fltstr.length-4)
    End If
End If
'筛选代码
If Tbl.Rows.Count > 0 Then Tbl.Select(0,0)
msgbox(fltstr)
'Tables("person").Filter = FltStr


 回到顶部