创建条件(布尔)表达式

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

本文介绍如何在 Access 中创建条件 (也称为布尔) 表达式。 条件表达式的计算结果为 true 或 false, 然后返回满足指定条件的结果。 如果在条件表达式中使用函数, 则还可以为不满足表达式中的条件的值指定操作。 例如, 你可以创建一个表达式, 用于查找利润率为 10% 或更低的所有销售额, 然后指定这些数字显示为红色类型, 或将值替换为邮件。

本文内容

了解条件表达式

创建条件表达式

条件表达式示例

了解条件表达式

条件表达式是测试数据以查看它是否满足条件的表达式类型, 然后根据结果采取措施。 例如, 表达式可以查找晚于给定开始日期的日期值, 然后在尝试输入早于定义的开始日期的日期时显示错误消息。

条件表达式采用相同的窗体, 并使用与其他表达式相同的基本语法, 并且您可以按照使用其他表达式的相同方式使用它们:

  • 对于表字段, 将表达式添加到字段的 "验证规则" 属性。 然后, 用户必须在与表达式中的条件匹配的字段中输入值。 例如, 如果在 "日期/时间" 字段中使用诸如> = #1/1/2000 #之类的表达式, 则用户必须输入等于或晚于2000年1月1日的值。

  • 对于窗体上的控件, 你可以将表达式添加到控件的 "控件来源" 或 "验证规则" 属性。 通常情况下, 将条件表达式添加到 "验证规则" 属性, 然后将计算值的表达式添加到 "控件来源" 属性。 例如, 在控件的 "验证规则" 属性中使用> = #1/1/2000 #可防止用户输入无效的日期。 在 "控件来源" 属性中使用诸如Date ()之类的表达式将当前日期显示为默认值。

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

    例如, 可以在查询的 "字段" 行中使用此表达式: = IIf ([订单日期] < = #04/01/2018 日 #, [订单日期], "在4月1日之后输入的订单")。 表达式指定日期条件 (< = #04/01/2018 日 #)。 当查询运行时, 它将显示满足条件的所有日期值, 并且不满足条件的任何日期值将替换为 "在4月1日之后输入的订单" 消息。 向查询添加表达式部分中的步骤介绍了如何在查询中使用此表达式。

    相比之下, 在查询的条件字段中使用此表达式仅返回日期符合条件的记录: ween #04/01/2018 日 # 和 #05/15/2018 日 #

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

返回页首

创建条件表达式

本部分中的步骤介绍了如何向表、窗体或报表上的控件以及查询添加条件表达式。 每组步骤都使用稍有不同的表达式来测试日期/时间字段中的值, 并根据日期值是否满足指定条件采取措施。

向表字段添加表达式

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

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

  3. 在 "字段属性" 下的 "常规" 选项卡上, 单击 "验证规则" 属性框, 然后键入以下表达式:

    > = #01/01/2000 #

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

  4. 单击 "验证文本" 旁边的列, 然后键入此文本字符串:

    日期必须晚于2000年1月1日。

    同样, 您可以使用本地日期格式。

  5. 保存所做的更改, 然后切换到数据表视图。 若要执行此操作, 请右键单击表的文档选项卡, 然后单击快捷菜单上的"数据表视图"。

  6. 在 "日期/时间" 字段中键入早于2000年1月1日的日期值。 Access 将显示 "有效性规则" 属性框中指定的消息, 如果输入的值为 true, 则不能退出该字段。

向控件添加表达式

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

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

    此时将显示控件的属性表。

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

    > = #01/01/2000 #

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

  4. 单击 "验证文本" 旁边的列, 然后键入此文本字符串:

    日期必须晚于2000年1月1日。

  5. 保存所做的更改, 然后切换回 "窗体" 视图。 若要执行此操作, 请右键单击窗体的文档选项卡, 然后单击快捷菜单上的 "窗体视图"。

将表达式添加到查询

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

  2. 单击设计网格的 "字段" 行中的空白单元格, 然后键入以下表达式:

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

    键入表达式时, 请确保将 Field_Name 的两个实例替换为日期/时间字段的名称。 同样, 如果你的表不包含2018年4月1日之前的日期, 请更改表达式中的日期以处理你的数据。

  3. 保存所做的更改, 然后单击 "运行" 以查看结果。

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

在执行操作时, 请记住并非所有条件表达式都使用IIf函数。 此外, 请记住IIf函数是表达式中需要参数的部分, 而不是表达式本身。

有关表达式以及使用表达式的方法的详细信息, 请参阅了解如何生成表达式

返回页首

条件表达式示例

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

有关详细信息, 请参阅文章IIf 函数

表达式

说明

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

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

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

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

= IIf ([Region]), [city] & "" & [邮政编码], [city] & "" & [Region] & "" & [邮政编码])

如果 Region 域的值为 Null, 则显示 "城市" 和 "邮政编码" 字段的值;否则, 它将显示 "城市"、"地区" 和 "邮政编码" 字段的值。

= IIf ([到货日期]-[发货日期]), "检查缺失日期", [到货日期]-[发货日期])

如果从 "要求日期" 字段中减去 "交货日期" 字段值的结果为 Null, 则显示 "检查缺少的日期" 消息。否则, 它将显示 "要求日期" 和 "发货日期" 字段值之间的差异。

返回页首

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

此信息是否有帮助?

谢谢您的反馈!

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

×