创建条件(布尔)表达式

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

本文讲述了如何创建条件(也称为“布尔”)表达式。条件表达式的计算结果为 True 或 False,然后它会返回满足所指定条件的结果。如果在条件表达式中使用函数,则还可以为满足或不满足表达式中条件的值指定操作。例如,您可以创建一个表达式来查找利润率等于或低于 10% 的所有销售额,然后指定这些数字显示为红色,或者将这些值替换为一条消息。

本文内容

了解条件表达式

创建条件表达式

条件表达式示例

了解条件表达式

条件表达式是这样一种表达式:它对数据进行测试以查看这些数据是否满足某个条件,然后根据结果采取操作。例如,某个表达式可查找晚于某个指定开始日期的日期值,当您尝试输入一个早于所定义的开始日期的日期时,就会显示一条错误消息。

条件表达式与其他表达式形式相同,使用的基本语法也相同,您可以按使用其他表达式的同样方式来使用条件表达式:

  • 对于表字段,您可以给字段的“有效性规则”属性添加表达式。之后,用户必须在该字段中输入满足表达式中条件的值。例如,如果您在“日期/时间”字段中使用一个如 >=#1/1/1900# 这样的表达式,用户必须输入等于或晚于 1900 年 1 月 1 日的值。

  • 对于窗体上的控件,您可以向Control 源或控件的有效性规则属性添加表达式。通常情况下,您将条件表达式添加到有效性规则属性,并添加到控件来源属性的值计算的表达式。例如,使用> = #1/1/1900年 #Valida种规则中控件的属性可阻止用户输入无效日期。使用表达式如date ()控件来源属性中的显示当前日期作为默认值。

  • 对于查询,可以向“字段”行的空白单元格中添加条件表达式,也可以在查询的“条件”行中使用表达式。在“字段”行中使用表达式时,结果将作为一列显示在查询结果中。对于一个现有的字段使用表达式作为条件时,该表达式充当一个筛选器,限制查询返回的记录。

    例如,您可以使用此查询的字段行中的表达式︰ = IIf ([订购日期] < = #04/01/2003年 #,[订购日期],"订单输入 4 月 1 日之后")。表达式指定的日期条件 (< = #04/01/2003年 #)。查询运行时,它将显示满足以下条件,所有日期值,并且不满足该条件的任何日期值被替换为消息"月 1 日之后输入顺序"。添加到查询表达式一节中的步骤解释如何在查询中使用此表达式。

    相反,查询的条件字段中使用此表达式返回只包含满足以下条件的日期这些记录︰办法ween #04/01/2003年 # AND #05/15/2003年 #

有关创建和使用表达式的详细信息,请参阅创建表达式一文。

返回页首

创建条件表达式

本节中的步骤讲述了如何给表、窗体或报表上的控件以及查询添加条件表达式。每组步骤都使用了一个稍有不同的表达式来测试“日期/时间”字段中的值,然后根据这些日期值是否满足指定的条件来采取操作。

向表字段添加表达式

  1. 在导航窗格中,右键单击要更改的表,然后单击快捷菜单上的“设计视图”

  2. “数据类型”列中,单击“日期/时间”字段。

  3. “常规”选项卡的“字段属性”下,单击“有效性规则”属性框,然后键入下列表达式:

    > = #01/01/1900年 #

    注意: 您不需要使用美国日期格式。您可以使用您的国家/地区或区域设置的日期格式。但是,必须在日期值的两侧加上井号 (#),如上所示。

  4. 单击“有效性文本”旁边的列,然后键入此文本字符串:

    日期必须大于 1900 年 1 月 1 日。

    同样,您也可以使用当地的日期格式。

  5. 保存您的更改,然后切换到数据表视图。为此,请右键单击该表的文档选项卡,然后单击快捷菜单上的“数据表视图”

  6. 在“日期/时间”字段中键入一个早于 1900 年 1 月 1 日的日期值。Access 会显示在“有效性规则”属性框中指定的消息,如果您输入的值无法被表达式计算为 True,您就无法离开该字段。

向控件添加表达式

  1. 在导航窗格中,右键单击要更改的窗体,然后单击快捷菜单上的“设计视图”

  2. 右键单击绑定到“日期/时间”字段的控件,然后单击快捷菜单上的“属性”

    此时出现该控件的属性表。

  3. “数据”选项卡或“全部”选项卡上,单击“有效性规则”旁边的字段,然后键入下列表达式:

    > = #01/01/1900年 #

    注意: 您不需要使用美国日期格式。您可以使用您的国家/地区或区域设置的日期格式。但是,必须在日期值的两侧加上井号 (#),如上所示。

  4. 单击“有效性文本”旁边的列,然后键入此文本字符串:

    日期必须大于 1900 年 1 月 1 日。

  5. 保存所做的更改,然后切换回窗体视图。为此,请右键单击该窗体的文档选项卡,然后单击快捷菜单上的“数据表视图”

向查询添加表达式

  1. 在导航窗格中,右键单击要更改的查询,然后单击快捷菜单上的“设计视图”

  2. 单击设计网格“字段”行中的某个空白单元格,然后键入下列表达式:

    = IIf ([Field_Name] < = #04/01/2003年 # [Field_Name],"晚于 2003 年 4 月 1 日的日期")

    当您键入表达式,请确保您将 Field_Name 两个实例替换为日期/时间字段的名称。此外,如果您的表格中不包含在 2003 年 4 月 1 日之前的日期更改日期的表达式中使用数据。

  3. 保存您的更改,然后单击“运行”以查看结果。

该表达式的工作,如下所示︰ 第一个参数 (= IIf ([Field_Name] < = #04/01/2003年 #) 指定数据必须满足的条件 — 日期必须为或早于 2003 年 4 月 1 日。第二个参数 ([Field_Name]) 指定用户看到的条件为 true 时,字段中的日期。第三个参数 ("晚于 2003 年 4 月 1 日的日期")) 指定用户数据不满足该条件时看到的消息。

当您继续使用表达式时,请记住,并非所有的条件表达式都使用 IIf 函数。另外,还要记住 IIf 函数是表达式中需要参数的部分,而不是表达式本身。

有关表达式和方法您可以使用它们的详细信息,请参阅创建表达式一文。

返回页首

条件表达式示例

下表中的表达式显示了一些用来计算 True 和 False 值的方式。这些表达式使用 IIf 函数 (Immediate If) 来确定条件是 True 还是 False,如果条件为 True 则会返回一个值,如果条件为 False,则会返回另一个值。

请参阅文章IIf 函数的详细信息。

表达式

描述

=IIf([已确认] = "是", "订单已确认", "订单未确认")

如果“已确认”字段的值为“是”,则显示“订单已确认”消息;否则,显示“订单未确认”消息。

=IIf(IsNull([国家/地区])," ", [国家/地区])

如果“国家/地区”字段的值为 Null,则显示空字符串;否则,显示“国家/地区”字段的值。

=IIf(IsNull([区域]),[城市]&" "& [邮政编码], [城市]&" "&[区域]&" " &[邮政编码])

如果“区域”字段的值为 Null,则显示“城市”和“邮政编码”字段的值;否则,显示“城市”、“区域”和“邮政编码”字段的值。

=IIf(IsNull([要求日期] - [发货日期]), "检查缺少的日期", [要求日期] - [发货日期])

如果“要求日期”字段值减去“发货日期”字段值所得到的结果为 Null,则显示“检查缺少的日期”消息;否则,将显示“要求日期”字段值与“发货日期”字段值之差。

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×