以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  精确查找与筛选后指定行去重(不是删除,是隐藏起来)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66963)

--  作者:漂亮美眉vszh
--  发布时间:2015/4/16 16:56:00
--  精确查找与筛选后指定行去重(不是删除,是隐藏起来)

各位大侠,有两个问题:1.精确查找,在模糊查找的基础上代码如何改?

If h12.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "科目 Like \'%" & h12.Text & "%\'"
End If

2.筛选后表格对指定行去重复值(不是删除,只是隐藏起来,需要的时候查询还能出来)

DataTables("订单").DataCols("数量").Filter.HideSameValues(),这样写一直报错,说不存在行

系统内的去重代码是:Syscmd.Filter.HideSameValues()怎么改写?


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

--  作者:Bin
--  发布时间:2015/4/16 16:58:00
--  
  filter = "科目 = \'" & h12.Text & "\'"


2.直接Syscmd.Filter.HideSameValues()
图片没看懂想表达什么

--  作者:狐狸爸爸
--  发布时间:2015/4/16 17:27:00
--  

你要先选择要排除重复值的列:

 

Dim c as integer = Tables("表名").Cols("列名").Index

Tables("表名").Select(Tables("表名").RowSel,c)

Syscmd.Filter.HideSameValues()


--  作者:漂亮美眉vszh
--  发布时间:2015/4/17 13:47:00
--  
以下是引用Bin在2015/4/16 16:58:00的发言:
  filter = "科目 = \'" & h12.Text & "\'"


2.直接Syscmd.Filter.HideSameValues()
图片没看懂想表达什么
1.这个精确查找对了,可是我想满足两个条件同时筛选,能显示第一条件和第二个条件同时查询出来的表,我这里自己改了,可是不对,满足了课次,但班级却不是这个班的:

Dim kh As WinForm.TextBox = e.Form.Controls("TextBox7")
Dim htah As WinForm.TextBox = e.Form.Controls("TextBox4")
Dim khmc As WinForm.TextBox = e.Form.Controls("TextBox5")
Dim k1 As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim k2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim k3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim filter As String

If kh.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "班级编号 Like \'%" & kh.Text & "%\' "
End If

If htah.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "报名课程 Like \'%" & htah.Text & "%\' "
End If

If khmc.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "学员姓名 Like \'%" & khmc.Text & "%\'"
End If
If k1.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "课次 = \'" & k1.Text & "\'"

End If
If k2.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "时间段 Like \'%" & k2.Text & "%\'"
End If
If k3.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "老师名 Like \'%" & k3.Text & "%\'"
End If

If Filter > "" Then
    Tables("上课登记").Filter =  filter
End If


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

--  作者:Bin
--  发布时间:2015/4/17 13:48:00
--  
所有的 Like 都按照filter = "课次 = \'" & k1.Text & "\'"  这么改
--  作者:漂亮美眉vszh
--  发布时间:2015/4/17 14:20:00
--  
以下是引用Bin在2015/4/17 13:48:00的发言:
所有的 Like 都按照filter = "课次 = \'" & k1.Text & "\'"  这么改

都改了,还是不行:

Dim kh As WinForm.TextBox = e.Form.Controls("TextBox7")
Dim htah As WinForm.TextBox = e.Form.Controls("TextBox4")
Dim khmc As WinForm.TextBox = e.Form.Controls("TextBox5")
Dim k1 As WinForm.ComboBox = e.Form.Controls("ComboBox1")
Dim k2 As WinForm.ComboBox = e.Form.Controls("ComboBox2")
Dim k3 As WinForm.ComboBox = e.Form.Controls("ComboBox3")
Dim filter As String
\'With e.Form.Controls("StartDate")
    \'If .Value IsNot Nothing Then
        \'If Filter >""  Then
            \'Filter = Filter & " And "
        \'End If
        \'Filter = Filter & "报名日期 >= #" & .Value & "#"
    \'End If
\'End With
If kh.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "班级编号 = \'" & kh.Text & "\'"
End If
\'filter = "课次 = \'" & k1.Text & "\'"
If htah.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "报名课程 = \'" & htah.Text & "\'"
End If

If khmc.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "学员姓名 = \'" & khmc.Text & "\'"
End If
If k1.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "课次 = \'" & k1.Text & "\'"
 \'filter = "科目 = \'" & h12.Text & "\'"
End If
If k2.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "时间段 = \'" & k2.Text & "\'"
End If
If k3.Value <> "" Then
    If filter > "" Then
        filter = filter & " And "
    End If
    filter = "老师名 = \'" & k3.Text & "\'"
End If
\'Tables("材料出库").Filter=filter
If Filter > "" Then
    Tables("上课登记").Filter =  filter
End If


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

--  作者:Bin
--  发布时间:2015/4/17 14:24:00
--  
出现什么问题,请描述清楚. 最好上个例子
--  作者:漂亮美眉vszh
--  发布时间:2015/4/17 14:55:00
--  
以下是引用Bin在2015/4/17 14:24:00的发言:
出现什么问题,请描述清楚. 最好上个例子

好的,问题:在设计窗口--点名分出窗口--筛选班编号“2015031702”和课次等于“1”的,两个条件筛选出来的信息是错的;上传例子和数据库

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:databasewl.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:昆山市多丽培训.rar


--  作者:Bin
--  发布时间:2015/4/17 15:09:00
--  
你没有按照帮助做,忘记拼接上一个条件了


filter = filter & "报名课程 = \'" & htah.Text & "\'"