以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  错误所在事件: 详细错误信息: 筛选表达式“小区名称”的计算结果不是 Boolean 值项。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140967)

--  作者:djsolodj
--  发布时间:2019/9/18 11:55:00
--  错误所在事件: 详细错误信息: 筛选表达式“小区名称”的计算结果不是 Boolean 值项。
If e.Col.Name = "投播位置" Then \'如果编辑的是投播位置
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        Dim tbl As Table = Tables("点位选择_Table1")
        If e.Text = "" Then \'如果内容为空
            tbl.Filter = "" \'显示所有客户
        Else \'否则根据输入内容进行模糊筛选
            Dim txt As String = "\'%" & e.Text & "%\'"
            tbl.Filter = "小区名称 Like " & txt & " Or 投播位置 Like " & txt
            If e.Col.Name = "小区名称" Then \'如果编辑的是小区名称
                If e.Col.DroppedDown Then \'如果下拉窗口已经打开
                    Dim tbl1 As Table = Tables("选择小区_Table1")
                    If e.Text = "" Then \'如果内容为空
                        tbl1.Filter = "" \'显示所有客户
                    Else   \'否则根据输入内容进行模糊筛选
                        Dim txt1 As String = "\'%" & e.Text & "%\'"
                        tbl1.Filter = "小区名称 Like" & txt
                    
                    End If
                End If
            End If
        End If
    End If
End If
运行到第二段时说
错误所在事件:
详细错误信息:
筛选表达式“小区名称”的计算结果不是 Boolean 值项。
第一段就能正确运行,求解

--  作者:有点蓝
--  发布时间:2019/9/18 12:12:00
--  
tbl1.Filter = "小区名称 Like " & txt1

Like 后面加一个空格

--  作者:djsolodj
--  发布时间:2019/9/18 14:27:00
--  
加了空格也是一样的错误提示
--  作者:有点蓝
--  发布时间:2019/9/18 14:45:00
--  
改为txt1了吗
--  作者:djsolodj
--  发布时间:2019/9/18 15:24:00
--  
改了,还是一样的错误
--  作者:djsolodj
--  发布时间:2019/9/18 15:26:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar
   帮我看一下

--  作者:有点蓝
--  发布时间:2019/9/18 16:02:00
--  
选择小区窗口DropDownOpened事件有问题,没有写完

另外1楼的代码改为

If e.Col.Name = "投播位置" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        Dim tbl As Table = Tables("点位选择_Table1")
        If e.Text = "" Then \'如果内容为空
            tbl.Filter = "" \'显示所有客户
        Else \'否则根据输入内容进行模糊筛选
            Dim txt As String = "\'%" & e.Text & "%\'"
            tbl.Filter = "小区名称 Like " & txt & " Or 投播位置 Like " & txt
            
        End If
    End If
ElseIf e.Col.Name = "小区名称" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        Dim tbl1 As Table = Tables("选择小区_Table1")
        If e.Text = "" Then \'如果内容为空
            tbl1.Filter = "" \'显示所有客户
        Else   \'否则根据输入内容进行模糊筛选
            Dim txt1 As String = "\'%" & e.Text & "%\'"
            tbl1.Filter = "小区名称 Like " & txt1
            
        End If
    End If
End If

--  作者:djsolodj
--  发布时间:2019/9/18 17:48:00
--  
好了,把选择小区窗口DropDownOpened事件的模糊筛选补完就好了,但现在是下拉窗囗点选了后,都是下拉窗囗中的第一行的值,不跟着我选的变是怎么回事
--  作者:有点蓝
--  发布时间:2019/9/19 8:38:00
--  
只根据一列进行筛选就是这个效果了。网点表有大量重复的数据。

点位选择窗口DropDownOpened


Dim txt As String = e.Form.DropDownBox.Text
Dim txt2 As String = e.Form.DropTable.Current("小区名称")
Dim tbl As Table = Tables("点位选择_Table1")
Dim filter As String = "1=1 "
If txt > "" Then
    filter = filter  & " and 投播位置 = \'" & txt & "\'"
End If
If txt2 > "" Then
    filter = filter  & " And 小区名称 = \'" & txt2 & "\'"
End If
tbl.Filter = filter 
e.Form.DropDownBox.Select() \'将输入焦点返回下拉列表框