3.3.3 设置数据验证规则
在表中添加某些数据时,为了防止出现无效数据,通常需要将数据限制在一个指定的范围内。当用户输入范围以外的数据时,及时向用户发出提示信息,并要求更正数据,从而确保数据的有效性。字段的“验证规则”和“验证文本”两个属性专门用于完成这个任务。
验证规则是一个表达式,用于检查用户输入的数据是否符合表达式中指定的条件。如果符合条件,则表达式返回True,此时就可以将用户输入的内容添加到表中;否则表达式返回False,说明输入的数据不符合条件,禁止用户将数据输入到表中,并将错误原因和正确输入方式告知用户,以便用户修正不符合条件的数据。
验证规则表达式的复杂程度取决于验证规则的复杂程度。条件越苛刻的验证规则,构建它的表达式就会越复杂。以下几种数据类型的字段不支持验证规则:自动编号、OLE对象、附件、同步复制ID。
提示:表达式的相关内容将在第10章进行介绍。
可以使用以下两种方法设置验证规则。
● 在数据表视图中,单击要设置验证规则的字段所在列中的任意单元格,然后单击功能区“表格工具|字段”选项卡中的“验证”下拉按钮,在弹出的下拉列表中选择“字段验证规则”命令,如图3-37所示。在打开的“表达式生成器”对话框中进行设置,该对话框与3.2.11小节介绍“计算”数据类型时所使用的“表达式生成器”对话框相同。
图3-37 选择“字段验证规则”命令
● 在设计视图中,单击要设置验证规则的字段所在行中的任意单元格,然后在下方的属性窗格中单击“验证规则”属性右侧的文本框,在其中输入验证规则表达式。单击文本框右侧的按钮,也将打开“表达式生成器”对话框。
案例3-12 限制在“性别”字段中只能输入“男”或“女”
在“性别”字段中只能输入“男”或“女”,当输入其他内容时,显示“只能输入男或女”,实现该功能的操作步骤如下。
(1)在设计视图中打开需要设置的表,单击“性别”字段所在行中的任意单元格,然后在下方的属性窗格中进行以下两项设置。
● 单击“验证规则”属性右侧的文本框,然后输入如图3-38所示的验证规则表达式。
图3-38 设置“性别”字段的验证规则
● 单击“验证文本”属性右侧的文本框,然后输入“只能输入男或女”。
(2)保存表设计,然后切换到数据表视图,在“性别”字段中输入的不是“男”或“女”时,将会弹出如图3-39所示的对话框,只有更正错误后,才能将数据输入到单元格中。
图3-39 输入不满足验证规则的内容将显示提示信息
案例3-13 限制在“出生日期”字段中只能输入不超过当天的日期
在“出生日期”字段中只能输入不超过当天的日期,当输入不符合要求的日期时,显示“出生日期不能晚于今天”,实现该功能的操作步骤如下。
(1)在数据表视图中打开需要设置的表,单击“出生日期”字段所在列中的任意单元格。
(2)单击功能区“表格工具|字段”选项卡中的“验证”下拉按钮,在弹出的下拉列表中选择“字段验证规则”命令。
(3)打开“表达式生成器”对话框,在“表达式元素”列表框中选择“操作符”,然后在“表达式类别”列表框中选择“比较”,接着在“表达式值”列表框中双击“<=”符号,将其添加到上方的文本框中,如图3-40所示。
图3-40 将“<=”符号添加到表达式文本框中
(4)在“表达式元素”列表框中双击“函数”,然后在“表达式类别”列表框中选择“日期/时间”,接着在“表达式值”列表框中双击“Date”函数,将该函数添加到上方的文本框中,如图3-41所示。
图3-41 将内置函数添加到表达式文本框中
(5)单击“确定”按钮,关闭“表达式生成器”对话框。单击功能区“表格工具|字段”选项卡中的“验证”下拉按钮,在弹出的下拉列表中选择“字段验证消息”命令,在打开的对话框中输入“出生日期不能晚于今天”,如图3-42所示。
图3-42 设置不满足验证规则时显示的信息
(6)单击“确定”按钮,然后在“出生日期”字段中输入一个晚于当天的日期,按Enter键后将显示如图3-43所示的提示信息。只有输入不超过当天的日期,才能将数据添加到单元格中。
图3-43 提示禁止输入不满足验证规则的内容