以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  TextChanged 事件代码求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153787)

--  作者:long086
--  发布时间:2020/8/22 22:08:00
--  TextChanged 事件代码求助


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

 

在  型号规格 的TextChanged事件代码如下

 

Dim va As WinForm.TextBox = e.Form.Controls("型号规格")
Tables("物料信息").Filter = "型号规格 like \'%" & va.text.Replace("*","[*]") & "%\'" 

现在比方在型号规格 输入 a 只想筛选出 AA的,不想BB的也筛选出有 A  的怎么实现


--  作者:有点蓝
--  发布时间:2020/8/23 20:06:00
--  
参考:http://www.foxtable.com/webhelp/topics/1058.htm
--  作者:long086
--  发布时间:2020/8/24 9:08:00
--  

按照老师的指点

Dim va As WinForm.TextBox = e.Form.Controls("型号规格")

Dim Filter As String
With e.Form.Controls("物料名称")
    If .Value IsNot Nothing Then
        If .value = "全部" Then
            Filter = "物料名称 <> \'\'"
        Else
            Filter = "物料名称 = \'" & .Value & "\'"
        End If
    End If
End With
With e.Form.Controls("型号规格")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
               Filter = Filter &  "型号规格 like \'%" & va.text.Replace("*","[*]") & "%\'"\'"
    End If
End With

If Filter > "" Then
    Tables("物料信息").Filter = Filter
End If

 

 

这个代码如果是 按钮 的 单击事件 完全可以,没有问题。为什么放在 文本框 的  TextChanged  事件里面就不行了。


--  作者:有点蓝
--  发布时间:2020/8/24 9:11:00
--  
改为使用text
With e.Form.Controls("物料名称")
    If .text > "" Then
        If .text = "全部" Then
            Filter = "物料名称 <> \'\'"
        Else
            Filter = "物料名称 = \'" & .text & "\'"