使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

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

本文内容

了解条件表达式

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

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

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

  • 对于窗体上的控件,可以将表达式添加到 控件的“控件源 ”或 “验证规则” 属性。 通常,向 “验证规则” 属性添加条件表达式,并将计算值的表达式添加到 “控件源 ”属性。 例如,在控件的“验证规则”属性中使用 >=#1/1/2000# 可防止用户输入无效日期。 使用“控件源”属性中的“日期 () ”等表达式将当前日期显示为默认值。

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

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

    相反,在查询的 “条件” 字段中使用此表达式仅返回日期符合条件的记录: Between #04/01/2018# AND #05/15/2018#

有关创建和使用表达式的详细信息,请参阅 了解如何生成表达式一文。

返回页首

创建条件表达式

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

向表字段添加表达式

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

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

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

    >=#01/01/2000#

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

  4. 单击“ 验证文本” 旁边的列,并键入以下文本字符串:

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

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

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

  6. 在“日期/时间”字段中键入早于 2000 年 1 月 1 日的日期值。 Access 显示“ 验证规则” 属性框中指定的消息,除非输入表达式计算结果为 true 的值,否则不能离开该字段。

向控件添加表达式

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

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

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

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

    >=#01/01/2000#

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

  4. 单击“ 验证文本” 旁边的列,并键入以下文本字符串:

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

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

向查询添加表达式

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

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

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

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

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

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

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

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

返回页首

条件表达式的示例

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

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

表达式

说明

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

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

=IIf (IsNull ([Country/region]) “,”, [Country/region])

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

=IIf (IsNull ([Region]) ,[City]&“ ”& [PostalCode], [City]&“ ”&[Region]&“ ” &[PostalCode])

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

=IIf (IsNull ([RequiredDate] - [ShippedDate]) ,“检查缺少的日期”, [RequiredDate] - [ShippedDate])

如果从 RequiredDate 字段中减去 ShippedDate 字段的值的结果为 Null,则显示消息“检查缺少的日期”;否则,它将显示 RequiredDate 和 ShippedDate 字段的值之间的差异。

返回页首

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×