查询条件示例_第1页
查询条件示例_第2页
查询条件示例_第3页
查询条件示例_第4页
查询条件示例_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、查询条件示例适用于: Microsoft Access 2010全部隐藏希望基于字段中的值来限制查询的结果时,可以使用查询条件。查询条件是一个表达式,Access 将它与查询字段值进行比较以确定是否包括含有每个值的记录。例如,= "Chicago" 是一个表达式,Access 可将它与查询中的文本字段的值进行比较。如果给定记录中该字段的值为 "Chicago",则 Access 会在查询结果中包含该记录。本主题列出了多个查询条件示例。本文假设您熟悉如何设计简单的选择查询。要了解有关查询的详细信息,请参阅查询简介一文。本主题内容· 概述·

2、; 文本、备注和超链接字段的条件· 数字、货币和自动编号字段的条件· 日期/时间字段的条件· 其他字段的条件概述条件与公式类似,它是一个可能包含字段引用、运算符 (运算符:一个标记或符号,指定表达式内执行的计算的类型。有数学、比较、逻辑和引用运算符等。)和常量 (常量:不进行计算的值,因此也不会发生变化。例如,数字 210 以及文本“每季度收入”都是常量。表达式以及表达式产生的值都不是常量。)的字符串。查询条件也称为表达式。 下表显示了某些示例条件并说明它们如何工作。 条件说明>25 and <50此条件适用于数字字段,如“价格”或“库存量”

