如何删除“验证规则”在MS ACCESS中查询一个列

本文关键字:ACCESS MS 查询 一个 验证规则 删除 何删除 验证 规则 | 更新日期: 2023-09-27 17:53:24

我在MS ACCESS中有一个客户文件,它包含许多表。

:

在表(X)中,列(Y)存在"=1 Or 2"的验证规则。如果可能的话,我想将其更改为"=1 OR 2 OR 3 OR 4",这是一个字节列。否则,我想完全删除该列的验证规则。我使用c#,我需要一个查询这样做.......

如何删除“验证规则”在MS ACCESS中查询一个列

Access 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));

您仍然需要放弃现有的验证规则。如果不可行,可以创建一个结构与旧表相同的新表,添加检查约束,最后将旧表中的数据加载到新表中。