我有两列,已注册,总体而言。整个列中的文本通过测试另一列来确定。
我在表属性验证规则中有这个。
iif([registered] = false, [overall] = "T", [overall] = "F")
当我运行它时,整个列仍然是空的,我必须手动输入正确的文本(T或F)。有没有办法自动填写列?
答案 0 :(得分:2)
验证规则定义可以存储的数据值。但是,验证规则不能更改存储的值。所以你需要别的东西。
根据您的说明,我不确定为什么[overall]
必须是表格字段。您可以在查询中将其作为字段表达式。
SELECT
registered,
IIf([registered] = False, "T", "F") AS overall
FROM YourTable;
在您需要的任何地方使用查询[overall]
。
如果您需要[overall]
作为实际的表格字段,并且您的Access版本是> = 2010,并且您可以使用ACCDB数据库格式,[overall]
可能是calculated field }。但是,这意味着您的数据库只能由Access> = 2010使用,或者使用合适版本的ACE驱动程序从其他应用程序使用。
答案 1 :(得分:0)
将整个字段的数据源设置为:
=iif([registered] = false, "T", "F")
如果需要将整个字段存储在数据库中。处理已注册的AfterUpdate事件:
Sub Registered_AfterUpdate()
Me.Overall = Iif([registered] = false, "T", "F")
End Sub