以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  逻辑列与 普通字符的一起筛选  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=183992)

--  作者:lianghanyu
--  发布时间:2022/11/22 11:35:00
--  逻辑列与 普通字符的一起筛选
提示:  无法在 System.Boolean 和 System.String 上执行“=”操作。


有一个信息表,其中 是否查看       与是否下载         是逻辑列。

想用合成条件筛选,报告出错,代码如下:

Dim filter As String
Dim sts() As String = {"发送人", "接收人", "信息内容"}
For Each st As String In sts
    Dim val As String = e.Form.Controls(st).value
    If val > "" Then
        val = val.Replace("*", "[*]")
        If filter = "" Then
            filter = st & " like \'*" & val & "*\'"
        Else
            filter = filter & " and " & st & " like \'*" & val & "*\'"
        End If
    End If
Next

Dim c As WinForm.ComboBox = e.Form.Controls("是否下载")
Dim t As WinForm.ComboBox = e.Form.Controls("是否查看")
Filter = c.Name & " = \'" & e.Sender.Value & "\'"
If t.Value > "" Then
    Filter = filter & " and " & t.Name & " = \'" & t.Value & "\'" 
   
End If
If c.Value > "" Then
    Filter = filter & " and " & c.Name & " = \'" & c.Value & "\'" 
   
End If


Tables("信息记录").Filter = filter

--  作者:有点蓝
--  发布时间:2022/11/22 11:37:00
--  
逻辑列只能使用true/false判断

第一列=true
或者
第一列=false