以文本方式查看主题

-  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=48107)

--  作者:ndxfke
--  发布时间:2014/3/23 13:53:00
--  如何把这种多条件判断的写法简化呢。
这种写法很原始,代码也很多。

有没有很简化的写法呢,求助。

If vars("flr1") > "" And vars("flr2")  = "" And vars("flr3") = "" Then
    flr = vars("flr1")
ElseIf vars("flr1") = "" And vars("flr2")  > "" And vars("flr3") = "" Then
    flr = vars("flr2")
ElseIf vars("flr1") = "" And vars("flr2")  = "" And vars("flr3") > "" Then
    flr = vars("flr3")
ElseIf vars("flr1") > "" And vars("flr2")  > "" And vars("flr3") = "" Then
    flr = vars("flr1") & " And  " & vars("flr2")
ElseIf vars("flr1") = "" And vars("flr2")  > "" And vars("flr3") > "" Then
    flr = vars("flr2") & " And  " & vars("flr3")
ElseIf vars("flr1") > "" And vars("flr2")  = "" And vars("flr3") > "" Then
    flr = vars("flr1") & " And " & vars("flr3")
ElseIf vars("flr1") > "" And vars("flr2")  > "" And vars("flr3") > "" Then
    flr = vars("flr1") & " And " & vars("flr2") & " And " & vars("flr3")
End If

Tables("生产数据查询_Table1").Filter = flr

--  作者:lsy
--  发布时间:2014/3/23 14:12:00
--  
For i As Integer = 1 To 3
    If vars("flr" & i) > "" Then
        flr + = " And " & vars("flr" & i)
    End If
Next
If flr > "" Then
    flr = flr.SubString(5)
End If
Tables("生产数据查询_Table1").Filter = flr

--  作者:ndxfke
--  发布时间:2014/3/23 14:15:00
--  
就是这种效果啊,多谢 lsy

貌似帮助没例子样,

--  作者:lsy
--  发布时间:2014/3/23 15:05:00
--  
一是字符串,二是循环,这两样琢磨的差不多了,代码就苗条了。
--  作者:ndxfke
--  发布时间:2014/3/23 15:31:00
--  
图片点击可在新窗口打开查看
--  作者:黄训良
--  发布时间:2014/3/23 16:10:00
--  
值得学习