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