Foxtable(狐表)用户栏目专家坐堂 → [求助]查询窗口如何增加固定条件筛选


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

主题:[求助]查询窗口如何增加固定条件筛选

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


加好友 发短信
等级:婴狐 帖子:22 积分:232 威望:0 精华:0 注册:2012/6/10 12:51:00
[求助]查询窗口如何增加固定条件筛选  发帖心情 Post By:2012/6/12 17:29:00 [只看该作者]

比如我想再以下查询设计中加入,不包含手机号码列中含6543和4987的条件,6543和4987设置为固定值不需要选择

标题 Click事件代码
清除条件 e.Form.Controls("cmbProduct").Value = Nothing
e.Form.Controls(
"cmbCustomer").Value = Nothing
e.Form.Controls(
"cmbEmployee").Value = Nothing
e.Form.Controls(
"StartDate").Value = Nothing
e.Form.Controls(
"EndDate").Value = Nothing
撤销筛选 Tables("订单").ApplyFilter = False
开始筛选 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 &
" And "
   
    End If
        Filter = Filter &
"客户 = '" & .Value & "'"
   
End If
End
With
With
e.Form.Controls("cmbEmployee")
    If
.Value IsNot Nothing Then
        If
Filter >"" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"雇员 = '" & .Value & "'"
   
End If
End
With
With
e.Form.Controls("StartDate")
    If
.Value IsNot Nothing Then
        If
Filter >"" Then
            Filter = Filter &
" And "
       
End If
        Filter = Filter &
"日期 >= #" & .Value & "#"
   
End If
End
With
With
e.Form.Controls("EndDate")
    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


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


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

If Filter > "" Then
    Tables("订单").Filter = Filter
End If
 
改为:
 
If Filter > "" Then
    Tables("订单").Filter = Filter & “ And 固定条件”
else
    Tables("订单").Filter = "固定条件”
End If

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


加好友 发短信
等级:婴狐 帖子:22 积分:232 威望:0 精华:0 注册:2012/6/10 12:51:00
  发帖心情 Post By:2012/6/13 14:51:00 [只看该作者]

帅哥,你太牛了,不包含怎么表达?

这个是包含:[备注] Like '*⊙*'

那不包含的命令是什么?

 

还有多个固定条件怎么整合?谢谢


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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/6/13 14:57:00 [只看该作者]

在 Like 运算符之前,可以加上Not关键词,表示不类似的意思,例如:

[姓名] Not Like '李*'

表示姓名不是以“李”开头,也就是不是姓李的。



运算符与函数

本节详细介绍表达式所支持的运算符和函数。
CaseStudy目录下有一个示例文件“表达式.table”,可以帮助大家快速掌握本节介绍的运算符和函数。

运算符

在创建比较表达式时,允许使用下列运算符:

<

>

<=

>=

<>

=

In

Like

在表达式中还支持下列算术运算符:

+(加)

-(减)

*(乘)

/(除)

%(模数)

对于数值,允许使用小数和科学记数法。

列名称推荐用方括号括起来,字符串的值应括在单引号内。
日期值应放在符号 (#) 内,顺序为“月/日/年”例如:

[姓名] = '贺辉'

[单价] <= 50.00

[出生日期] < #9/17/1970#

#9/17/1970#表示1970年9月17日。

若要连接字符串,请使用 + 字符,例如:

 'HA' + 'PT'

可以用 And 或者 Or 串联条件表达式。

用 And 串联的条件表达式必须同时满足,例如:

[省籍] = '湖南' And [学历] = '博士'

表示省籍为湖南,且学历为博士。

用 Or 串联的条件表达式只需满足一个即可,例如:

[省籍] = '湖南' Or [省籍] = '广东

表示省籍为湖南或者广东。

计算表达式值的时候,And 优先于 Or,可以使用括号组合表达式来强制改变优先级,例如:

([省籍] = '湖南' Or [省籍] = '广东') And [学历] = '博士'

表示省籍是湖南或者广东的博士。

Like 运算符用于比较字符串,在 Like 比较中,* 和 % 作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:

[姓名] Like '*赫*'

[姓名] Like '赫*'

[姓名] Like '*赫'

分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”

在字符串的中间不允许使用通配符。例如,不允许 '赫*丰'

由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:

[型号] Like 'A[*]*'

表示型号以“A*”开头。

在 Like 运算符之前,可以加上Not关键词,表示不类似的意思,例如:

[姓名] Not Like '李*'

表示姓名不是以“李”开头,也就是不是姓李的。

In 运算符用来判断某一个值是否在指定的一系列值中,例如:

[国籍] In ('中国','美国','英国','法国','俄罗斯')

表示判断国籍是否是上述五国之一,显然这比用OR来连接多个表达式要简洁很多。

同样如果在 In 运算符之前,加上 Not 关键词,表示不在指定的一系列值之中,例如:

[国籍] Not In ('中国','美国','英国','法国','俄罗斯')

表示国籍非上述指定的五国


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


加好友 发短信
等级:婴狐 帖子:22 积分:232 威望:0 精华:0 注册:2012/6/10 12:51:00
  发帖心情 Post By:2012/6/13 15:05:00 [只看该作者]

谢谢了,那多个条件并列如何表达?

 

比如这个是单个固定条件:

 

If Filter > "" Then
    Tables("订单").Filter = Filter & “ And 固定条件”
else
    Tables("订单").Filter = "固定条件”
End If

 

如果是对同一列3个不同的固定条件筛选该怎么表达呢?


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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/6/13 15:14:00 [只看该作者]

認真看看幫助再說吧,你要是有心看4樓給你的,想必這不是問題

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


加好友 发短信
等级:婴狐 帖子:22 积分:232 威望:0 精华:0 注册:2012/6/10 12:51:00
  发帖心情 Post By:2012/6/13 15:49:00 [只看该作者]

明白了,谢谢

 


 回到顶部