3、。它仅包含这样的记录:其中“价格”或“库存量”字段包含大于 25 且小于 50 的值。DateDiff ("yyyy", 出生日期, Date() > 30此条件适用于日期/时间字段,如“出生日期”。只有某人的出生日期与今天的日期之间相差的年数大于 30 的记录才会包含在查询结果中。 Is Null此条件可应用于任何类型的字段,以显示字段值为 Null 的记录。 各个条件之间看上去可能有很大的不同。某些条件很简单,它们只使用基本运算符(如“<”)和常量(如“50”)。而有些条件很复杂,它们使用函数(如“DateDiff”)或字段引用(如“BirthDate”)。

4、本主题提供了一些常用条件的示例,并按这些条件所应用于的数据类型对其进行了分组。您可以将本主题中提供的条件示例作为起点,开始着手编写自己的条件。此外,您可能需要熟悉函数、运算符、特殊字符和表达式的语法。有关详细信息,请参阅“请参阅”部分中列出的文章。若要向查询添加条件,您必须在设计视图中打开查询。然后标识要为其指定条件的字段。如果要为其指定条件的字段尚未包含在设计网格中,则您可以添加该字段,方法是将该字段从查询设计窗口拖动到设计网格,或者双击该字段。如果所需字段包含在设计网格中,则在“条件”行中键入该字段的条件。“条件”行中所指定的所有条件是组合在一起的您在“条件”行中为不同字段指定的条件使用

5、AND 运算符组合在一起。例如,可以为“城市”字段指定条件 ="芝加哥",并为“出生日期”字段指定条件 < DateAdd("yyyy", -40, Date()。这两个条件组合在一起进行解释,如下所示:城市 = "芝加哥" AND 出生日期 < DateAdd("yyyy", -40, Date() “城市”和“出生日期”字段都包括条件。 只有“城市”字段的值为“芝加哥”的记录将满足此条件。 只有至少为 40 岁的那些人的记录将满足此条件。 只有同时满足这两个条

6、件的记录才会包括在结果中。使用“或”行来指定替代条件如果您有二选一条件(即两组独立的条件,只要满足其中一组即可),则可以同时使用设计网格中的“条件”和“或”行。 “城市”条件是在“条件”行中指定的。 “出生日期”条件是在“或”行中指定的。“条件”和“或”行中指定的条件是使用 OR 运算符组合的,如下所示:城市 = "芝加哥" OR 出生日期 < DateAdd("yyyy", -40, Date()如果您需要指定更多备选条件,请使用“或”行下面的行。在继续这些示例之前,请注意下列几点:· 如果条件是临时的或者经常更改,

7、则可以筛选查询结果,而不是频繁修改查询条件。筛选器会更改查询结果,而不会更改查询设计。有关筛选器的详细信息,请参阅“请参阅”部分。· 如果条件字段不变,但您要使用的值频繁更改,则可以创建参数查询。在运行参数查询时,该查询会要求您输入值,然后使用您输入的值创建查询条件。有关创建要求输入值的查询的详细信息,请参阅“请参阅”部分。文本、备注和超链接字段的条件下面的示例针对某个查询中的“国家/地区”字段,该查询基于一个存储联系人信息的表。条件是在设计网格中该字段的“条件”行中指定的。要包含满足以下条件的记录使用此条件查询结果完全匹配一个值,如“China”"China"返

8、回“国家/地区”字段设置为“China”的记录。不匹配某个值,如“Mexico”Not "Mexico"返回“国家/地区”字段设置为“Mexico”以外的国家/地区的记录。以指定的字符串开头,如 ULike U*返回名称以“U”开头的所有国家/地区(如 UK、USA 等等)的记录。  注释   在表达式中使用时,星号 (*) 代表任意字符串,它也称为通配符。有关此类字符的列表,请参阅 Access 通配符参考一文。 不以指定字符串开头,如 UNot Like U*返回名称以“U”以外的字符开头的所有国家/地区的记录。包含指定

9、字符串,如“Korea”Like "*Korea*"返回包含字符串“Korea”的所有国家/地区的记录。不包含指定字符串,如“Korea”Not Like "*Korea*"返回不包含字符串“Korea”的所有国家/地区的记录。以指定字符串结尾,如“ina”Like "*ina"返回名称以“ina”结尾的所有国家/地区(如 China 和 Argentina)的记录。不以指定字符串结尾,如“ina”Not Like "*ina"返回以“ina”结尾的所有国家/地区(如 China 和 Argentina)之外的记录

10、。包含 Null 值(即缺少值)Is Null返回该字段中没有值的记录。不包含 Null 值Is Not Null返回该字段中不缺少值的记录。包含零长度字符串""(一对引号)返回该字段设置为空(不是 Null)值的记录。例如,提供给另一个部门的销售记录可能在“CountryRegion”字段中包含空值。不包含零长度字符串Not ""返回“国家/地区”字段含有非空值的记录。包含 Null 值或零长度字符串"" Or Is Null返回该字段中没有值或者该字段设置为空值的记录。不为空Is Not Null And Not "&q

11、uot;返回“国家/地区”字段含有非空、非 Null 值的记录。按字母顺序排在某个值(如 Mexico)后面>= "Mexico"返回从 Mexico 开始一直到字母表结束的所有国家/地区的记录。在指定范围内,如 A 到 D Like "A-D*"返回名称以字母“A”到“D”开头的国家/地区的记录。匹配两个值中的任一值,如 USA 或 UK"USA" Or "UK"返回对应 USA 和 UK 的记录。包含值列表中的任一值In("France", "China", &qu

12、ot;Germany", "Japan")返回对应列表中指定的所有国家/地区的记录。在字段值的特定位置包含某些字符Right(CountryRegion, 1) = "y"返回最后一个字母为“y”的所有国家/地区的记录。满足长度要求Len(CountryRegion) > 10返回名称长度大于 10 个字符的国家/地区的记录。匹配特定模式Like "Chi?"返回名称为五个字符长并且前三个字符为“Chi”的国家/地区(如 China 和 Chile)的记录。 注释   字符 ?

13、和 _ 在表达式中使用时代表单个字符,这些字符也称为通配符。字符 _ 不能在包含 ? 字符的表达式中使用,也不能在包含 * 通配符的表达式中使用。您可以在同时包含 % 通配符的表达式中使用通配符 _。 超链接条件稍微有点复杂默认情况下,为超链接字段指定的条件将应用于该字段值的显示文本部分,而非链接目标。要为该值的目标统一资源定位器 (URL) 部分指定条件,请使用“HyperlinkPart”表达式。使用的语法与以下语法类似:HyperlinkPart(Table1.Field1,1) = " Table1 是包含超链接字段的表的名称,Field1 是超链接字段, 是要匹配

14、的 URL。数字、货币和自动编号字段的条件下面的示例针对某个查询中的“单价”字段,该查询基于一个存储产品信息的表。条件是在查询设计网格中该字段的“条件”行中指定的。要包含满足以下条件的记录使用此条件查询结果完全匹配一个值,如 100100返回产品单价为 ¥100 的记录。 不匹配某个值,如 1000Not 1000返回产品单价不为 ¥1000 的记录。包含小于某个值(如 100)的值< 100<= 100返回单价低于 ¥100 (<100) 的记录。第二个表达式 (<=100) 显示单击低于或等于 ¥100 的记录。包含大于某个值(如 99.99)的值>99.99

15、>=99.99返回单价高于 ¥99.99 (> 99.99) 的记录。第二个表达式显示单击高于或等于 ¥99.99 的记录。包含两个值(如 20 或 25)中的任一值20 or 25返回单价为 ¥20 或 ¥25 的记录。包含某个值范围之内的值>49.99 and <99.99- 或 -Between 50 and 100返回单价介于(但不包括)¥49.99 和 ¥99.99 之间的记录。包含某个范围之外的值<50 or >100返回单价不在 ¥50 和 ¥100 之间的记录。包含多个特定值之一In(20, 25, 30)返回单价为 ¥20、¥25 或 ¥3

16、0 的记录。包含以指定数字结尾的值Like "*4.99"返回单价以“4.99”结尾(如 ¥4.99、¥14.99、¥24.99 等等)的记录。 注释   字符 * 和 % 在表达式中使用时代表任意数量的字符,这些字符也称为通配符。字符 % 不能在包含 * 字符的表达式中使用,也不能在包含 ? 通配符的表达式中使用。您可以在同时包含 _ 通配符的表达式中使用通配符 %。 包含 Null 值(即缺少值)Is Null返回“单价”字段中未输入值的记录。包含非 Null 值Is Not Null返回“单价”字段中不缺少值的记录。日

17、期/时间字段的条件下面的示例针对某个查询中的“订购日期”字段,该查询基于一个存储订单信息的表。条件是在查询设计网格中该字段的“条件”行中指定的。要包含满足以下条件的记录使用此条件查询结果完全匹配一个值,如 2/2/2006#2/2/2006#返回交易发生在 2006 年 2 月 2 日的记录。请记住在日期值两边括以 # 字符,以使 Access 可区分日期值和文本字符串。 不匹配某个值,如 2/2/2006Not #2/2/2006#返回交易不是发生在 2006 年 2 月 2 日的记录。包含某个特定日期(如 2/2/2006)之前的值< #2/2/2006#返回交易发生在 2006 年

18、 2 月 2 日之前的记录。要查看发生在该日期或该日期之前的交易,请使用 <= 运算符而不是 < 运算符。包含某个特定日期(如 2/2/2006)之后的值> #2/2/2006#返回交易发生在 2006 年 2 月 2 日之后的记录。要查看发生在该日期或该日期之后的交易,请使用 >= 运算符而不是 > 运算符。包含某个日期范围之内的值>#2/2/2006# and <#2/4/2006#返回交易发生在 2006 年 2 月 2 日和 2006 年 2 月 4 日之间的记录。您还可以使用 Between 运算符来筛选一个范围值(包括端点值)。例如,Bet

19、ween #2/2/2006# and #2/4/2006# 与 >=#2/2/2006# and <=#2/4/2006# 相同。包含某个范围之外的值<#2/2/2006# or >#2/4/2006#返回交易发生在 2006 年 2 月 2 日之前或 2006 年 2 月 4 日之后的记录。包含两个值中的任一值,如 2/2/2006 或 2/3/2006#2/2/2006# or #2/3/2006#返回交易发生在 2006 年 2 月 2 日或 2006 年 2 月 3 日的记录。包含多个值之一In (#2/1/2006#, #3/1/2006#, #4/1/20

20、06#)返回交易发生在 2006 年 2 月 1 日、2006 年 3 月 1 日或 2006 年 4 月 1 日的记录。包含特定月份(与年份无关)内的某个日期,如 12 月DatePart("m", 销售日期) = 12返回交易发生在任何一年的 12 月的记录。包含特定季度(与年份无关)内的某个日期,如一季度DatePart("q", 销售日期) = 1返回交易发生在任一年的第一季度的记录。包含今天的日期Date()返回交易发生在当天的记录。如果当天日期为 2/2/2006,则您将看到“订购日期”字段设置为 2006 年 2 月 2 日的记录。包含昨天

21、的日期Date()-1返回交易发生在当天的前一天的记录。如果当天日期为 2/2/2006,则您将看到 2006 年 2 月 1 日的记录。包含明天的日期Date() + 1返回交易发生在当天的后一天的记录。如果当天日期为 2/2/2006,则您将看到 2006 年 2 月 3 日的记录。包含当前星期内的日期DatePart("ww", 销售日期) = DatePart("ww", Date() and Year( 销售日期) = Year(Date()返回交易发生在当前星期内的记录。一个星期从星期日开始到星期六结束。包含上一星期内的日期Year(销售日期

22、)* 53 + DatePart("ww", 销售日期) = Year(Date()* 53 + DatePart("ww", Date() - 1 返回交易发生在上个星期的记录。一个星期从星期日开始到星期六结束。包含下个星期内的日期Year(销售日期)* 53+DatePart("ww", 销售日期) = Year(Date()* 53+DatePart("ww", Date() + 1 返回交易将在下个星期发生的记录。一个星期从星期日开始到星期六结束。包含前 7 天内的日期 Between Date() and

23、 Date()-6返回交易发生在前 7 天的记录。如果当天日期为 2/2/2006,则您将看到从 2006 年 1 月 24 日到 2006 年 2 月 2 日这段时间的记录。包含属于当前月的日期Year(销售日期) = Year(Now() And Month(销售日期) = Month(Now()返回当前月的记录。如果当天日期为 2/2/2006,则您将看到 2006 年 2 月的记录。包含属于上个月的日期Year(销售日期)* 12 + DatePart("m", 销售日期) = Year(Date()* 12 + DatePart("m", Da

24、te() - 1返回上个月的记录。如果当天日期为 2/2/2006,则您将看到 2006 年 1 月的记录。包含属于下个月的日期Year(销售日期)* 12 + DatePart("m", 销售日期) = Year(Date()* 12 + DatePart("m", Date() + 1返回下个月的记录。如果当天日期为 2/2/2006,则您将看到 2006 年 3 月的记录。包含前 30 天或 31 天内的日期Between Date( ) And DateAdd("M", -1, Date( )一个月的销售记录。如果当天日期为

25、2/2/2006,则您将看到从 2006 年 1 月 2 日到 2006 年 2 月 2 日这段时间的记录包含属于当前季度的日期Year(销售日期) = Year(Now() And DatePart("q", Date() = DatePart("q", Now()返回当前季度的记录。如果当天日期为 2/2/2006,则您将看到 2006 年一季度的记录。包含属于上个季度的日期Year(销售日期)*4+DatePart("q",销售日期) = Year(Date()*4+DatePart("q",Date()-

26、1返回上个季度的记录。如果当天日期为 2/2/2006,则您将看到 2005 年最后一个季度的记录。包含属于下个季度的日期Year(销售日期)*4+DatePart("q",销售日期) = Year(Date()*4+DatePart("q",Date()+1返回下个季度的记录。如果当天日期为 2/2/2006,则您将看到 2006 年二季度的记录。包含当年内的日期Year(销售日期) = Year(Date()返回当年的记录。如果当天日期为 2/2/2006,则您将看到 2006 年的记录。包含属于去年的日期Year(销售日期) = Year(Date

27、() - 1返回交易发生在去年的记录。如果当天日期为 2/2/2006,则您将看到 2005 年的记录。包含属于明年的日期Year(销售日期) = Year(Date() + 1返回交易日期为明年的记录。如果当天日期为 2/2/2006,则您将看到 2007 年的记录。包含介于 1 月 1 日和今天之间的日期(当年到今天为止的记录)Year(销售日期) = Year(Date() and Month(销售日期) <= Month(Date() and Day(销售日期) <= Day (Date()返回交易日期介于当年 1 月 1 日到当天之间的记录。如果当天日期为 2/2/200

28、6,则您将看到从 2006 年 1 月 1 日到 2006 年 2 月 2 日这段时间的记录。包含发生在过去的日期< Date()返回交易发生在当天之前的记录。包含发生在将来的日期> Date()返回交易将在当天之后发生的记录。筛选 Null 值(即缺少值)Is Null返回缺少交易日期的记录。筛选非 Null 值Is Not Null返回交易日期已知的记录。其他字段的条件“是/否”字段    在“条件”行中,键入“是”可包含复选框已选中的记录。键入“否”可包含复选框未选中的记录。附件    在“条件”行中,键入 Is Null 可包含不含任何附

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论