Microsoft Access IF语句

时间:2019-01-17 16:41:48

标签: ms-access if-statement

我想知道您是否可以在Microsoft Access中发表if语句。

想法是您有2列。第一个称为“数量”(类型为数字),第二个称为“有货”(类型为“是/否”),并且要声明:

  

“如果数量> 0,则应打勾“有货”,否则不打勾。”

我正在尝试:

iff([quantity] = 0, [in stock] = "No", [in stock] = "Yes")

也尝试过

iff([quantity] = 0, [in stock] = false, [in stock] = true)

希望您能得到它,有人可以帮忙或告诉我是否有可能做到这一点?

预先感谢

3 个答案:

答案 0 :(得分:1)

如果您使用的是提供了Calculated字段类型的MS Access版本,则此任务相对简单,不需要查询或代码。

只需将您的In Stock字段配置为已计算字段,并使用表达式计算:

[Quantity] > 0

结果类型设置为Yes/No,以指示结果将是布尔字段的结果。

格式可能已针对您的应用进行了设置(我认为是Yes/No)。

答案 1 :(得分:0)

所有版本的Microsoft Access支持查询中的计算值。这是正确实施的问题。即:

有库存:iff([quantity] = 0,“否”,“是”)

将其放入并创建新字段:“库存”

答案 2 :(得分:0)

首先,您不能使用IIf函数来更改复选框或绑定控件的值。

如果您只想确定库存中有哪些项目/产品,而没有,则实际上不需要在表中包含任何字段,例如[In Stock]字段。一种更优雅的方法是简单地评估“数量”字段并使用未绑定的文本框显示“是”或“否”。

将未绑定文本框的控制源设置为:

=IIf([Quantity] > 0, "In Stock", "Out of Stock") 

一个备选方案是:

=IIf([Quantity] > 0, "Yes", "No") 

在上述情况下,您可以将未绑定文本框的标签或标题标签更改为“有库存”。这样,将为每个产品显示的是或否对所有用户和查看者都是有意义的。请注意,等号(=)是您输入的内容的一部分。

如果出于某种原因您需要将[In Stock]字段存储为基础表中的是/否数据类型,并且想要将此值更新为是或否(勾选或取消勾选),则可以使用一个宏。在此宏中,您将使用传统的If If Else语句和SetValue操作。我目前无法使用手机,因此目前无法发布屏幕截图/插图。声明如下:

If [Quantity] > 0
Then SetValue [In Stock] =Yes
Else: SetValue [In Stock] = No

注意:您还可以为1表示是,为0表示否。