Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/5 20:10:00 [显示全部帖子]

filter &= "xxx" 等同于 filter = filter & "xxx" ,一种简写模式。

至于使用or还是使用and要看自己需要的功能。http://www.foxtable.com/webhelp/topics/0102.htm
比如如果是要筛选第一列或者第二列符合条件就使用or
比如如果是要筛选第一列第二列同时符合就使用and

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110572 积分:562750 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/6 16:09:00 [显示全部帖子]

统计表达式可以理解为是否的判断,就是:条件1是否成立 or 条件2是否成立 or 条件3是否成立 or ......

1=2是一种为了减少代码的取巧用法,因为1=2始终都是不成立的,所以:1=2 or 条件2是否成立 or 条件3是否成立 or ......
就等同于条件1不成立 or 条件2是否成立 or 条件3是否成立 or ......


如果不用1=2,可能就是这样的:

Dim Filter As String
With
 e.Form.Controls("cmbProduct")
    
If .Value IsNot Nothing Then
        Filter = 
"产品 = '" & .Value & "'"
    
End If
End
 With
With
 e.Form.Controls("cmbCustomer")
    
If .Value IsNot Nothing Then
        
If Filter > "" Then
            Filter = Filter & 
" or "
        
End If
        Filter = Filter & 
"客户 = '" & .Value & "'"
    
End If
End
 With

如果使用1=2,就样

Dim Filter As String = "1=2"
With
 e.Form.Controls("cmbProduct")
    
If .Value IsNot Nothing Then
        Filter = 
" or 产品 = '" & .Value & "'"
    
End If
End
 With
With
 e.Form.Controls("cmbCustomer")
    
If .Value IsNot Nothing Then
        Filter = Filter & 
" or 客户 = '" & .Value & "'"
    
End If
End
 With


不再需要一堆的这种判断
        If Filter > "" Then
            Filter = Filter & 
" or "
        
End If
[此贴子已经被作者于2020/4/6 16:09:15编辑过]

 回到顶部