MS Access:计算包含特定值的每个记录的字段数,并将此计数用作同一记录中另一个字段的默认值

时间:2018-08-09 09:50:04

标签: sql ms-access if-statement ms-access-2016 iif

用户导入序列号,然后他们将填写“错误名称”的数据。每个序列号最多可以有3个错误名称。然后将错误名称分类为Type A或Type B。

然后是SumOfErrorTypeA字段和SumOfErrorTypeB字段。用户手动输入每条记录的每种错误类型的总和,但我们的团队需要使其自动执行。我尝试了IIF,Dcounts,VBA数学,但无济于事...有办法吗?谢谢!

Record SerialNumber Error1Name Error1Type Error2Name Error2Type Error3Name Error3Type SumOfErrorTypeA SumOfErrorTypeB
1      111111111    Error1     Type B     Error2     Type A     Error3     Type A     2               1
2      222222222    Error1     Type A     Error2     Type A                           2               0
3      333333333    Error1     Type A                                                 1               0
4      444444444    No error                                                          0               0 

我尝试了IIF,DCounts,VBA,但没有任何效果。

1 个答案:

答案 0 :(得分:1)

您可以计算总和:

select t.*,
       (iif(Error1Type = "A", 1, 0) +
        iif(Error2Type = "A", 1, 0) +
        iif(Error3Type = "A", 1, 0)
       ) as num_a,
       (iif(Error1Type = "B", 1, 0) +
        iif(Error2Type = "B", 1, 0) +
        iif(Error3Type = "B", 1, 0)
       ) as num_b
from t;

我不确定要使用值做什么,但这可以让您计算值应该是什么。