以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助多条件筛选等几个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54058)

--  作者:漂亮美眉vszh
--  发布时间:2014/7/21 11:10:00
--  求助多条件筛选等几个问题
1.多条件筛选问题.

Dim wldm As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim wlmc As WinForm.TextBox = e.Form.Controls("TextBox2")
Dim ggxh As WinForm.TextBox = e.Form.Controls("TextBox3")

Dim filter As String
If wldm.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "物料代码 Like \'%" & wldm.Text & "%\' "
End If
If wlmc.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "物料名称 Like \'%" & wlmc.Text & "%\'"
End If
If ggxh.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "规格型号 Like \'%" & ggxh.Text & "%\'"
End If

If Filter > "" Then
    Tables("添加物料_物料信息表").Filter = Filter
End If

可是我现在要三个条件都满足,如何改写?


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
2.想要打勾的部分,导入时新增了,我想导入在物料代码列,最后一行非空单元格内,而不是新增,原代码:

If Tables("添加物料_物料信息表").Rows.Count > 0 Then
   
    For Each r1 As Row In Tables("添加物料_物料信息表").GetCheckedRows
        Dim  r2 As Row = Tables("生产领料配置与报价表").AddNew
        r2("物料代码") = r1("物料代码")
           Next
    e.Form.close
End If

如何改写?


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

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看
3.重复填充只能填充选择的那一列,能否多选几列,但几列的内容是不一样,然后一起往下填充?

问题有点多哈,谢谢各位大侠帮忙~~


--  作者:Bin
--  发布时间:2014/7/21 11:14:00
--  
1.不明白你的意思,AND 本来就是3个条件都要满足啊

2. 什么意思? 填充到后面的空白行,而不是新增? 如果没有这么多空白行呢?

3.不懂.

--  作者:有点甜
--  发布时间:2014/7/21 11:16:00
--  

 1、代码本来就是三个条件同时匹配的查询;

 

 2、先把空行删除,然后用你的代码新增进去;

 

 3、重复填充你可以单独做一个按钮,然后编写代码解决

 

 (综上所述,请上传一个例子。)


--  作者:漂亮美眉vszh
--  发布时间:2014/7/21 11:23:00
--  

回复1:比如我筛选“扁钢”,型号号是“5”,型号是5的都会出来。

 


此主题相关图片如下:qq图片20140721111917.jpg
按此在新窗口浏览图片
2.什么意思? 填充到后面的空白行,而不是新增? 如果没有这么多空白行呢?----没有行的时候再新增,有的情况下就先填充最后一个非空单元格。

3.我要往下填充,但是只能选一列往下填,我要选三列往下填就不行,我想一次必选3列填,有没有办法

 


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

--  作者:有点甜
--  发布时间:2014/7/21 11:25:00
--  

型号的查询,你用 like,只要匹配出现5,就满足,有什么问题?


--  作者:Bin
--  发布时间:2014/7/21 11:26:00
--  
请上例子.
--  作者:有点甜
--  发布时间:2014/7/21 11:26:00
--  
2、我的意思是,你先把空行移除,然后新增行,不是一样的效果么
--  作者:有点甜
--  发布时间:2014/7/21 11:27:00
--  

3、需要编写简单代码去解决。http://www.foxtable.com/help/topics/1665.htm

 


--  作者:漂亮美眉vszh
--  发布时间:2014/7/21 11:37:00
--  
是想只要扁钢下的5,其他的名称内含5的不筛选出来
--  作者:有点甜
--  发布时间:2014/7/21 11:39:00
--  
以下是引用漂亮美眉vszh在2014-7-21 11:37:00的发言:
是想只要扁钢下的5,其他的名称内含5的不筛选出来

 

你的代码肯定没有错。你可以在你的代码最后加入

 

msgbox(Filter) 看一下。