【问题标题】:IIf And statement with multiple conditions具有多个条件的 IIf And 语句
【发布时间】:2021-12-19 00:01:48
【问题描述】:

我对 Access 非常陌生。 我想创建一个具有两个条件以导致“1”或“0”的列。

这两个条件是:

如果会话 ID 小于 154 并且他们的平均水平是 大于当前级别,分配“1”,否则分配“0”。

如果会话 ID 等于或大于 154 并且考试平均值 大于 2,则赋值为“1”,否则为“0”。

我写的语法如下,但它不起作用 - 为每个单元格返回 0。

IIf([Session_ID]<154 And [Level_Avg]>[Current_Lvl],"1","0") And IIf([Session_ID]>=154 And [Exam_Avg]>=2,"1","0")

有人可以看看吗?任何 cmets 都非常感谢。谢谢!

【问题讨论】:

  • 去掉 1 和 0 周围的引号。
  • 1 和 0 左右的引号与问题无关,但肯定不需要。编辑问题以将示例原始数据和所需输出显示为文本表。你的表达毫无意义。
  • 可能应该是IIf(([Session_ID]&lt;154 And [Level_Avg]&gt;[Current_Lvl]) Or ([Session_ID]&gt;=154 And [Exam_Avg]&gt;=2), 1, 0)
  • 非常感谢这里的所有 cmets。我意识到我的表达与条件无关!我按照建议更正了命令并且它有效。另外,非常感谢编辑我的原始帖子!

标签: ms-access multiple-conditions iif


【解决方案1】:

您很可能需要在两个条件之间使用 OR 运算符,因为任何一个都应该返回 1 选项,否则返回 0。

IIf(([Session_ID]<154 And [Level_Avg]>[Current_Lvl]) Or ([Session_ID]>=154 And [Exam_Avg]>=2), 1, 0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 2014-10-20
    相关资源
    最近更新 更多