我想改变我的客人表,添加一个年龄限制为18岁的列。我已经尝试了以下方法。
ALTER TABLE GUEST
ADD COLUMN age int CHECK (>=18)
你可以执行2条语句来添加列,然后再执行 CHECK
约束,就像在这个测试过的Access 2010样本中一样......。
Dim strSql As String
strSql = "ALTER TABLE [GUEST] ADD COLUMN age int;"
CurrentProject.Connection.Execute strSql
strSql = "ALTER TABLE [GUEST] ADD CONSTRAINT CheckAge CHECK (age >= 18);"
CurrentProject.Connection.Execute strSql
注意添加一个 CHECK
约束必须使用ADO(ActiveX Data Objects)或其他基于OleDb的方法来完成。 那 ADD CONSTRAINT
如果使用DAO(数据访问对象)方法,上述语句将失败。
从 CurrentProject.Connection
是成功的,因为那是一个ADO对象,并且利用了OleDb ...。
? CurrentProject.Connection.Provider
Microsoft.ACE.OLEDB.12.0
最后,虽然 CHECK
约束方法可以工作,其他读者可能会发现一个新的方法。验证规则 以便更方便地指定该>=18数据要求。