Foxtable(狐表)用户栏目专家坐堂 → 二次筛选求助


  共有20717人关注过本帖树形打印复制链接

主题:二次筛选求助

帅哥哟,离线,有人找我吗?
实话实说
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
二次筛选求助  发帖心情 Post By:2011/5/10 8:25:00 [只看该作者]

表A窗口通过目录树进行了一次筛选,现需要在此基础上根据窗口文本框参数进行二次筛选,请帮忙写出筛选按钮的代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:二次筛选.table


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/10 8:32:00 [只看该作者]

Dim Filter As String
If e.Form.Controls("TextBox1").Value > ""  Then
    Filter = "颜色 = '" & e.Form.Controls("TextBox1").Value & "'"
End If
If e.Form.Controls("TextBox2").Value > ""  Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = "用户 = '" & e.Form.Controls("TextBox2").Value & "'"
End If
If Tables("表A").Filter > "" Then
    Filter = Filter & " And " & Tables("表A").Filter
End If
Tables("表A").Filter  = Filter

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/5/10 8:33:00 [只看该作者]

帮助里有的。

 


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/5/10 8:34:00 [只看该作者]

标题是“一个例子”。

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2011/5/10 8:38:00 [只看该作者]

每次目录树筛选后,用一个公共变量把这个筛选条件记录下来,一旦有二次筛选条件录入后,你就可以灵活随你所想了。


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/5/10 8:46:00 [只看该作者]

生成一个临时表。想用的时候把这个临时表调出来。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/10 8:47:00 [只看该作者]

以下是引用lihe60在2011-5-10 8:46:00的发言:
生成一个临时表。想用的时候把这个临时表调出来。

 

歪主意,这届简单的问题,何须如此复杂,看二楼。


 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2011/5/10 8:47:00 [只看该作者]

以下是引用lihe60在2011-5-10 8:34:00的发言:
标题是“一个例子”。

那是一次筛选,我要的是二次筛选。

谢狐爸


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/10 8:48:00 [只看该作者]

我给你的就是二次筛选,在现有筛选的基础上再次进行。
[此贴子已经被作者于2011-5-10 8:48:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/10 8:52:00 [只看该作者]

如下设置筛选按钮的代码,会更合理:

 

Dim Value()As String

Dim Filter As String

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

If trv.SelectedNode IsNot Nothing Then

    Value = trv.SelectedNode.FullPath.Split("\")

    Select Case trv.SelectedNode.Level

        Case 0

            Filter ="[分类] = '" & Value(0) & "'"

        Case 1

            Filter ="[分类] = '" & Value(0) & "' And [型号] = '" & Value(1) & "'"

        Case 2

            Filter ="[分类] = '" & Value(0) & "' And [型号] = '" & Value(1) & "' And [规格] = '" & Value(2) & "'"

    End Select

End If

If e.Form.Controls("TextBox1").Value > ""  Then

    If Filter > "" Then

        Filter = Filter & " And "

    End If

    Filter = "颜色 = '" & e.Form.Controls("TextBox1").Value & "'"

End If

If e.Form.Controls("TextBox2").Value > ""  Then

    If Filter > "" Then

        Filter = Filter & " And "

    End If

    Filter = "用户 = '" & e.Form.Controls("TextBox2").Value & "'"

End If

If Tables("表A").Filter > "" Then

    Filter = Filter & " And " & Tables("表A").Filter

End If

Tables("表A").Filter  = Filter


 回到顶部
总数 49 1 2 3 4 5 下一页