MS Access 中的 IIf 条件

2024 年 9 月 27 日 | 阅读需 6 分钟

IIf 函数

此函数用于在 MS Access 中实现 if 条件。就像任何其他编程语言一样,MS Access 中的 IIf 函数也会计算表达式。根据计算结果,它会评估表达式是否为真,并相应地执行操作。

IIf 函数的语法

IIf 函数的语法如下

传递给 IIf 函数的参数

IIf 函数中传递了三个参数。这些参数如下

参数描述
expr传递给函数的第一个参数必须包含表达式。 必须传递此参数,因为函数根据表达式的评估结果来确定要返回的值。
truestat这也是 IIf 函数中传递的必要参数。它包含当第一个 expr 返回 true 时返回的值或表达式。
falsestat这也是 IIf 函数中传递的必要参数。它包含当第一个 expr 返回 false 时返回的值或表达式。

MS Access 中 IIf 函数返回的值

可以将两个可能的值或参数传递给 IIf 函数。如果 IIf 函数中的表达式评估为 true,它将返回第一个值;如果评估为 false,它将返回另一个值。

注意:在 MS Access 中使用 IIf 函数时,用户必须确保 truestat 和 falsestat 都是有效的值或表达式。IIf 函数总是检查函数中的 truestat 和 falsestat,即使它只返回其中一个值。因为它不会在返回值后简单地终止,所以用户需要确保它不会产生任何不良结果。

例如,即使函数返回了 truestat 中分配的值。该函数将进一步检查 falsestat,如果该值无效,例如结果除以零,则 IIf 函数将返回错误。

在 MS Access 的窗体或报表中实现 IIf 函数

假设您有一个数据库,其中包含来自电子商务网站的数据。它包含一个 Product 表,其中包含有关销售、交付和客户名称的信息。表中的一列名为 Country,其中包含产品交付的国家/地区的名称。

在表单中,您想要分配一名员工,以便公司可以有效地与来自不同国家/地区的客户进行沟通。如果此人是中国居民,则首选语言将为“中文”,但如果 Country 不是中国,则用户必须使用其他语言进行沟通。

为了方便沟通,用户可以使用 IIf 函数。该函数位于 Control Source 属性中。

让我们使用相同的示例来了解您将如何使用 IIf 函数。

将上述命令添加到您的 Control Source 属性中。

在窗体视图中打开窗体以检查 IIf 条件是否正常工作。当用户在窗体中填写详细信息,并且用户在国家/地区值中输入 China 时。然后控件将自动显示中文作为语言,如果国家/地区采用任何其他语言,它将显示其他语言。

IIf 函数也可用于实现复杂的表达式。用户可以将任何类型的表达式作为 IIf 语句的一部分执行。它类似于其他编程语言中的 If-else 语句。它只是测试表达式,并根据表达式是真还是假来执行语句。在 MS Access 中,用户可以在同一行中使用多个 IIf 语句。用户还可以使用 IIf 函数执行嵌套。这使用户能够评估一系列相关的条件并计算复杂的决策。

让我们进一步讨论上面的例子。这一次,我们将为多个国家/地区创建命令。这将测试国家/地区列的值。

用户将能够计算除中国以外的其他国家/地区的不同值,从而允许他们指定更多沟通语言。

现在,了解上述命令:该函数将检查国家/地区的名称是否为中国。如果是,则它将返回中文。如果不是,那么由于没有其他部分,它将执行下一个 if 函数。这次它将检查输入的值是否为日本。如果是,则它将返回日语。否则,它将进一步移动。现在转到最后一个 IIf 命令,它将检查 Country 是否为印度,然后它将返回印地语,由于这是最后一个语句,我们还添加了一个结果,如果表达式仍然返回 false,则将执行该结果。

注意:仅在最后一个语句中添加 falsestat,以确保在返回结果之前评估每个 IIf 条件。

现在让我们再举一个可以在其中使用 IIf 函数的真实场景。

假设您在图书馆工作。作为图书馆员,您必须保存所有借阅书籍及其到期日期的数据库。因此,您在数据库中创建了一个名为 borrowed 的表,并且在该表中,它有一列名为 Duedate,其中包含特定日期到期的日期。您可以在此处使用 IIf 函数来确定借阅书籍的状态,并使用它来确定书籍是否已过到期日。

在您的表单中实现以下命令以执行此操作

注意:在这里,我们还使用了 Date() 函数。它用于返回当前日期。

当用户在窗体中填写详细信息时,它将要求用户输入日期,并且用户输入的日期将由用户与当前日期进行比较。如果窗体中输入的日期小于 Date() 返回的数据,则控件将显示“到期日期已过”作为结果,如果它相等,则它将返回“明天到期”,对于在窗体中输入的任何其他日期,它将返回“未到期”。

注意:您还可以在 IIf 函数的表达式中使用逻辑运算符。这允许用户使用 expr 参数中的“And”或“Or”等运算符来评估更复杂的表达式。但是要实现这些逻辑运算符,用户需要将逻辑表达式括在 Eval 函数中。

在查询中实现 IIf 函数

IIf 函数通过在查询中实现该函数,从而在复杂的数据库中创建计算文件。查询中 IIf 函数的语法与 Control Source Property 中的语法相同。唯一的例外是,在执行查询时,用户必须在表达式前加上别名字段,并且在查询中使用它时,您需要将等号 (=) 替换为冒号。

让我们将上面的例子实现到查询中。要执行查询,您需要在查询设计网格的 Field 行中键入给定的查询。

在此,Language 是字段别名。


下一个主题Ms Access 报表