使用 Required 属性可以指定字段中是否必须有值。如果该属性设为“是”,则在记录中输入数据时,必须在该字段或绑定到该字段的任何控件中输入数值,而且该数值不能为 Null。例如,需要确保“姓氏”控件对每一条记录都有一个值。如果允许在字段中出现 Null 值时,不仅需要将 Required 属性设为“否”,而且如果已经对 ValidationRule 属性进行了设置,还必须明确地指出“validationrule 或输入了 Null 值”。
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 值。