使用 Required 属性可以指定字段中是否必须有值。如果该属性设为“是”,则在记录中输入数据时,必须在该字段或绑定到该字段的任何控件中输入数值,而且该数值不能为 Null。例如,需要确保“姓氏”控件对每一条记录都有一个值。如果允许在字段中出现 Null 值时,不仅需要将 Required 属性设为“否”,而且如果已经对 ValidationRule 属性进行了设置,还必须明确地指出“validationrule 或输入了 Null 值”。
注意 Required 属性不能应用于“自动编号”字段。
Required 属性使用以下设置:
设置 | Visual Basic | 说明 |
---|---|---|
是 | True (-1) | 该字段需要值。 |
否 | False (0) | (默认值)该字段不需要值。 |
可以使用表的属性表或 Visual Basic 来设置所有表字段的这一属性(“自动编号”类型字段除外)。
注意 若要在 Visual Basic 中访问某一字段的 Required 属性,请使用 DAO Required 属性。
Required 属性由 Microsoft Jet 数据库引擎在表级别实施。如果将该属性设为“是”,该字段在获得焦点时,必须接收数值或已经包含了一个数值。获得焦点的情况包括:用户在表(或基于该表的窗体或数据表)中输入数据时、使用宏或 Visual Basic 为字段设置值时,或将数据导入表时。
可以使用 Required 及 AllowZeroLength 属性区分不存在信息(在字段中保存为零长度字符串(" ") )与可能存在但信息未知这两种情况(在字段中保存为 Null 值)。如果将 AllowZeroLength 属性设为“是”,无论 Required 属性如何设置,零长度字符串都是字段中的有效输入项。如果将 Required 设为“是”,而 AllowZeroLength 设为“否”,则必须在字段中输入值,而且零长度字符串不是有效输入项。
提示 当数据输入到字段时,可以使用输入掩码来区分 Null 值与零长度字符串的显示。例如,输入零长度字符串后,可以显示字符串“无”。
下表显示的是 Required 与 AllowZeroLength 属性设置组合所得的结果。
Required | AllowZeroLength | 用户的操作 | 保存的值 |
---|---|---|---|
否 | 否 | 按 Enter 按空格键 输入零长度字符串 |
Null Null (不允许) |
否 | 是 | 按 Enter 按空格键 输入零长度字符串 |
Null Null 零长度字符串 |
是 | 否 | 按 Enter 按空格键 输入零长度字符串 |
(不允许) (不允许) (不允许) |
是 | 是 | 按 Enter 按空格键 输入零长度字符串 |
(不允许) 零长度字符串 零长度字符串 |
如果将表中一个已包含数据的字段其 Required 属性设为“是”,Microsoft Access 将给予一个可选项以检查在该字段的所有存在记录中是否含有值。不过,如果现有记录的该字段中含有 Null 值,仍然可以要求在所有新记录的字段中必须输入值。
注意 若要在不允许 Null 值的关联表之间实施关系,请将相关表中外键字段的 Required 属性设为“是”。这样 Jet 数据库引擎将确保在子表中创建记录之前,父表中一定有相关记录。如果外键字段是子表主键的一部分,这就没必要设置该属性,因为主键字段不允许包含 Null 值。