以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求一个筛选按钮公式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121567)

--  作者:hbfnmxb
--  发布时间:2018/7/9 15:59:00
--  [求助]求一个筛选按钮公式
在第一个表中有一个窗口,窗口中的“确定筛选”按钮的公式要求是:从表“年度院校提档线”中筛选出符合1录取批次,2符合文史理工,3符合录取年度的,平均分差值最高在M与最低在N之间的院校。(M与N是根据高考成绩的平均分差值自己设定的)。并把筛选结果复制到一个新表中:例如“筛选结果表”。这个按钮公式如何写?请教老师!!谢谢老师了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求筛选公式.rar



--  作者:hbfnmxb
--  发布时间:2018/7/9 17:04:00
--  
自己顶一下,求助老师。谢谢
--  作者:有点甜
--  发布时间:2018/7/9 17:37:00
--  

参考这里

 

http://www.foxtable.com/webhelp/scr/1058.htm

 


--  作者:hbfnmxb
--  发布时间:2018/7/9 18:24:00
--  
没看懂,老师您看看这个公式怎么写?
--  作者:有点蓝
--  发布时间:2018/7/9 20:03:00
--  
不要动不动就“没看懂”,如果一句代码都看不懂,建议好好从头看看帮助,或者视频:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

比如:

Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter = "录取批次 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "文理分科 = \'" & .Value & "\'"
    End If
End With

If Filter > "" Then
    Tables("文理分科").Filter = Filter
End If

--  作者:hbfnmxb
--  发布时间:2018/7/10 6:28:00
--  
我知道这个公式有点难,实在难为老师了,还是先谢谢老师。老师如果有时间还是帮忙写一下。
--  作者:hbfnmxb
--  发布时间:2018/7/10 8:56:00
--  
感谢老师,帮忙写一下吧。谢谢!!
--  作者:有点甜
--  发布时间:2018/7/10 9:11:00
--  

认认真真参考,贴出你所写代码。

 

http://www.foxtable.com/webhelp/scr/1058.htm

 


--  作者:hbfnmxb
--  发布时间:2018/7/10 10:26:00
--  

Dim Filter As String
With
e.Form.Controls("ComboBox1")
   
If .Value IsNot Nothing Then
        Filter =
"录取批次 = \'" & .Value & "\'"
   
End If
End
With
With
e.Form.Controls("ComboBox2")
   
If .Value IsNot Nothing Then
       
If Filter > "" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"文理分科 = \'" & .Value & "\'"
   
End If
End
With
With
e.Form.Controls("ComboBox3")
   
If .Value IsNot Nothing Then
       
If Filter >"" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"录取年度 = \'" & .Value & "\'"
   
End If
End
With
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

If e.Form.Controls("GF").Checked = True \'
   
If Filter >"" Then
        Filter = Filter &
" And "
   
End If
    Filter = Filter &
"平均分差值 <= GF"
End
If
If
e.Form.Controls("DF").Checked = True \'
    If
Filter >"" Then
       
Filter = Filter & " And "
    End If
   
Filter = Filter & "平均分差值 >= DF"
End If
If
Filter > "" Then
    Tables(
"年度院校提档线").Filter = Filter
End If



输入高分与低分部分,总是有问题,不知所错·


--  作者:有点甜
--  发布时间:2018/7/10 10:48:00
--  

比如代码,细节自己调整

 

Dim Filter As String
With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter = "录取批次 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "文理分科 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox3")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "录取年度 = \'" & .Value & "\'"
    End If
End With

If e.Form.Controls("GF").text > ""
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "平均分差值 <= " &   e.Form.Controls("GF").text
End If
If e.Form.Controls("DF").text > ""
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "平均分差值 >= " &  e.Form.Controls("dF").text
End If
If Filter > "" Then
    Tables("年度院校提档线").Filter = Filter
End If