以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 表间条件筛选命令  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=73852)

--  作者:wumingrong1
--  发布时间:2015/8/27 17:37:00
--  [求助] 表间条件筛选命令
有如下表间关联筛选公式如下:

Dim t As Table = Tables("OLT设备端口密码表")
With Tables("GPON口与分纤盒对应关系表")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "  (机房名称 = \'" & .Current("机房名称") & "\' and 设备名称 = \'" & .Current("设备名称") & "\' and 设备端口 = \'" & .Current("设备端口") & "\' and  是否使用 = False ) or ( 机房名称  is  null)  " 

 End If
    
End With

如果我再增加了一个筛选条件,就会出现了其中【and  是否使用 = False】条件不生效的情况;请问我的命令哪里错啦?

Dim t As Table = Tables("OLT设备端口密码表")
With Tables("GPON口与分纤盒对应关系表")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "   (机房名称 = \'" & .Current("机房名称") & "\' and 设备名称 = \'" & .Current("设备名称") & "\' and 设备端口 = \'" & .Current("设备端口") & "\' and  是否使用 = False ) or ( 机房名称  is  null)  or (分纤盒编号  like  \'%" & .Current("分纤盒编号") & "%\')   " 

 End If
    
End With

--  作者:Hyphen
--  发布时间:2015/8/27 17:46:00
--  
like条件始终成立,或者like条件涵盖了是否使用为false的情况。查看你的数据
--  作者:wumingrong1
--  发布时间:2015/8/27 17:52:00
--  
那我该怎么改?
--  作者:大红袍
--  发布时间:2015/8/27 18:22:00
--  

直接说你的逻辑。

 

t.Filter = "   (机房名称 = \'" & .Current("机房名称") & "\' and 设备名称 = \'" & .Current("设备名称") & "\' and 设备端口 = \'" & .Current("设备端口") & "\' and  是否使用 = False ) or ( 机房名称  is  null)  or (分纤盒编号  like  \'%" & .Current("分纤盒编号") & "%\' and 是否使用 = False) 

[此贴子已经被作者于2015/8/27 18:22:27编辑过]