窗体顶端
查询条件示例
全部显示
全部隐藏
查询条件是一种规则,用来标识要包含在查询结果中的记录。并非所有查询都必须包含条件,但是如果您没有兴趣查看存储在基本记录源中的所有记录,则在设计查询时必须在其中添加条件。
本主题列出了多个查询条件示例。本文假设您熟悉如何设计简单的选择查询。
若要了解更多有关创建选择查询的内容,请参阅文章创建简单的选择查询。
本主题内容
∙查询条件简介
∙文本、备注和超链接字段的条件
∙数字、货币和自动编号字段的条件
∙日期/时间字段的条件
∙其他字段的条件
查询条件简介
条件类似于公式 - 它是可能由字段引用、运算符 (运算符:一个标记或符号,指定表达式内执行的计算的类型。有数学、比较、逻辑和引用运算符等。)和常量 (常量:不进行计算的值,因此也不会发生变化。例如,数字 210 以及文本“每季度收入”都是常量。表达式以及表达式产生的值都不是常量。)组成的字符串。在 Microsoft Office Access 2007 中,查询条件也称为表达式。
下表显示了某些示例条件并说明它们如何工作。
条件 | 说明 |
>25 and <50 | 此条件适用于数字字段,如“价格”或“库存量”。它仅包含这样的记录:其中“价格”或“库存量”字段包含大于 25 且小于 50 的值。 |
DateDiff ("yyyy", [出生日期], Date()) > 30 | 此条件适用于日期/时间字段,如“出生日期”。只有某人的出生日期与今天的日期之间相差的年数大于 30 的记录才会包含在查询结果中。 |
Is Null | 此条件可用于任何类型的字段,以显示字段值为 Null 的记录。 |
如您所见,根据条件所应用到的字段的数据类型以及您的具体要求,各个条件之间看上去可能有很大的不同。某些条件很简单,只使用基本运算符和常量。而有些条件很复杂,不仅使用函数、特殊运算符,还包含字段引用。
本主题按数据类型列出了多个常用条件。如果本主题中提供的示例不能满足您的特定需求,则您可能需要自己编写条件。为此,您必须首先熟悉函数、运算符、特殊字符的完整列表以及用于引用字段和文字的表达式的语法。有关详细信息可以在请参阅一节列出的文章中到。
在这里,您将了解在哪里添加条件以及如何添加。若要向查询添加条件,必须在设计视图中打开查询。然后标识要为其指定条件的字段。如果设计网格中尚无该字段,则您必须自行添加,方法是将它从查询设计窗口拖动到字段网格,或者双击该字段(双击字段会自动将它添加到字段网格中的下一个空列)。最后,在“条件”行中键入条件。
您在“条件”行中为不同字段指定的条件使用 AND 运算符组合在一起。换言之,在“城市”和“出生日期”字段中指定的条件将如下方式进行解释:
城市 = "芝加哥" AND 出生日期 < DateAdd("yyyy", -40, Date())
“城市”和“出生日期”字段都包括条件。
只有“城市”字段的值为“芝加哥”的记录将满足此条件。
只有至少为 40 岁的那些人的记录将满足此条件。
只有同时满足这两个条件的记录将包括在结果中。
如果您只希望满足这两个条件中的一个条件该怎么办呢?换言之,如果您有二选一条件,该如何输入它们呢?
如果您有二选一条件(即两组独立的条件,只要满足其中一组即可),则可以同时使用设计网格中的“条件”和“或”行。
“城市”条件是在“条件”行中指定的。
“出生日期”条件是在“或”行中指定的。
“条件”和“或”行中指定的条件是使用 OR 运算符组合的,如下所示:
城市 = "芝加哥" OR 出生日期 < DateAdd("yyyy", -40, Date())
如果您需要指定更多备选条件,请使用“或”行下面的行。
在继续这些示例之前,请注意下列几点:
∙如果条件是临时的或者经常更改,则可以筛选查询结果,而不是频繁修改查询条件。筛选器是更改查询结果但不更改查询设计的临时条件。有关筛选器的详细信息,请参阅文章筛选:限制视图中的记录数。
∙如果条件字段不变,但是您感兴趣的值频繁更改,则可以创建参数查询。参数查询会提示用
户提供字段值,然后使用这些值创建查询条件。有关参数查询的详细信息,请参阅文章在查询和报表中使用参数。
文本、备注和超链接字段的条件
下面的示例针对某个查询中的“国家/地区”字段,该查询基于一个存储联系人信息的表。条件是在设计网格中该字段的“条件”行中指定的。
为超链接字段指定的条件默认情况下应用于该字段值的显示文本部分。若要为该值的目标统一资源定位器 (URL) 部分指定条件,请使用“HyperlinkPart”表达式。此表达式的语法如下:HyperlinkPart([Table1].[Field1],1) = "www.microsoft/",其中 Table1 是包含超链接字段的表的名称,Field1 是超链接字段,www.microsoft 是要匹配的 URL。
若要包含满足下面条件的记录 | 使用此条件 | 查询结果 |
完全匹配一个值,如“China” | "China" | 返回“国家/地区”字段设置为“China”的记录。 |
不匹配某个值,如“Mexico” | Not "Mexico" | 返回“国家/地区”字段设置为“Mexico”以外的国家/地区的记录。 |
以指定的字符串开头,如 U | Like U* | 返回名称以“U”开头的所有国家/地区(如 UK、USA 等等)的记录。 注释 当在表达式中使用星号 (*) 时,它表示任意字符串 - 它也称为通配符。有关此类字符的列表,请参阅文章 Access 通配符参考。 |
不以指定字符串开头,如 U | Not Like U* | 返回名称以“U”以外的字符开头的所有国家/地区的记录。 |
包含指定字符串,如“Korea” | Like "*Korea*" | 返回包含字符串“Korea”的所有国家/地区的记录。 |
不包含指定字符串,如“Korea” | Not Like "*Korea*" | 返回不包含字符串“Korea”的所有国家/地区的记录。 |
以指定字符串结尾,如“ina” | Like "*ina" | 返回名称以“ina”结尾的所有国家/地区(如 China 和 Argentina)的记录。 |
不以指定字符串结尾,如“ina” | Not Like "*ina" | 返回以“ina”结尾的所有国家/地区(如 China 和 Argentina)之外的记录。 |
包含 Null 值(即缺少值) | Is Null | 返回该字段中没有值的记录。 |
不包含 Null 值 | Is Not Null | 返回该字段中不缺少值的记录。 |
包含零长度字符串 | ""(一对引号) | 返回该字段设置为空(不是 Null)值的记录。例如,提供给另一个部门的销售记录可能在“国家地区”字段中包含空值。 |
不包含零长度字符串 | Not "" | 返回“国家/地区”字段含有非空值的记录。 |
包含 Null 值或零长度字符串 | "" Or Is Null | 返回该字段中没有值或者该字段设置为空值的记录。 |
不为空 | Is Not Null And Not "" | 返回“国家/地区”字段含有非空、非 Null 值的记录。 |
按字母顺序排在某个值(如 Mexico)后面 | >= "Mexico" | 返回从 Mexico 开始一直到字母表结束的所有国家/地区的记录。 |
在指定范围内,如 A 到 D | Like "[A-D]*" | 返回名称以字母“A”到“D”开头的国家/地区的记录。 |
匹配两个值中的任一值,如 USA 或 UK | "USA" Or "UK" | 返回对应 USA 和 UK 的记录。 |
包含值列表中的任一值 | In("France", "China", "Germany", "Japan") | 返回对应列表中指定的所有国家/地区的记录。 |
在字段值的特定位置包含某些字符 | Right([CountryRegion], 1) = "y" | 返回最后一个字母为“y”的所有国家/地区的记录。 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论