访问SQL不能用于添加,删或更改验证规则。这只能通过DAO TableDef完成。
如果你在Access中使用VBA,你可以这样做来创建你的验证规则。
CurrentDb.TableDefs(“X”).Fields(“Y”).ValidationRule = “IN (1,2,3,4)”
偶用IN (1,2,3,4)代替1 OR 2 OR 3 OR 4,但无论是应工作。
也许你可以使用Microsoft.Office.Interop.Access来从c#做同样的事情。
另一种方法是使用Access SQL创建检查约束。检查约束与验证规则不同,但可用于实现相同的目标。
ALTER TABLE X ADD CONSTRAINT one_to_four CHECK (Y IN (1,2,3,4));
您仍然需要放弃现有的验证规则。如果这样做不可行,可以创建一个与旧的表具有相同结构的新表,添加检查约束,并最终将数据从旧表加载到新表。