以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [筛选][求助]如果结合下拉列表条件值搜索?[已解决]  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=41944)

--  作者:KingGen
--  发布时间:2013/10/30 20:33:00
--  [筛选][求助]如果结合下拉列表条件值搜索?[已解决]

各位老师好,小弟问题个问题:


图片点击可在新窗口打开查看此主题相关图片如下:下拉列表的搜索问题.jpg
图片点击可在新窗口打开查看
请问如果写代码,能使得按下拉列表中的选中条件值之后,在文本框输入相应的条件进行搜索到所有符合条件的行数?

谢谢您们的指教!

[此贴子已经被作者于2013-10-30 22:25:44编辑过]

--  作者:KingGen
--  发布时间:2013/10/30 20:46:00
--  
咳咳咳,可能问题有点小白了,但是真的不明白嘛。。。。
--  作者:有点甜
--  发布时间:2013/10/30 20:49:00
--  
 这个简单吧?

 直接e.form.controls("Table1").table.rows.count

--  作者:KingGen
--  发布时间:2013/10/30 21:07:00
--  

Dim Filter As String
With e.Form.Controls("tj")
    If .Value IsNot Nothing Then
        Filter = "商品编码 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("tj")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "条码 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("tj")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "商品名称 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("spmc")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
    End If
End With
If Filter > "" Then
    Tables("商品资料").Filter = Filter
End If

 

 

为什么这样写不对了呢???按条件值输入文本后点搜索数据直接没了。。。

本人超级小白,求详细代码。。。

[此贴子已经被作者于2013-10-30 21:07:52编辑过]

--  作者:有点甜
--  发布时间:2013/10/30 21:14:00
--  
 代码没有错。具体问题,请上传一个例子。或者参考例子

 窗口筛选.table


--  作者:KingGen
--  发布时间:2013/10/30 21:47:00
--  

就是点击要查询的条件名称然后输入条件值,点搜索可以显示相应的搜索关键字行。。。。这样明白不?


图片点击可在新窗口打开查看此主题相关图片如下:下拉列表的搜索问题.gif
图片点击可在新窗口打开查看


--  作者:程兴刚
--  发布时间:2013/10/30 21:50:00
--  
您还不如搞个目录树来得方便!
--  作者:KingGen
--  发布时间:2013/10/30 21:51:00
--  

嘛,现在就是想要实现这样的效果的啊,程大有没好代码?


--  作者:有点甜
--  发布时间:2013/10/30 21:58:00
--  
 第一,你的搜索框 和 包含框,不能绑定表的列

 第二,修改你的筛选代码,如下

Dim filter As String = ""

Select Case e.Form.Controls("tj").text
    Case "条形码" 
        filter += "条码 like \'*" & e.Form.Controls("spmc").text & "*\'"
    Case "商品名称"
        filter += "商品名称 like \'*" & e.Form.Controls("spmc").text & "*\'"
End Select

e.Form.controls("Table1").Table.filter = filter

--  作者:KingGen
--  发布时间:2013/10/30 22:11:00
--  
以下是引用有点甜在2013-10-30 21:58:00的发言:
 第一,你的搜索框 和 包含框,不能绑定表的列

 第二,修改你的筛选代码,如下

Dim filter As String = ""

Select Case e.Form.Controls("tj").text
    Case "条形码" 
        filter += "条码 like \'*" & e.Form.Controls("spmc").text & "*\'"
    Case "商品名称"
        filter += "商品名称 like \'*" & e.Form.Controls("spmc").text & "*\'"
End Select

e.Form.controls("Table1").Table.filter = filter
 

按您的代码我修改成:

Dim filter As String = ""
Select Case e.Form.Controls("tj").text
    Case "条形码"
        filter += "条码 like \'*" & e.Form.Controls("spmc").text & "*\'"
    Case "商品名称"
        filter += "商品名称 like \'*" & e.Form.Controls("spmc").text & "*\'"
End Select
e.Form.controls("商品资料").Table.filter = filter

 

 

这样有以下出错提示:

 

 


此主题相关图片如下:gaollg0.gif
按此在新窗口浏览图片