我想知道您是否可以在Microsoft Access中发表if
语句。
想法是您有2列。第一个称为“数量”(类型为数字),第二个称为“有货”(类型为“是/否”),并且要声明:
“如果数量> 0,则应打勾“有货”,否则不打勾。”
我正在尝试:
iff([quantity] = 0, [in stock] = "No", [in stock] = "Yes")
也尝试过
iff([quantity] = 0, [in stock] = false, [in stock] = true)
希望您能得到它,有人可以帮忙或告诉我是否有可能做到这一点?
预先感谢
答案 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表示否。