In Microsoft Access, the validation rules for both the field and table record are enforced at the engine level. The validation rules are enforced whenever you add or edit data, whether through a table's datasheet, a form based on the table, an append query, an update query, Visual Basic or Access Basic code, or by importing data from another table.
The expression for a field validation rule cannot refer to other fields or
controls, user-defined functions, Microsoft Access domain functions, aggregate functions, or the
CurrentUser() or
Eval() functions. The expression for a record validation rule cannot contain user-defined functions, Microsoft Access domain functions, aggregate functions, or references to forms, queries, or tables. Expressions can include only references to fields in the table.
If you try to create a field validation rule that includes a reference to another field, you receive the following error message:
Invalid SQL syntax - cannot use multiple columns in a column level CHECK constraint.
If you use a function in your validation rule, you receive the following error message:
Unknown function 'Function Name' in validation expression or default value on 'Table Name.Field Name'.
The table below identifies the interactions between the field and form
validation rules:
Field Validation
Rule Defined Form Validation
(Table Level) Rule Defined Behavior
----------------------------------------------------------------------
No No No validation is performed
at any level.
Yes No Validation is enforced
regardless of method used
to insert data.
No Yes Validation enforced at form level
only. User can bypass the form
validation rule when editing data
outside the form.
Yes Yes When editing data in a form, form
validation rules are enforced
first. If the value passes form
validation, the field validation
rule is enforced. For data to
be accepted, it must pass
both rules.