只有在从 ADO 执行时,Access DDL 才支持检查约束。
这是一个立即窗口示例...
strSql = "ALTER TABLE Employee " & vbCrLf & _
"ADD CONSTRAINT CheckSalary CHECK (Salary > 0);"
? strSql
ALTER TABLE Employee
ADD CONSTRAINT CheckSalary CHECK (Salary > 0);
' CurrentDb is a DAO object, so this will throw
' error 3289, "Syntax error in CONSTRAINT clause."
CurrentDb.Execute strSql
' CurrentProject.Connection is an ADO object,
' so this works ...
CurrentProject.Connection.Execute strSql
请注意,如果您尝试从查询设计器执行该语句,它也会失败,因为查询设计器使用 DAO。
因此,CHECK
如果需要,可以设置约束,但设置验证规则Salary
可能更容易。无论哪种方式,您可能还希望从Salary
.