根据其他字段值设置字段值

set field value based on other fields values

我正在尝试在 Access 2010 中创建验证规则以将 true/false 字段的值设置为 True...

更多细节,我有一个 table 有几个 yes/no 字段和一个 true/false 字段,我希望 true/false 字段只有在所有yes/no 字段是。

我试图让它在更新字段后自动设置,而无需用户更改...

验证规则不能改变字段的值。它只能表明该值是否应被视为有效。

如果您想要一个自动更新自身以指示其他字段是否全部为 True 的字段,请考虑计算字段或数据宏。由于您使用的是 Access 2010,因此支持这两个选项。

但是,更简单的方法是决定您的 table 设计中不需要该汇总字段。您可以在需要查看时使用查询来派生它。

例如,有两个 Yes/No 字段 Fld1Fld2,一个简单的字段表达式将告诉您两者是否是的...

SELECT Fld1, Fld2, (Fld1=True AND Fld2=True) AS all_are_true

这会将 True 显示为 -1,将 False 显示为 0。如果您希望查询将这些值显示为 True 或 False,您可以使用 Format 表达式 ...

SELECT Fld1, Fld2, Format((Fld1=True AND Fld2=True), 'True/False') AS all_are_true

该计算对于数据库引擎来说是一个微不足道的工作负载。每次 运行 查询时计算字段表达式确保 all_are_true 反映对其他字段的最新更改。