繁体   English   中英

Microsoft Access IF 语句

[英]Microsoft 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)

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

提前致谢

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

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

[Quantity] > 0

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

可以根据您的应用程序适当地设置格式(我假设Yes/No )。

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

有货: iff([数量] = 0, "No", "Yes")

放入并创建新字段:In Stock

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

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

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

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

一个轻微的替代方案是:

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

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

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

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

注意:您也可以将 1 副标题为是,0 副标题为否。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM