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

MS Access: Count Number of Fields Per Record That Contain Specific Value And Use This Count As Default Value of Another Field Within The Same Record

用户输入序列号,然后填写错误名称的数据。每个序列号最多可以有 3 个错误名称。然后将错误名称分类为 A 类或 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,但没有任何效果。

您可以计算总和:

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;

我不确定你想用值做什么,但是这让你计算它们应该是什么。